Login

Esqueci minha senha

Últimos assuntos
» duvida rápida - draw gui
por Isaque Onix Hoje à(s) 17:53

» [News] YoYo Disponibiliza Módulo Android de Graça!
por Rodrigo Santiago Hoje à(s) 16:42

» Plataforma atravessavel - Estilo Mario
por ismlelo Hoje à(s) 14:46

» Lógica: Simplificação de expressões
por PedroX Hoje à(s) 13:46

» [JOGO - ANDROID] - GlowBall
por luan.alc Hoje à(s) 12:40

» [Concurso Mensal #01] - A GMBR Compra seu game!
por Gabriel_Silva Hoje à(s) 12:38

» Duvida!
por Soul Limaloko Hoje à(s) 11:55

» Erro terrível em pokemon shuffle.
por ruben.23 Hoje à(s) 09:13

» Pegar nome das variaveis de uma instancia
por chicoweb Hoje à(s) 09:08

» [Jogo] The Big Adventure
por guamaral Ontem à(s) 18:41

» [Resolvido]Como mudar cor da Iluminação ?
por ANDREASCRUST Ontem à(s) 18:25

» Procuro equipe!
por ruben.23 Ontem à(s) 15:17

» Formando equipe fixa!!
por ruben.23 Ontem à(s) 15:04

» [Tuto] Como usar LightEngine
por ANDREASCRUST Ontem à(s) 13:35

» Como simular uma partida de futebol
por ebertzin Ontem à(s) 13:08

» [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4
por itarodrigo Ontem à(s) 10:48

» Jogos Online com PHP+MySQL - por ITARODRIGO
por fredcobain Ontem à(s) 10:39

» [Mini-Game] Golfinho
por Soul Limaloko Ontem à(s) 10:35

» Ok Desculpa - venda de engines
por chicoweb Ontem à(s) 08:06

» Duvida particulas vs exportação
por chicoweb Ontem à(s) 08:03

» [Discussão] O mercado mobile não tem espaço?
por chicoweb Ontem à(s) 07:35

» Problema urgente..Duvida sobre colisão com cores
por WellingtonBecker Seg 30 Mar 2015, 22:40

» armazenamento unico
por Isaque Onix Seg 30 Mar 2015, 20:46

» Fazendo seu primeiro jogo !
por fredcobain Seg 30 Mar 2015, 18:05

» 2 duvidas
por Isaque Onix Seg 30 Mar 2015, 16:13

» [UNIVERSO MAKER] IA - Comportamento de Inimigos
por ruben.23 Seg 30 Mar 2015, 14:14

» IA Inimigos que fogem, se escondem e atiram
por ANDREASCRUST Dom 29 Mar 2015, 19:30

» 4US TESTE
por ruben.23 Dom 29 Mar 2015, 11:52

» Preciso de editor de sprites
por ruben.23 Dom 29 Mar 2015, 11:49

» Massive multiplayer online - parte 3
por Lupptyr Dom 29 Mar 2015, 11:44

» [Curriculo] João Paulo "JPlays" Marques Votri
por ruben.23 Dom 29 Mar 2015, 11:38

» Formação de uma Equipe
por ruben.23 Dom 29 Mar 2015, 11:34

» [Pergunta] 39DLL funciona em Game maker:Studio?
por Lupptyr Dom 29 Mar 2015, 10:19

» Mover objeto em Room de fisica
por OliVroot Dom 29 Mar 2015, 08:28

» Area de clique objetos rotacionados - GMS
por dangelobr Dom 29 Mar 2015, 06:57

» Quem quer Uma Engine, e de Quê?
por ebertzin Dom 29 Mar 2015, 02:09

» Quem quer ser um dos zumbis presentes no meu jogo?
por Isquilo_Roedor Sab 28 Mar 2015, 22:50

» [Ajuda] Errinho
por Lupptyr Sab 28 Mar 2015, 22:29

» Pokemon Shuffle
por itarodrigo Sab 28 Mar 2015, 22:13

» [Problema] no joguinho
por Isquilo_Roedor Sab 28 Mar 2015, 22:10

» iOS e GM:S
por itarodrigo Sab 28 Mar 2015, 22:09

» [TUTORIAL] Aprenda sobre Unity 3D e C#
por MarcosSchultz Sab 28 Mar 2015, 21:22

» [CM#01] Ametista Kid
por chicoweb Sab 28 Mar 2015, 17:15

» Porque criar jogos?
por Zackeirel Doelinger Sab 28 Mar 2015, 14:30

» Cartas na mão organizadas [Sistema de Cadeados]
por Felipe Reis Magno 2 Sex 27 Mar 2015, 22:53

» [CM#1] Rest in Pixels 0.92 - 3D
por JoaoVanBlizzard Sex 27 Mar 2015, 22:09

» [ Video Aula / PDF ]Tutorial MMORPG
por Lupptyr Sex 27 Mar 2015, 18:38

» [CM#01] Football Clicker
por leocc Sex 27 Mar 2015, 15:52

» [Duvida] Tutorial save pra MMO
por Lupptyr Sex 27 Mar 2015, 12:21

» Duvida IOS
por Gonzo Sex 27 Mar 2015, 10:12

» Carregar socket para outra room
por Rodrigo Santiago Sex 27 Mar 2015, 07:58

» Orçamento
por Luminatti Caliente Qui 26 Mar 2015, 22:42

» Quando vão fazer concurso caça-talentos denovo?
por Willy Qui 26 Mar 2015, 22:13

» [Resolvido] Travar movimento diagonal
por Lupptyr Qui 26 Mar 2015, 21:51

» GMS erro ao compilar
por Gonzo Qui 26 Mar 2015, 21:35

» [caça-talentos: roteirista] ruben.23
por ruben.23 Qui 26 Mar 2015, 19:42

» formulário GMS
por theguitarmester Qui 26 Mar 2015, 19:41

» Como fazer updater online
por fernando.munizerthal Qui 26 Mar 2015, 16:08

» Criar Baú
por ANDREASCRUST Qui 26 Mar 2015, 14:45

» Zombies - Elimination
por Skay Galaxte Qui 26 Mar 2015, 13:04

» Como ver e como reduzir barra de warn
por Isquilo_Roedor Qui 26 Mar 2015, 12:31

» [PREFÁCIO] DimverDam
por Soul Limaloko Qua 25 Mar 2015, 20:46

» Alguém quer aprender sobre Unity 3D ?
por Gonzo Qua 25 Mar 2015, 15:52

» [Resolvido]Android - touch
por Gonzo Qua 25 Mar 2015, 15:50

» [Resolvido]Ajuda Com IA do inimigo!
por Skay Galaxte Qua 25 Mar 2015, 13:46

» Erro ao salvar
por Isquilo_Roedor Qua 25 Mar 2015, 13:36

» [DÚVIDA] "Lomba" em plataforma
por fernando.munizerthal Qua 25 Mar 2015, 11:23

» GMS - Erros configurando para Android
por dangelobr Qua 25 Mar 2015, 09:14

» Sprites, Tiles e Gráficos Isometricos Pintados
por bruno2012 Qua 25 Mar 2015, 02:13

» Mas prefiro ser chamado de Zack
por Zero. Ter 24 Mar 2015, 23:16

» [T.P]Plataforma 1
por Rodrigo Santiago Ter 24 Mar 2015, 22:50

» [resolvido] Como colocar vida maxima
por Thyago Ter 24 Mar 2015, 21:55

» [Problema] Meu highscore ta travando
por Soul Limaloko Ter 24 Mar 2015, 21:49

» [Resolvido]Problemas no sprite
por Soul Limaloko Ter 24 Mar 2015, 20:51

» [Resolvido]BUG ou erro???
por Sewer Crawler Ter 24 Mar 2015, 20:16

» debug mode no gmStudio
por Soul Limaloko Ter 24 Mar 2015, 20:15

» [CM#1] Yunitto-615
por Zero. Ter 24 Mar 2015, 15:53

» GMS: Seu jogo MULTI-RESOLUÇÃO
por luan.alc Ter 24 Mar 2015, 06:33

» Think Different - Global Game Jam (WEB)
por Joarez Ceccato Santini Ter 24 Mar 2015, 00:47

» [CM#01] Fight on Fall
por polosam Seg 23 Mar 2015, 23:12

» [Duvida] Select player p/ android
por itarodrigo Seg 23 Mar 2015, 22:03

» [Resolvido]duvida time (tempo)
por bruno2012 Seg 23 Mar 2015, 19:20

» Fazendo um Inventário (Parte 1/3)
por Zero. Seg 23 Mar 2015, 13:00

» Múltiplas DS_LIST
por Felipe Reis Magno 2 Seg 23 Mar 2015, 10:21

» [URGENTE] Que diabos de erro é esse??
por katisuke Dom 22 Mar 2015, 22:19

» Amazônia Biodivertida o Game
por baraodopirapora Dom 22 Mar 2015, 20:39

» Calendário Jam 2015
por WellingtonBecker Dom 22 Mar 2015, 20:13

» [XCREATOR] [EXEMPLO] CharMaster
por vinians Dom 22 Mar 2015, 19:21

» [Plataforma] Pulo através do chão
por fernando.munizerthal Dom 22 Mar 2015, 17:06

» Sobre postar projeto em desenvolvimento
por chicoweb Dom 22 Mar 2015, 14:46

» AdverGames
por chicoweb Dom 22 Mar 2015, 13:50

» [Resolvido]Mais uma duvida...
por Skay Galaxte Sab 21 Mar 2015, 21:25

» Sistema de registro e login por lists
por Lupptyr Sab 21 Mar 2015, 18:24

» Tutorial de Multiplayer/Networking Nativo - GMS
por Lupptyr Sab 21 Mar 2015, 16:34

» [Resolvido]Ajuda com variáveis!
por Skay Galaxte Sab 21 Mar 2015, 14:59

» Engine Básica RPG Top Down - GM: Studio
por Skay Galaxte Sab 21 Mar 2015, 11:18

» [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida
por aminaro Sex 20 Mar 2015, 22:01

» [Ajuda]Client/Server
por itarodrigo Sex 20 Mar 2015, 21:24

» [Pergunta] jogar pelo controle em seu jogo?
por itarodrigo Sex 20 Mar 2015, 21:18


[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: 354
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: 6020
Idade: 19
Data de inscrição: 26/07/2008
Notas recebidas: C+B
Reputação: 283
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: 354
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: 912
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