Login

Esqueci minha senha

Últimos assuntos
» Ordenar variavel em ordem decrescente
por Kodained Ontem à(s) 21:09

» Índice de Aulas e Tutoriais do DHarrison
por dharrison Qui 27 Ago 2015, 21:22

» colisão de queda após outra colisão dando problema
por manobrother Qui 27 Ago 2015, 13:51

» Crio Trilha Sonora para Games!
por Isaias Malafaia Qui 27 Ago 2015, 13:50

» Problema com Colisão
por The_Game Qui 27 Ago 2015, 12:30

» Quem quer Uma Engine, e de Quê?
por theguitarmester Qui 27 Ago 2015, 09:22

» Migração do fórum para uma nova plataforma
por Willy Qua 26 Ago 2015, 23:27

» Adaptar telas android
por paulovmdutra Qua 26 Ago 2015, 15:53

» [RESOLV]Como adicionar 2 objetos na mesma posição?
por Bhryenno Kelvyn Carlson Qua 26 Ago 2015, 11:38

» som no android
por Ronaldo Rodrigues Qua 26 Ago 2015, 04:07

» side scrolling com touch control
por theguitarmester Ter 25 Ago 2015, 21:39

» Sistema de porta!!!
por theguitarmester Ter 25 Ago 2015, 21:29

» Deck of War
por Kodained Seg 24 Ago 2015, 21:48

» Venda de objetos em Inventário - Multiplicado
por AG Hydra Seg 24 Ago 2015, 18:33

» Atirar na direção certa
por theguitarmester Seg 24 Ago 2015, 09:03

» Western Duels
por theguitarmester Seg 24 Ago 2015, 07:47

» Jogos para Android e Windows Phone
por Ronaldo Rodrigues Seg 24 Ago 2015, 03:22

» Problemas na compilação android
por Zero. Dom 23 Ago 2015, 23:43

» Simbora Cambada! #Partiu nova GMBR!
por Misa Sab 22 Ago 2015, 22:40

» Dúvida sobre strings, lendo txt
por Pai véi Sab 22 Ago 2015, 20:31

» Venha fazer Parte.
por rhenandias Sab 22 Ago 2015, 19:25

» Como estabilizar um som
por Isquilo_Roedor Sab 22 Ago 2015, 19:03

» Janela Modal
por Pai véi Sab 22 Ago 2015, 09:23

» Sobre instance Creation Code
por Pai véi Sab 22 Ago 2015, 08:39

» Streaming de desenvolvimento [24h seguidas]
por Lukbebalduke Sex 21 Ago 2015, 22:09

» LudumDare #33
por WellingtonBecker Sex 21 Ago 2015, 21:17

» Como fazer um temporizador
por Isquilo_Roedor Sex 21 Ago 2015, 19:02

» Availação em video, o que acham galera(video3)
por JoaoVanBlizzard Sex 21 Ago 2015, 17:31

» GMS sempre salva projeto ao compilar?
por Pai véi Sex 21 Ago 2015, 12:32

» Tipo de Draw que dê melhor fps...
por Pai véi Sex 21 Ago 2015, 12:25

» Banco de Dados online fácil de configurar
por Pai véi Sex 21 Ago 2015, 11:47

» Ajuda Barra de Caracteres e check
por Ian Bastos Qui 20 Ago 2015, 14:10

» Banido do chat sem motivo aparente
por Willy Qua 19 Ago 2015, 20:51

» Sistema de pulo!!!
por Adriel Qua 19 Ago 2015, 20:49

» Parou porquê?
por WellingtonBecker Qua 19 Ago 2015, 20:18

» Como centralizar texto de Show_Message?
por Gonçalves Qua 19 Ago 2015, 20:12

» Ficou estranho esse efeito na terra?
por Adriel Qua 19 Ago 2015, 20:08

» Atualização de aplicativos
por Zero. Qua 19 Ago 2015, 16:11

» Você consegue decifrar o que é isso?
por Mateus O de Andrade Qua 19 Ago 2015, 15:48

» Texto centralizado em sprite 64x64
por Vandson Fernandes Qua 19 Ago 2015, 14:00

» [Tutorial] Um Único Script para Todos Diálogos do Jogo
por dharrison Ter 18 Ago 2015, 22:12

» VIDEO AULAS - Plataforma - Recriando Super Mario
por Adriel Ter 18 Ago 2015, 20:44

» Ajuda deixar room maior
por Stickman Ter 18 Ago 2015, 15:56

» OST - Rain From The Past (Para Main Themes)
por Jessezyn Seg 17 Ago 2015, 23:00

» Ideias pra fazer um scroolbar num menu dropdown
por DJM_JM Seg 17 Ago 2015, 21:44

» Função "and" em D&D!
por DVictorPS Seg 17 Ago 2015, 19:35

» Video-Testando Modelos Chapolin
por JoaoVanBlizzard Seg 17 Ago 2015, 15:48

» Infected World Alpha 1.5.2
por DVictorPS Seg 17 Ago 2015, 15:26

» #DGM Aula 01 - Views
por victor13. Seg 17 Ago 2015, 00:16

» Algum compositor de músicas 16bit?
por Gonzo Dom 16 Ago 2015, 23:57

» Alguém sabe as dimensões de um galaxy s5?
por vitorfernandes13 Dom 16 Ago 2015, 20:06

» Dúvida sobre objetos e comandos
por Raph0512 Dom 16 Ago 2015, 19:33

» [Tutorial] Como fazer Pixel Art de Armas
por WellingtonBecker Dom 16 Ago 2015, 13:08

» Conquer The Kingdom
por DVictorPS Dom 16 Ago 2015, 12:13

» [Ajuda] Bug ds_list
por Witen Dom 16 Ago 2015, 08:27

» Muito demorado para entrar no Fórum.
por DesignerRamon Sab 15 Ago 2015, 17:28

» [Resolvido]Objeto não quer mais soltar do MOUSE :"(
por Lucas Lima Sab 15 Ago 2015, 16:50

» câmera seguir player com touch control android
por Lighter Sab 15 Ago 2015, 15:05

» Apk não roda no celular
por xLuiZzz Sab 15 Ago 2015, 12:10

» [Resolvido]Ajuda com sistema de armas!
por DVictorPS Sab 15 Ago 2015, 10:30

» Minha galeria (fan arts)
por AG Hydra Sab 15 Ago 2015, 02:05

» BY A WHISKER [AVALIAÇÃO EM VÍDEO]
por Stickman Sex 14 Ago 2015, 21:40

» [Engine] Sistema Anti Cheat
por mleoni Sex 14 Ago 2015, 13:45

» [Resolvido]Dúvida no HEALTHBAR
por Lucas Lima Sex 14 Ago 2015, 00:35

» Fazendo um texto aparecer letra por letra
por Raph0512 Qui 13 Ago 2015, 18:50

» Planilhas de um arquivo .xlsx em ds_map
por chicoweb Qui 13 Ago 2015, 15:25

» Windows7 vs Windows10
por Gonzo Qui 13 Ago 2015, 14:09

» [AJUDA] Problema com colisoes na grid
por macedoboka Qui 13 Ago 2015, 02:59

» Genesis
por Thomaz Qua 12 Ago 2015, 16:51

» Como fazer bala sair do lado certo da arma?
por Stickman Qua 12 Ago 2015, 00:33

» [Exemplo] Movimento em Grid
por macedoboka Qua 12 Ago 2015, 00:12

» EscoraBall Pro
por theguitarmester Ter 11 Ago 2015, 22:33

» Desenvolvimento de games palestras online gratis
por rickelme.dias Ter 11 Ago 2015, 20:15

» Como fazer a arma virar junto com o personagem?
por Adriel Ter 11 Ago 2015, 20:01

» problemas com a porta
por RenanRP Ter 11 Ago 2015, 19:46

» Sugestão
por Witen Ter 11 Ago 2015, 14:38

» [GMBR Jam #03] - Resultados
por DesignerRamon Ter 11 Ago 2015, 11:53

» Seja um Avaliador!
por Willy Ter 11 Ago 2015, 00:00

» Outros Forum?
por Riccardoric Seg 10 Ago 2015, 11:29

» [Resolvido]Random sempre se repete ao iniciar jogo
por Vandson Fernandes Dom 09 Ago 2015, 15:37

» Pequeno questionario.
por AxeInLine Dom 09 Ago 2015, 11:37

» poderiam testar um executável ?
por junior rodrigues Sab 08 Ago 2015, 19:59

» [AJUDA] engine
por Gonzo Sex 07 Ago 2015, 22:18

» Atirar somente quando estiver na reta
por LightSpeedy Sex 07 Ago 2015, 16:46

» [ajuda]Pinceis
por Isaque Onix Sex 07 Ago 2015, 16:12

» Hunter games Alpha 1.0.0
por junior rodrigues Sex 07 Ago 2015, 12:51

» Curso de Arte
por chicoweb Sex 07 Ago 2015, 11:14

» RESOLVIDO ColetarObjetoParaComprarDeterminadaCoisa
por Lucas Lima Sex 07 Ago 2015, 01:58

» Problema no Fórum/site
por chicoweb Sex 07 Ago 2015, 00:42

» Checar instância mais perto do mesmo objeto
por pedromenzani Qui 06 Ago 2015, 20:52

» Criar um jogo Multiplayer online com Hamachi?
por AG Hydra Qui 06 Ago 2015, 17:51

» Problema com surface
por Isaque Onix Qui 06 Ago 2015, 12:50

» [Apresentação] JFastGame
por Rodrigo Santiago Qui 06 Ago 2015, 11:57

» [Tuto]Instalando e configurando o android para gms
por zedthunder Qua 05 Ago 2015, 23:08

» Sons em ordem predeterminada
por zedthunder Qua 05 Ago 2015, 19:10

» Projeto Open Source: Relic Hunters Zero
por Lighter Qua 05 Ago 2015, 17:14

» [PROJETO] Sem nome definido
por Jessezyn Qua 05 Ago 2015, 13:53

» [Duvida] Colisoes com grid
por Gonçalves Qua 05 Ago 2015, 00:18

» Balloon vs Birds
por maxchapow Ter 04 Ago 2015, 19:02


[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: 357
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: 2503
Idade: 22
Data de inscrição: 20/12/2008
Notas recebidas: B A
Reputação: 173
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: 6034
Idade: 20
Data de inscrição: 26/07/2008
Notas recebidas: C+B
Reputação: 286
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: 357
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: 21
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: 24
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