Login

Esqueci minha senha

Últimos assuntos
» [PROJETO]Elite Anti Bomba
por Isaque Onix Hoje à(s) 18:03

» [SungazerTV] Criando Movimentos Básicos - #1
por sungazer Hoje à(s) 17:36

» Esse é seu primeiro contato com programação de jogos?
por hygorrasec Hoje à(s) 16:12

» Mega soccer lite
por Isquilo_Roedor Hoje à(s) 13:38

» Bloco invisivel
por caption Hoje à(s) 12:38

» Script sem argumento
por chicoweb Hoje à(s) 11:40

» função para desenhar sprites
por Thyago Hoje à(s) 11:26

» Cover MPB Testando Equipamento - João de Barro
por LeandroDaher Hoje à(s) 10:15

» [tuto-dica] Importar modelo do Blender com UV MAP
por theguitarmester Hoje à(s) 09:39

» [Concurso Mensal #02] - Prêmio de R$ 200 na Steam
por WellingtonBecker Ontem à(s) 22:05

» [chicoweb] Galeria de Arte
por chicoweb Ontem à(s) 15:14

» Ajuste de Rotação de Sprite
por Zero. Ontem à(s) 15:05

» [TUTORIAL] Programação GML 01 - Funções / Scripts
por fredcobain Ontem à(s) 12:37

» [Tutorial] Como fazer um sistema de bau simples
por fredcobain Ontem à(s) 12:28

» [Tutorial] Google Play Conquistas - Parte 2
por fredcobain Ontem à(s) 12:22

» Problema com o GMS/Android
por GabrielXavier Ontem à(s) 11:24

» alguem me ajuda com esse codigo que está me irrita
por Willy Ontem à(s) 09:54

» VPS Windows Gratuito?
por Rodrigo Santiago Ontem à(s) 09:32

» Video Aula de Pixelart
por Isaque Onix Ontem à(s) 00:43

» Como fazer um certo tipo de gif?
por Dotted Chaos Qua 27 Maio 2015, 23:17

» Site 100% html5, funciona?Como colocar auto escala
por icarodantas123 Qua 27 Maio 2015, 22:57

» [jogo]Unitdroid
por tomxope Qua 27 Maio 2015, 20:22

» [Resolvido] Oi sou nova aqui e preciso de ajuda
por Tikal Qua 27 Maio 2015, 19:13

» [Thyago] Mega soccer
por Thyago Qua 27 Maio 2015, 19:09

» Como fazer um tipo de checador de update?
por Isquilo_Roedor Qua 27 Maio 2015, 13:06

» [Resolvido][ajuda] site/div/css
por Isaque Onix Qua 27 Maio 2015, 03:30

» problema com posição do objeto na room
por pedromarkes Ter 26 Maio 2015, 21:18

» Transformar ângulo em hspeed e vspeed
por Jessezyn Ter 26 Maio 2015, 21:14

» Ajuda sistema de pet
por Isaque Onix Ter 26 Maio 2015, 17:29

» dúvida sobre gráfico 3d
por pedromarkes Ter 26 Maio 2015, 15:18

» [Modelos]Animação de Pokémons
por Rodrigo Santiago Ter 26 Maio 2015, 10:41

» Massive multiplayer online - parte 3
por Lupptyr Ter 26 Maio 2015, 00:31

» Quem ainda gosta de arkanoid,breakout???
por Black Studio Seg 25 Maio 2015, 16:07

» Lag no som
por J. Marlon Seg 25 Maio 2015, 15:18

» [Duvida] audio
por Gonzo Seg 25 Maio 2015, 11:37

» Pra que serve esses dados (moedas,jams)
por theguitarmester Seg 25 Maio 2015, 07:53

» Reverse Flappy 100%
por wilander Dom 24 Maio 2015, 23:35

» multi toch do game maker studio
por Willy Dom 24 Maio 2015, 22:40

» GMS: Background Embaçado
por gabrielsch Dom 24 Maio 2015, 18:26

» ajuda com rotacionar objeto e física
por Duca Dom 24 Maio 2015, 17:44

» Sistema de desenvolvimento de apps, jogos e etc
por Gonzo Dom 24 Maio 2015, 16:02

» Projeto de química
por PedroX Dom 24 Maio 2015, 11:19

» [AJUDA] Mudança de sprites no fim de uma animação
por Thyago Dom 24 Maio 2015, 05:14

» Ajuda com Criação
por moisesdp Dom 24 Maio 2015, 00:03

» Mary-A endless cursed bloody night
por Dotted Chaos Sab 23 Maio 2015, 20:28

» Comandar player movendo o tablet
por WellingtonBecker Sab 23 Maio 2015, 18:24

» [Jogo]War Balls
por guamaral Sab 23 Maio 2015, 15:19

» IA - Desviar/Bloquear Projéteis
por Duca Sab 23 Maio 2015, 11:48

» Matemática para tower defense
por saim Sab 23 Maio 2015, 11:17

» [Off Topic] Pérolas GMBR
por Superbomber Sab 23 Maio 2015, 08:50

» [ajuda] pasta Temp
por Hyreos Sex 22 Maio 2015, 20:38

» [Super Engine] Tiro+Score online+Diversos sistemas
por guamaral Sex 22 Maio 2015, 15:40

» alguem compila para android um progeto para min?
por WellingtonBecker Qui 21 Maio 2015, 22:39

» [Resolvido]Duvida com função round
por Isquilo_Roedor Qui 21 Maio 2015, 20:11

» [Resolvido]problema com rotação em um objeto no modo 3d
por pedro marques Qui 21 Maio 2015, 18:28

» [DÚVIDA] Colisões
por macedoboka Qui 21 Maio 2015, 18:06

» Marcar objeto
por CRP-Max Qui 21 Maio 2015, 14:12

» Portfólio
por leocc Qui 21 Maio 2015, 13:26

» [Resolvido]Como fazer um tempo limite
por Isquilo_Roedor Qui 21 Maio 2015, 13:07

» Ângulo da Sprite de acordo com ângulo de colisão
por Rodrigo Santiago Qui 21 Maio 2015, 11:58

» Motor Fugitive [android]
por Duca Qua 20 Maio 2015, 22:28

» Tap Run [ Android ]
por willyruduit Qua 20 Maio 2015, 17:21

» AJUDA COM LOOP FOR
por Rodrigo Santiago Qua 20 Maio 2015, 06:34

» duvida
por Isaque Onix Ter 19 Maio 2015, 19:12

» adBuddiz no gamemaker
por ffsouza Ter 19 Maio 2015, 15:36

» [CM#01] I Wanna Be The Bean
por chicoweb Ter 19 Maio 2015, 00:50

» Dúvida com o joystick
por Black Studio Seg 18 Maio 2015, 22:51

» Areia? Fazer uma varinha que jorre areia e colida
por DS Santos Seg 18 Maio 2015, 22:47

» Importar jogo em GM8 e converter para Android
por guga Seg 18 Maio 2015, 20:57

» Editables pack das antigas 3D
por theguitarmester Seg 18 Maio 2015, 20:40

» [CM #02]MythHunters
por Black Studio Seg 18 Maio 2015, 19:42

» [Engine] Criptografia
por Superbomber Seg 18 Maio 2015, 14:43

» [Engine]Terreno Destrutivel Simples
por Zero. Seg 18 Maio 2015, 13:38

» [CM#2]Void
por Rodrigo Santiago Seg 18 Maio 2015, 12:56

» [Pergunta] Objetos no game make com bug
por matheusco Seg 18 Maio 2015, 09:35

» Spook.exe
por Isquilo_Roedor Seg 18 Maio 2015, 00:32

» [CM#02] Amalgam (BETA)
por RodrigoOak Dom 17 Maio 2015, 18:33

» [Jogo] Battle of Coins
por guamaral Dom 17 Maio 2015, 15:40

» Ninja Sukafu 2
por Lukbebalduke Dom 17 Maio 2015, 14:10

» [CM#2]The Other Side
por Gutorrock Dom 17 Maio 2015, 14:07

» Unwake (+video)
por Dotted Chaos Dom 17 Maio 2015, 14:05

» [CM#2]mirror,my mirror
por guamaral Dom 17 Maio 2015, 13:15

» Como fazer uma instancia seguir outro objeto
por Jessezyn Dom 17 Maio 2015, 12:54

» Uma super coisa está por vir [imagens] (+18)
por Markituh Dom 17 Maio 2015, 00:28

» [CM#2] The Other World
por matheusco Sab 16 Maio 2015, 18:16

» Livros... Sobre desenho
por Kabeção Sab 16 Maio 2015, 16:54

» [Tutorial] Google Play Conquistas - Parte 1
por DooMan Sab 16 Maio 2015, 15:32

» Animador
por Thyago Sex 15 Maio 2015, 16:15

» AJUDA COM UMA PESQUISA?
por polosam Sex 15 Maio 2015, 13:40

» Ajuda com Termo
por Dotted Chaos Qui 14 Maio 2015, 22:16

» Pontuem ou sigam o meu jogo
por jose rocha Qui 14 Maio 2015, 15:12

» Tem como colocar meu próprio banner HTML no app
por Isaque Onix Qui 14 Maio 2015, 13:49

» Como centralizar banner do AdMob
por alexandretops Qui 14 Maio 2015, 11:30

» Como gerar números aleatórios sem repetir?
por Isaque Onix Qui 14 Maio 2015, 02:16

» [Resolvido] Propagandas em Jogos Android
por willyruduit Qua 13 Maio 2015, 19:17

» [ANIMAÇÃO] Spyre
por Isaque Onix Qua 13 Maio 2015, 16:44

» problema com view
por Isaque Onix Qua 13 Maio 2015, 14:10

» Exportar para IOS utilizando Windows
por itarodrigo Qua 13 Maio 2015, 13:56

» Formando equipe fixa!!
por ruben.23 Qua 13 Maio 2015, 12:58


[Matemática] Distância entre dois pontos no espaço 2D e 3D

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Matemática] Distância entre dois pontos no espaço 2D e 3D

Mensagem por LeandroDaher em Ter 29 Nov 2011, 18:50

Aprendenda a pegar a distância entre dois pontos no espaço 2D e 3D neste tutorial original em inglês, traduzido para o protuguês com o Google Tradutor.

Distância entre dois pontos

A fórmula de distância, como o teorema de Pitágoras, pode ser usado para determinar a detecção de colisão com bastante facilidade.

Primeiro, você deve saber os pontos em que os objetos estão localizados.

Dizer um objeto é localizado em (x1, y1) e objeto 2 está localizado em (x2, y2). Tanto em um plano de 2 dimensões.



Agora devo esclarecer aqui que sqrt significa raiz quadrada. Não existe uma chave raiz quadrada no meu teclado , e na maioria das linguagens de programação é chamada sqrt ou sqr.

Ok agora a fórmula da distância é:

D = sqrt ((x2 - x1) ^ 2 + (y2 - y1) ^ 2)

Que se expandiu aparência:

D = sqrt ((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1))

Ao usar este, se D é 0 ou menos de uma distância de colisão set que precisamos, então há uma colisão.

Mas como poderíamos fazer isso em um mundo 3D, você pode estar se perguntando.

Bem, não quero saber mais, é quase o mesmo. Você leva seu pontos que estão localizados em:
(X1, y1) e (x2, y2)

Em seguida, basta adicionar os valores de z. Então, eles seriam localizados em:

(X1, y1, z1) e (x2, y2, z2)

E para obter isso em nossa equação, nós adicionamos o valor z2 z1 pegar o valor e da praça-lo.

Então, nossas fórmulas agora está assim:

D = sqrt ((x2 - x1) ^ 2 + (y2 - y1) ^ 2 + (z2 - z1) ^ 2)

Que quando expandido aparência:

D = sqrt ((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1) + (z2 - z1) * (z2 - z1))

E aí temos, podemos calcular a distância entre dois pontos no espaço 2D ou 3D.

Se você tiver alguma dúvida, por favor email mim em swiftless@gmail.com

Fonte [em inglês]: http://www.swiftless.com/tutorials/maths/distance_formula.html


Última edição por leandrohackerx em Qui 01 Dez 2011, 19:43, editado 1 vez(es)

LeandroDaher

Número de Mensagens: 356
Idade: 19
Data de inscrição: 13/05/2010
Reputação: 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Matemática] Distância entre dois pontos no espaço 2D e 3D

Mensagem por Alex FC em Ter 29 Nov 2011, 20:14

Ótimo tutorial Very Happy.

Quando migramos para uma linguagem mais robusta essa é uma das primeiras coisas que aprendemos. Até porque pode servir para detectar "colisões circulares" hehe.

Você explicou muito bem, só falta tornar o tópico mais chamativo, formatando ele melhor.

FLWS!

Alex FC

Ranking: Nota A
Número de Mensagens: 2494
Idade: 21
Data de inscrição: 20/12/2008
Notas recebidas: B A
Reputação: 165
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Matemática] Distância entre dois pontos no espaço 2D e 3D

Mensagem por Carlos L. em Ter 29 Nov 2011, 20:22

Já usei esse sistema uma vez para fazer uma seleção estilo windows.
O assunto faz parte da geometria analítica, e o nome do assunto e Distancia entre dois pontos.
http://www.colegioweb.com.br/matematica/distancia-entre-dois-pontos-.html

Carlos L.

Ranking: Nota C
Número de Mensagens: 270
Data de inscrição: 26/09/2010
Notas recebidas: C
Reputação: 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Matemática] Distância entre dois pontos no espaço 2D e 3D

Mensagem por PedroX em Ter 29 Nov 2011, 21:42

Boa ideia traduzir o tutorial.
Ficou bem explicado mesmo.

Só uma coisa, sqr eleva ao quadrado, sqrt extrai a raiz.
Adapta ai que fica melhor ainda.

Off: Na minha coleção de scripts matemáticos há essas fórmulas também.

Até mais!

PedroX

Ranking: Nota C
Número de Mensagens: 6026
Idade: 19
Data de inscrição: 26/07/2008
Notas recebidas: C+B
Reputação: 284
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [Matemática] Distância entre dois pontos no espaço 2D e 3D

Mensagem por LeandroDaher em Qua 30 Nov 2011, 18:19

Vlw Pedrø, eu vou editar o tópico.
eu gostei do script "7- Calculando a direção entre dois pontos.", eu uso o ArcTan2 da biblioteca Math no pascal (atan2 em C/C++ na Math.h), mas é so uma tecnica simplisinha q eu faço, é ruim mas funciona um pouco xD, o problema é q so da pra X e Y aew eu faço assim:

function PointObjectToObject(Objeto1, Objeto2: TLHXGLBaseObject): glFloat;
var
Angulo: glFloat;
begin
//Parametros: arctan2(Y, X);

Angulo:=ArcTan2(Objeto2.Position.X-Objeto1.Position.X, Objeto2.Position.Z-Objeto1.Position.Z) * 180 / PI;
Result:=Angulo;
end;

Como vc pode ver eu coloquei o X no lugar do Y e o Z no lugar do X pq só funcionou assim.
Vou tentar modificar seu script para o 3D e ver se funciona melhor.

LeandroDaher

Número de Mensagens: 356
Idade: 19
Data de inscrição: 13/05/2010
Reputação: 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Matemática] Distância entre dois pontos no espaço 2D e 3D

Mensagem por Hatzo enkiri em Qua 30 Nov 2011, 19:19

Bons scripts! Sabia que a circunferência é a distancia entre pontos? Bom mas sobre angulos em 3d são problemáticos. Na verdade surgem dois ângulos. Para vc entender melhor pesquise sobre vetores. Até mais!

Hatzo enkiri

Ranking: Nota B
Número de Mensagens: 226
Idade: 20
Data de inscrição: 19/02/2009
Notas recebidas: B
Reputação: 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Matemática] Distância entre dois pontos no espaço 2D e 3D

Mensagem por Da Galáxia em Qui 01 Dez 2011, 14:29

Isto em C++ é assim:

D = sqrt (pow(x2 - x1, 2) + pow(y2 - y1, 2) )

sqrt = função para achar a raiz quadrada
pow = função para potencia

Da Galáxia

Número de Mensagens: 348
Data de inscrição: 14/01/2010
Reputação: 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Matemática] Distância entre dois pontos no espaço 2D e 3D

Mensagem por GameMakerTutoriais em Sab 03 Dez 2011, 01:58

Legal demais cara, ficou bem direto. Tipo, a maior dúvida que eu tive era como inserir o ponto "z", achei um monte de tutorial enrolado, mas esse aí foi certinho, cara já fala direto: é assim e pá, pronto! E eu fazia uma gambiarrada danada...

Aquele site que tu me mostrou do objeto rotacionando, pow, perfeito! É exatamente isso que o cara usou, tu me falou pra abrir o javascript da página e era isso mesmo que tinha lá.

Flws, o/

GameMakerTutoriais

Número de Mensagens: 800
Data de inscrição: 29/01/2011
Reputação: 26
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Matemática] Distância entre dois pontos no espaço 2D e 3D

Mensagem por Mr.Brum em Sab 03 Dez 2011, 12:09

Essa fórmula é usada na Álgebra Linear para calcular o módulo de um vetor.
Muito bom o tuto,parabéns!

Mr.Brum

Ranking: Nota C
Número de Mensagens: 913
Idade: 23
Data de inscrição: 28/04/2011
Notas recebidas: D + D + C + C + D + B
Reputação: 41
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://mrbrumgames.blogspot.com/

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum