Login

Esqueci minha senha

Últimos assuntos
» Animação de inimigo
por Mestre Rá Hoje à(s) 10:42 am

» [XCREATOR] Basket Rush
por vinians Hoje à(s) 10:11 am

» Ajudaaa Galeraa Por Favor :(
por Wendryos - Black Horn Hoje à(s) 12:54 am

» [D]Ludark
por Wendryos - Black Horn Ontem à(s) 11:21 pm

» [CQ#21] Especial de Primavera
por douglas444 Ontem à(s) 10:49 pm

» The Alma
por theokof98 Ontem à(s) 10:41 pm

» Duvida com tamanho para room em android?
por cascavelo Ontem à(s) 10:23 pm

» Como Criar Um Zumbi Especial
por JOZ. Ontem à(s) 7:29 pm

» Autorun
por geotec Ontem à(s) 3:57 pm

» [Resolvido]Como ativar instância de objetos específicos?
por Isaque Onix Ontem à(s) 2:27 pm

» [Tutorial]Como criar um simples jogo de plataforma
por dharrison Ontem à(s) 2:10 pm

» [Resolvido]Problema personagem pulando na cabeça do inimigo
por gabriel33245900 Ontem à(s) 12:36 pm

» jogo online nativo
por Isaque Onix Ontem à(s) 11:51 am

» Demo Hatfields and MacCoys
por theguitarmester Ontem à(s) 10:42 am

» inteligencia artificial! inimigo seguindo jogador!
por gabriel33245900 Ontem à(s) 9:04 am

» Meu primeiro trabalho com Blender
por Mateus O de Andrade Ontem à(s) 8:00 am

» Pixel Art do Gonça :3
por Gonçalves Seg Set 29, 2014 11:28 pm

» Anunciante que paga por instalação
por WellingtonBecker Seg Set 29, 2014 6:25 pm

» Movimentação do personagem e trocas de sprites.
por Wendryos - Black Horn Seg Set 29, 2014 4:12 pm

» [Resolvido]Barreira circular
por Mestre Rá Seg Set 29, 2014 3:18 pm

» [TUTORIAL] Aprendendo a trocar de sprites! - Willy
por Wendryos - Black Horn Seg Set 29, 2014 2:44 pm

» [#CA05] Resultado do concurso de artes
por PedroMatoso Seg Set 29, 2014 1:42 pm

» Mudar nome de objeto no própio game
por matheusco Seg Set 29, 2014 1:27 pm

» [CQ#21] Formação de Equipes para o CQ
por Lenda XD Seg Set 29, 2014 12:55 pm

» Mary-A endless cursed bloody night
por JoaoVanBlizzard Seg Set 29, 2014 12:11 pm

» Smart Snake
por theguitarmester Seg Set 29, 2014 11:08 am

» [Resolvido]Duvida sobre draw_healthbar
por Mateus O de Andrade Seg Set 29, 2014 7:39 am

» Crio Trilha Sonora para Games!
por LeandroDaher Dom Set 28, 2014 2:58 pm

» [Em Desenvolvimento]Little Jumper
por Wendryos - Black Horn Dom Set 28, 2014 2:15 pm

» [DÚVIDA] Enviando variáveis para uma página php
por Lauro Dom Set 28, 2014 1:41 pm

» Sprites para meu jogo
por gabriel33245900 Dom Set 28, 2014 1:35 pm

» Como rodar Game Maker no Linux?
por Markituh Dom Set 28, 2014 12:14 pm

» Como fazer um inimigo atirar na direção do player?
por DooMan Dom Set 28, 2014 11:54 am

» Trilha sonora [em andamento] do meu novo jogo
por DooMan Dom Set 28, 2014 11:28 am

» [Duvida]zoom android
por Gonzo Dom Set 28, 2014 12:56 am

» [Resolvido] Alguem me ajude?
por Lizarus Sab Set 27, 2014 9:06 pm

» [Demo disponível] Calabouço Fantasma
por Alex FC Sab Set 27, 2014 11:56 am

» [Apresentação] Cool Green 2.0 - Dark Version
por Alex FC Sab Set 27, 2014 10:33 am

» Prize
por douglas444 Sab Set 27, 2014 10:09 am

» [B] ALAN PSYCHO
por Markituh Sab Set 27, 2014 9:51 am

» [Projeto]Plataforma
por Isaque Onix Sab Set 27, 2014 12:08 am

» [Engine] Healthbar Personalizado
por dharrison Sex Set 26, 2014 10:49 pm

» [JOGUE] Tolete Escape 2 - Versão Alpha
por AlexBosquin Sex Set 26, 2014 7:59 pm

» Dúvidas no Blender
por Mateus O de Andrade Sex Set 26, 2014 5:36 pm

» [C]Fantastic Adventure
por JoaoVanBlizzard Sex Set 26, 2014 5:28 pm

» [Projeto]Super Mario 75
por douglas444 Sex Set 26, 2014 5:19 pm

» [Android] Maria World COMPLETO
por Gonzo Sex Set 26, 2014 4:24 pm

» Pixel Art 3/4 Perspectiva
por Mateus O de Andrade Sex Set 26, 2014 3:14 pm

» [Arte]Junção de cores no editor de img do gmk edit
por Susano Sex Set 26, 2014 1:29 pm

» [Duvida] orientação do dispositivo
por Gonzo Sex Set 26, 2014 2:10 am

» Xbox Módulo de Exportação
por Gonzo Sex Set 26, 2014 2:07 am

» [Resolvido] alarms x variaveis
por manobrother Qui Set 25, 2014 4:14 pm

» [RESOLVIDO] Girar meteoritos!
por Mateus O de Andrade Qui Set 25, 2014 12:59 pm

» [Update: 04/09/14] Pixel Place 2014
por dharrison Qui Set 25, 2014 11:12 am

» Como fazer um personagem entrar em uma porta?
por Isaque Onix Qua Set 24, 2014 9:26 pm

» [Thyago] Mega soccer
por Thyago Qua Set 24, 2014 8:47 pm

» Como Criar 3 Npc Cada Um Diferente Do Outro
por saim Qua Set 24, 2014 11:52 am

» move analogico
por Vizage Qua Set 24, 2014 10:09 am

» Gemtheo
por theokof98 Qua Set 24, 2014 8:06 am

» Video Aula de Pixelart
por Isaque Onix Qua Set 24, 2014 12:34 am

» Lista de medalhistas
por PedroX Ter Set 23, 2014 9:49 pm

» #005 - Concurso de Artes
por PedroX Ter Set 23, 2014 9:21 pm

» Uma pequena raposa!
por Soul Limaloko Ter Set 23, 2014 5:40 pm

» [ajuda]carregar script externo
por PedroX Ter Set 23, 2014 2:25 pm

» Dúvidas sobre criar um jogo
por Lunion4saken Ter Set 23, 2014 1:46 pm

» [D]Toys Rescue
por JoaoVanBlizzard Ter Set 23, 2014 1:35 pm

» Primeiro Jogo #2 - Detectar Objetos, Vida e Pontos
por dharrison Ter Set 23, 2014 11:44 am

» [Complô] - Vamos achar a solução !
por cascavelo Ter Set 23, 2014 8:40 am

» Sprites, Tiles e Gráficos Isometricos Pintados
por Kabeção Ter Set 23, 2014 1:25 am

» Pedido extenxão android
por GabrielXavier Ter Set 23, 2014 1:08 am

» Ajuda - Debugging e Desempenho
por matheusco Seg Set 22, 2014 11:27 pm

» Amazing Doge
por itarodrigo Seg Set 22, 2014 10:27 pm

» [CQ20] Resultado
por PedroX Seg Set 22, 2014 10:11 pm

» Alguem desenha sprites em Pixel Art?
por Moisés Fialho Lima Seg Set 22, 2014 9:25 pm

» [CQ#20] Bob snow - Avalanche downhill
por cascavelo Seg Set 22, 2014 7:45 pm

» [Resolvido] INI ta muito zueiro
por Gonzo Seg Set 22, 2014 6:03 pm

» Dragon Ball AF 2
por theguitarmester Seg Set 22, 2014 9:38 am

» [Pedido] "Executável" HTML5 para Demonstração
por itarodrigo Dom Set 21, 2014 10:10 pm

» Erro "GameMaker:Studio AssetCompiler"
por itarodrigo Dom Set 21, 2014 9:59 pm

» [Pedido] tutorial login Facebook
por itarodrigo Dom Set 21, 2014 9:57 pm

» D-Run! v1.1.2 [NOVO!]
por DooMan Dom Set 21, 2014 7:57 pm

» Sobre arquivos online
por Isaque Onix Dom Set 21, 2014 7:19 pm

» Problemas com a background music
por WellingtonBecker Dom Set 21, 2014 3:23 pm

» Conceito de autenticação de cliente no servidor?
por GabrielXavier Dom Set 21, 2014 2:07 pm

» Como fazer o game maker rodar vídeos? (cutscenes)
por WellingtonBecker Sab Set 20, 2014 11:12 pm

» Caixa de Texto GM8-->GMS
por Vizage Sab Set 20, 2014 10:38 pm

» [DUVIDA] Passar de fase.
por Vizage Sab Set 20, 2014 10:28 pm

» [Demo] Submundo 3D
por JoaoVanBlizzard Sab Set 20, 2014 2:08 pm

» [GMBR Magazine] Vagas para CDC's
por Sr. Sinistro Sab Set 20, 2014 1:23 pm

» Tutorial alguem pode me passar?
por PedroX Sab Set 20, 2014 9:59 am

» Pokemon Cardex
por PedroX Sab Set 20, 2014 9:52 am

» Webinar grátis: Custo dos Bugs, Controle de Versão
por PedroX Sab Set 20, 2014 9:51 am

» Calendário de concursos
por PedroX Sab Set 20, 2014 9:39 am

» Efeito Especial: Coord. Esféricas - Cartesiano 3D
por PedroX Sab Set 20, 2014 8:58 am

» Mais de uma fase em uma unica room.
por Isaque Onix Sex Set 19, 2014 11:38 pm

» Fleeing the Shark v.1.0
por vitorfernandes13 Sex Set 19, 2014 9:16 pm

» [Duvida] Botões do celular
por WellingtonBecker Sex Set 19, 2014 8:07 pm

» [Tutorial] - Lendo (e carregando) arquivos online
por MatheusMM Sex Set 19, 2014 7:38 pm

» [Dúvida] Habilitar funções do sistema
por Gonzo Sex Set 19, 2014 7:24 pm


[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 5: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 6:43 pm, editado 1 vez(es)

LeandroDaher

Número de Mensagens: 348
Idade: 18
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 7: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: 2365
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: 135

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 7: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 8: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

Enigma
Quer melhorar seu inglês? Entre para o Clube do Inglês:


PedroX

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

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

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 5: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: 18
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 6: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 1: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 12: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: 801
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 mrbrum22 em Sab Dez 03, 2011 11:09 am

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

mrbrum22

Ranking: Nota C
Número de Mensagens: 866
Idade: 23
Data de inscrição: 28/04/2011
Notas recebidas: D + D + C + C + D + B
Reputação: 27

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


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