Login
Últimos assuntos
» [GMK DISPONÍVEL]#CoJ - Complete o Jogopor Isaque Onix Hoje à(s) 3:45 pm
» [Resolvido] Dúvida simples sobre Áudio
por Gonçalves Hoje à(s) 2:46 pm
» usando game maker em trabalho universitário
por baraodopirapora Hoje à(s) 2:33 pm
» [Duvida] carregar textura de obj d3d
por willcraft2 Hoje à(s) 2:12 pm
» By a whisker - Nova versão
por sticks games Hoje à(s) 1:46 pm
» Equipe em Pygame & Python
por rangelmaker Hoje à(s) 12:37 pm
» Erro na execução de jogos
por Isaque Onix Hoje à(s) 11:59 am
» R2DGames
por migueltopsp Hoje à(s) 8:28 am
» Ajuda com View.
por willcraft2 Hoje à(s) 1:18 am
» Repostando: Preciso de uma equipe
por henckel.alves Hoje à(s) 12:46 am
Facebook
ADS
ADS
[Matemática] Distância entre dois pontos no espaço 2D e 3D
:: Outros :: Assuntos Diversos
Página 1 de 1 • Compartilhe •
[Matemática] Distância entre dois pontos no espaço 2D e 3D
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
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 Dez 01, 2011 6:43 pm, editado 1 vez(es)

leandrohackerx- Membro

- Alerta:




Número de Mensagens: 345
Idade: 17
Data de inscrição: 13/05/2010
Reputação: 1
Prêmios
: 0
: 0
: 0
Re: [Matemática] Distância entre dois pontos no espaço 2D e 3D
Ótimo tutorial
.
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!
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!
Re: [Matemática] Distância entre dois pontos no espaço 2D e 3D
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
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
Re: [Matemática] Distância entre dois pontos no espaço 2D e 3D
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!
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!
Recomendo:
Lista de Tutoriais
Manual do Iniciante
Manual completo das colisões
Criando um chat
Clique na imagem abaixo

- Aprendizes (0/3):
- Nenhum
Re: [Matemática] Distância entre dois pontos no espaço 2D e 3D
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.
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.

leandrohackerx- Membro

- Alerta:




Número de Mensagens: 345
Idade: 17
Data de inscrição: 13/05/2010
Reputação: 1
Prêmios
: 0
: 0
: 0
Re: [Matemática] Distância entre dois pontos no espaço 2D e 3D
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- Membro

- Ranking:

Alerta:



Número de Mensagens: 234
Idade: 18
Data de inscrição: 19/02/2009
Notas recebidas: B
Reputação: 7
Prêmios
: 0
: 0
: 0
Re: [Matemática] Distância entre dois pontos no espaço 2D e 3D
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
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- Membro

- Alerta:




Número de Mensagens: 340
Data de inscrição: 14/01/2010
Reputação: 1
Re: [Matemática] Distância entre dois pontos no espaço 2D e 3D
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/
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/

brendan640- Membro

- Alerta:




Número de Mensagens: 690
Data de inscrição: 29/01/2011
Reputação: 4
Prêmios
: 0
: 0
: 0
Re: [Matemática] Distância entre dois pontos no espaço 2D e 3D
Essa fórmula é usada na Álgebra Linear para calcular o módulo de um vetor.
Muito bom o tuto,parabéns!
Muito bom o tuto,parabéns!
Tópicos similares» Distância entre a antena e o decoder
» Perspectiva com um e dois pontos de fuga.
» Espaço Comercial
» PES 2012' permite controlar dois jogadores simultaneamente
» TECNOLOGIAS NA EDUCAÇÃO À DISTÂNCIA (José Manuel Moran)
» Perspectiva com um e dois pontos de fuga.
» Espaço Comercial
» PES 2012' permite controlar dois jogadores simultaneamente
» TECNOLOGIAS NA EDUCAÇÃO À DISTÂNCIA (José Manuel Moran)
:: Outros :: Assuntos Diversos
Página 1 de 1
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum
Início







