Login

Esqueci minha senha

Últimos assuntos
» Operador
por Alfredinho Hoje à(s) 7:51 pm

» [PROBLEMA] Ataque e salto do personagem
por fernando.munizerthal Hoje à(s) 7:26 pm

» [Off Topic] Pérolas GMBR
por vitorfernandes13 Hoje à(s) 6:47 pm

» Menu Dinamico
por Lighter Hoje à(s) 6:10 pm

» Red Olympus (alpha v0.0.1)
por Lighter Hoje à(s) 5:11 pm

» Oi eu sou o Stickman?
por Mateus O de Andrade Hoje à(s) 4:36 pm

» Problemas com font_add_sprite
por Alex FC Hoje à(s) 4:32 pm

» Game Maker - última versão + android
por Anderson3d Hoje à(s) 11:49 am

» Cururuá, Uma Aventura em Ilhabela
por baraodopirapora Hoje à(s) 11:36 am

» aplicativo em segundo plano android
por vinians Hoje à(s) 11:01 am

» Baixe Professora game maker 2
por baraodopirapora Hoje à(s) 10:54 am

» Preciso de ajuda com finalização de game
por douglas444 Hoje à(s) 1:45 am

» [Android] Obter informaçoes do GPS
por vinians Ontem à(s) 11:15 pm

» Resolução para mobile
por Douglas Felipe Ontem à(s) 11:03 pm

» [Formação de Equipe] Sem fins lucrativos.
por Alfredinho Ontem à(s) 10:43 pm

» [duvida]GMS
por Isaque Onix Ontem à(s) 10:41 pm

» [Engine] Jogo baseado em turnos
por tengukay Ontem à(s) 10:40 pm

» Atualizei o Game Maker e o jogo bugou
por Alfredinho Ontem à(s) 10:12 pm

» [CQ#23] Sublimação
por douglas444 Ontem à(s) 5:01 pm

» Preciso de editor de sprites
por Souji Ontem à(s) 3:03 pm

» [Sugestão] Inicio - Por onde Começar
por AlexBosquin Ontem à(s) 1:12 pm

» Não consigo emular no celular
por iNayuki Ontem à(s) 11:50 am

» [Curso] - Game Maker em Vídeo
por Tiago Lima Ontem à(s) 10:35 am

» [Opinião e Dúvida] Criptografia
por matheusco Ter Jan 27, 2015 7:52 pm

» Crio Trilha Sonora para Games!
por Sandro Casagrande Jr. Ter Jan 27, 2015 2:25 pm

» Ajuda com irandom
por Magritte Ter Jan 27, 2015 1:51 pm

» [CQ Anual] Devorador
por Zero. Ter Jan 27, 2015 11:34 am

» engine de fisica, alguem tem?
por Sewer Crawler Ter Jan 27, 2015 1:39 am

» fisica em terrenos irregulares
por Sewer Crawler Ter Jan 27, 2015 1:36 am

» [Discuss]Um fórum com potencial e um foco limitado
por theguitarmester Ter Jan 27, 2015 12:09 am

» [CQ#23] Vaso de Petúnias e Cachalote
por polosam Seg Jan 26, 2015 10:55 pm

» [Jogo] Codex Vitarum
por matheusco Seg Jan 26, 2015 8:59 pm

» GLOBAL GAME JAM 2015
por WellingtonBecker Seg Jan 26, 2015 6:53 pm

» Jogo Imagem & ação
por dmarques.araujo Seg Jan 26, 2015 5:34 pm

» Resultado do Concurso Anual 2014
por Lukbebalduke Seg Jan 26, 2015 4:28 pm

» Towncraft II
por Magritte Seg Jan 26, 2015 4:14 pm

» [JOGO] ZigZag Balloon v.1.0.6
por aminaro Seg Jan 26, 2015 3:47 pm

» Duvida como fazer 1 parte de 1 corpo se movimentar
por gabriel33245900 Seg Jan 26, 2015 12:26 pm

» Engine login Php p/ android
por Isaque Onix Seg Jan 26, 2015 11:42 am

» Problema com x y view!
por gabriel33245900 Seg Jan 26, 2015 10:30 am

» Interceptar packets??? Não sei um título pra isso
por Alex FC Seg Jan 26, 2015 9:13 am

» Problema com x y previous!
por gabriel33245900 Seg Jan 26, 2015 8:18 am

» [Tutorial] Variáveis
por Sewer Crawler Dom Jan 25, 2015 11:44 pm

» engine com efeito de boost do sonic
por makgamer Dom Jan 25, 2015 8:05 pm

» Como trabalhar com tiles em HD
por Gonzo Dom Jan 25, 2015 5:59 pm

» efeito de particulas
por Sewer Crawler Dom Jan 25, 2015 5:17 pm

» [Discuss] Por que você não da feedback ?
por Zero. Dom Jan 25, 2015 4:02 pm

» Grey Ledge
por Alex FC Dom Jan 25, 2015 1:50 pm

» [CQ#23] A Vingança da baleia
por Magritte Dom Jan 25, 2015 5:28 am

» Dia/Noite, qual seria a melhor solução?
por SirLeccus Dom Jan 25, 2015 12:53 am

» Problema com Surface
por matheusco Sab Jan 24, 2015 11:16 pm

» Criando um menu - Game Maker Studio
por gabriel33245900 Sab Jan 24, 2015 7:45 pm

» [Ajuda] Problema com string_insert
por AlexBosquin Sab Jan 24, 2015 2:58 pm

» RTS Game
por brunosilva552 Sab Jan 24, 2015 1:58 pm

» Site de particulas duvida!
por gabriel33245900 Sab Jan 24, 2015 12:09 pm

» 4 Cursos de desenvolvimento de jogos
por vitorfernandes13 Sab Jan 24, 2015 10:48 am

» ferramenta de distribuição digital de jogos
por brunosilva552 Sab Jan 24, 2015 12:22 am

» Calendário de concursos
por chicoweb Sex Jan 23, 2015 8:15 pm

» Dúvidas com programação
por Kamikaze Sex Jan 23, 2015 6:40 pm

» Tutorial -Como mirar e atirar com o mouse
por dougas.dalosto Sex Jan 23, 2015 2:08 pm

» [XCREATOR] Duas musicas que fiz pro meu jogo
por vinians Sex Jan 23, 2015 1:40 pm

» [Resolvido]usar for para modificar subimagem
por AlexBosquin Sex Jan 23, 2015 9:00 am

» [CA] Highway to Stars
por AlexBosquin Sex Jan 23, 2015 7:53 am

» [CAMPANHA] Salvem o Chatbox!
por Mr.Brum Qui Jan 22, 2015 8:57 pm

» Caixa de Texto em Sprite + Valores = Resultado
por 100%Dedicada Qui Jan 22, 2015 8:51 pm

» Concurso GMBR 2014: A morte é um novo começo
por PedroX Qui Jan 22, 2015 2:51 pm

» Minha Galeria de trabalhos com Blender
por Mateus O de Andrade Qui Jan 22, 2015 8:34 am

» Você consegue decifrar o que é isso?
por Mateus O de Andrade Qui Jan 22, 2015 8:29 am

» Salvando o Jogo
por gabriel33245900 Qui Jan 22, 2015 8:25 am

» [Android] Submundo 3D
por JoaoVanBlizzard Qui Jan 22, 2015 1:15 am

» Ajuda com Change Sprite
por WellingtonBecker Qua Jan 21, 2015 10:38 pm

» Soberano
por Sewer Crawler Qua Jan 21, 2015 6:38 pm

» Avanti Palmeiras
por tiotolas Qua Jan 21, 2015 5:14 pm

» Vai Corinthians
por tiotolas Qua Jan 21, 2015 5:10 pm

» [PROBLEMA] "Out of Memory" AMNEEEEESIA!!!!!!
por Sewer Crawler Qua Jan 21, 2015 4:18 pm

» procuro engine de cartas
por Sewer Crawler Qua Jan 21, 2015 4:02 pm

» Ajuda com GMSQL
por fernando.munizerthal Qua Jan 21, 2015 3:14 pm

» Smart Snake
por theguitarmester Qua Jan 21, 2015 1:52 pm

» [Admins] Sugestões YOYO Game Maker Studio 1.5
por AlexBosquin Qua Jan 21, 2015 1:17 pm

» Aos gremistas do forum, cheguem aqui.
por Padre Gremista Ter Jan 20, 2015 11:07 pm

» Treino de Pose
por polosam Ter Jan 20, 2015 10:39 pm

» oque acham de minha arte?
por Isaque Onix Ter Jan 20, 2015 10:11 pm

» ponte+objeto que segue a camera
por WellingtonBecker Ter Jan 20, 2015 9:59 pm

» movimentar com o mouse
por tengukay Ter Jan 20, 2015 6:25 pm

» [Extensão]Extensão de Dialogo
por guilherme master BR Ter Jan 20, 2015 5:52 pm

» Posiveis personagens
por Edvaldo 007 Ter Jan 20, 2015 5:51 pm

» [Resolvido] Ajuda com Contador
por Wendryos - Black Horn Ter Jan 20, 2015 1:38 pm

» Problemas com draw_getpixel
por Zero. Ter Jan 20, 2015 10:12 am

» pergunta sobre mouse
por vinians Ter Jan 20, 2015 12:11 am

» [Curso Gm 3D] Aula 2: VISUALIZANDO O MUNDO
por Mr.Brum Seg Jan 19, 2015 10:27 pm

» [Tutorial]connecção simples com 39DLL
por natanael3d_@hotmail.com Seg Jan 19, 2015 10:17 pm

» duvida com objetos e variaveis globais
por Isaque Onix Seg Jan 19, 2015 10:05 pm

» ajuda com physics
por ralk2 Seg Jan 19, 2015 9:24 pm

» Retro - Space Invaders }Sprites{
por Sewer Crawler Seg Jan 19, 2015 7:21 pm

» Duvida ao fazer chamada de telefone tipo com 2 tel
por Wendryos - Black Horn Seg Jan 19, 2015 6:33 pm

» The Blue Egg
por BigBolGames Seg Jan 19, 2015 3:04 pm

» Desenvolvendo um jogo de A a Z
por AxeInLine Seg Jan 19, 2015 11:40 am

» BOMBER TADS 2014
por Isquilo_Roedor Seg Jan 19, 2015 11:19 am

» [Problema]Skype GMBR e afins...
por Willy Seg Jan 19, 2015 4:31 am


[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 Nov 29, 2011 6:50 pm

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 Dez 01, 2011 7:43 pm, editado 1 vez(es)

LeandroDaher

Número de Mensagens: 348
Idade: 19
Data de inscrição: 13/05/2010
Versão:
  • Game Maker 8.0
  • Game Maker 8.1

Reputação: 1

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 Nov 29, 2011 8:14 pm

Ó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: 2406
Idade: 21
Data de inscrição: 20/12/2008
Versão:
  • Game Maker 8.0
  • Game Maker 8.1
  • Game Maker Studio: Professional

Notas recebidas: B A
Reputação: 145

Prêmios
   : 1
   : 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 Nov 29, 2011 8:22 pm

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

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 Nov 29, 2011 9:42 pm

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!

___________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:

PedroX

Ranking: Nota C
Número de Mensagens: 6005
Idade: 19
Data de inscrição: 26/07/2008
Versão:
  • Game Maker Studio: Professional

Notas recebidas: C+B
Reputação: 278

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 Nov 30, 2011 6:19 pm

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: 348
Idade: 19
Data de inscrição: 13/05/2010
Versão:
  • Game Maker 8.0
  • Game Maker 8.1

Reputação: 1

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 Nov 30, 2011 7:19 pm

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

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 Dez 01, 2011 2:29 pm

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

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 Dez 03, 2011 1:58 am

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
Versão:
  • Game Maker 8.0
  • Game Maker 8.1

Reputação: 26

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 Dez 03, 2011 12:09 pm

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: 888
Idade: 23
Data de inscrição: 28/04/2011
Versão:
  • Game Maker 8.0

Notas recebidas: D + D + C + C + D + B
Reputação: 35

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