Login

Esqueci minha senha

Últimos assuntos
» [DUVIDA]Variavel na Tela?
por Camin Hoje à(s) 12:55 am

» Problemas com Background!
por Camin Hoje à(s) 12:14 am

» [CQ-19]À arca
por Tanker GT Ontem à(s) 10:22 pm

» Bison e Helm
por ppaulo.braz Ontem à(s) 8:33 pm

» duvida de sintaxe
por alexfuziokaandrade7 Ontem à(s) 7:06 pm

» Bons conselhos (jogo mais leve)
por ocarteiro Ontem à(s) 6:14 pm

» [CQ-19] Animais
por PedroX Ontem à(s) 5:43 pm

» Adicionar propagandas em jogos para a PlayStore
por jairo025 Ontem à(s) 5:15 pm

» Rampa - Sem Bugs(ate agora)
por SoMateus Ontem à(s) 5:05 pm

» Promoções de verão
por J. Marlon Ontem à(s) 3:25 pm

» [Aplicativo] SiStema de Animaçao com bones
por Isaque Onix Ontem à(s) 3:13 pm

» Oque eu posso ou não por no jogo
por JoaoVanBlizzard Ontem à(s) 2:57 pm

» Movimento GML - Checar Colisão
por pedromenzani Ontem à(s) 2:51 pm

» Programador
por Diego albert Ontem à(s) 12:22 pm

» [Tutorial]Game Maker Server #1 Iniciando
por LightVelox Ontem à(s) 12:09 pm

» [DÚVIDA]Ajuda com Side - Scroll
por PedroX Ontem à(s) 6:57 am

» [cq 19]cães assassinos
por pedromenzani Sab Jul 26, 2014 10:46 pm

» MACONIC BETA
por PedroX Sab Jul 26, 2014 8:49 pm

» Erro na caixa de resources do GM
por PedroX Sab Jul 26, 2014 8:49 pm

» [CQ 19] Mecha Turtle
por PedroX Sab Jul 26, 2014 8:48 pm

» [Em andamento] Agente X: Ed, o Quadrado
por PedroX Sab Jul 26, 2014 8:46 pm

» Raised The Dead Alpha 0.1.8
por PedroX Sab Jul 26, 2014 8:31 pm

» [CQ-19] Danwaster
por JoaoVanBlizzard Sab Jul 26, 2014 6:53 pm

» [CQ#19] Pepe's Love Quest [+Votação]
por polosam Sab Jul 26, 2014 6:52 pm

» [CQ#19] Jogo do Sapo
por PedroX Sab Jul 26, 2014 6:32 pm

» [Galeria] The Origin.
por AxeInLine Sab Jul 26, 2014 6:03 pm

» DRAW - Como parar essa coisa/?/
por giovanepf Sab Jul 26, 2014 5:41 pm

» [CQ-19] Golge - The Dreamer pig
por polosam Sab Jul 26, 2014 2:19 pm

» Pegar a sprite de um objeto que esta em um array
por ralk2 Sab Jul 26, 2014 1:30 pm

» Problemas com pontos..
por giovanepf Sab Jul 26, 2014 12:21 pm

» [CQ#19] Doge
por Rodrigo Santiago Sab Jul 26, 2014 7:11 am

» [CQ-19] Save the Piggie!
por Rodrigo Santiago Sab Jul 26, 2014 7:04 am

» FutVida - A sua vida de jogador de futebol
por tata139 Sab Jul 26, 2014 1:46 am

» duvida
por Isaque Onix Sex Jul 25, 2014 11:16 pm

» Crio Trilha Sonora para Games!
por Isaias Malafaia Sex Jul 25, 2014 10:06 pm

» Proteger arquivos
por Gabreel Sex Jul 25, 2014 9:31 pm

» [Dúvidas com HUD]botões que geram objetos 3D.
por UrielAlves Sex Jul 25, 2014 5:15 pm

» Arte Gráfica
por SIGILOSO Sex Jul 25, 2014 3:09 pm

» Problema com String?
por LightVelox Sex Jul 25, 2014 2:09 pm

» compro sprites animadas
por AxeInLine Sex Jul 25, 2014 11:11 am

» Barra de texto Profissional
por Isaque Onix Sex Jul 25, 2014 10:14 am

» [off] Pessoal, o forum vem sofrendo ataques!
por LightVelox Qui Jul 24, 2014 6:37 pm

» Arquivo INI no GM:S
por Mikasuki Qui Jul 24, 2014 5:37 pm

» até que ponto é considerado de terceiros
por theguitarmester Qui Jul 24, 2014 2:26 pm

» BAIXE JÁ GOOGLE PLAY - Cockroach
por lokomil Qui Jul 24, 2014 1:18 pm

» The Heist -Atualizado 23/07-
por leocc Qui Jul 24, 2014 1:16 pm

» Duvida colisão c/inimigo - jogo plataforma
por alexfuziokaandrade7 Qui Jul 24, 2014 12:26 pm

» Email xtranho né não?
por DNilo Qui Jul 24, 2014 12:11 pm

» Aula 6 - Introdução em GML - For, do, until e repeat
por Lighter Qui Jul 24, 2014 10:20 am

» Debugger Connection Error
por pedromenzani Qui Jul 24, 2014 12:30 am

» Guns and Skulls
por Gabreel Qui Jul 24, 2014 12:01 am

» Erro que eu nao faco a minima ideia do que é.
por dharrison Qua Jul 23, 2014 10:33 pm

» Out Of Memory
por gabrielgeazi2 Qua Jul 23, 2014 10:19 pm

» Sprite com movimentaçao em numeros decimais
por chicoweb Qua Jul 23, 2014 9:52 pm

» Hatfields and MacCoys
por cascavelo Qua Jul 23, 2014 8:17 pm

» [CQ19] Space Animal Race
por Lauro Qua Jul 23, 2014 9:52 am

» [Marketplace] Side-scrolling Level Pack
por PedroX Ter Jul 22, 2014 6:18 pm

» Como uso o circle num objeto com Phisics ativado?
por Funbit Games Ter Jul 22, 2014 5:58 pm

» Como manipular imagens de um sprite animado?
por pcjogos Ter Jul 22, 2014 2:18 pm

» soma de pontos na coleta de objetos diferentes
por 7hiagomp Ter Jul 22, 2014 12:26 pm

» [XREATOR] Portfólio musical (novas músicas)
por FlyAway Ter Jul 22, 2014 12:31 am

» Problema com a sprite
por AxeInLine Seg Jul 21, 2014 11:03 pm

» Minus A Missão - Sugestões/Opinem
por Lighter Seg Jul 21, 2014 4:58 pm

» [Resolvido] GM8 reconhece teclas em segundo plano?
por Lighter Seg Jul 21, 2014 4:56 pm

» [Engine] Movimento Limpo 2.0 - Willy
por Lighter Seg Jul 21, 2014 4:26 pm

» Como criar um jogo para celular com o GM?
por antchita Seg Jul 21, 2014 2:41 am

» Não aparece nada em minha tela HTML5
por 7hiagomp Dom Jul 20, 2014 10:22 pm

» [CQ-19]Scared Cows Scare Crows
por lucas.limeira.92 Dom Jul 20, 2014 7:00 pm

» [OFF] Sugestões para videos.
por pedromenzani Dom Jul 20, 2014 4:42 pm

» Mega pacote de recursos, sprites, músicas e códigos-fonte!
por StartGame Dom Jul 20, 2014 11:10 am

» [Duvida]video do youtube
por WellingtonBecker Sab Jul 19, 2014 11:18 pm

» [Engine] Virtual Key
por cascavelo Sab Jul 19, 2014 10:24 am

» Inimigo se mexer de um lado para o outro com pausa
por jairo025 Sab Jul 19, 2014 10:07 am

» checar palavras duplicadas num array
por 7hiagomp Sab Jul 19, 2014 9:18 am

» [Script] Controle Fácil (Joypad Joystick)
por 7hiagomp Sex Jul 18, 2014 8:30 pm

» Desenho do #CQ19
por lucas.limeira.92 Sex Jul 18, 2014 7:28 pm

» Dúvida : Harmonia gráfica.
por FlyAway Sex Jul 18, 2014 7:28 pm

» Como você inicia um projeto?
por PedroX Sex Jul 18, 2014 7:28 pm

» Como fazer o inimigo andar e parar sozinho?
por giovanepf Sex Jul 18, 2014 5:09 pm

» Procuro Equipe!
por The Legend Of Atari Sex Jul 18, 2014 4:12 pm

» Procuro equipe!
por Arthurk8 Sex Jul 18, 2014 12:40 pm

» Dog: Revenge Of My Hearth
por The Legend Of Atari Sex Jul 18, 2014 12:18 pm

» Ferramentas para programadores e game F2P
por ole123 Sex Jul 18, 2014 9:16 am

» Background Animada
por The Legend Of Atari Sex Jul 18, 2014 8:53 am

» GM: S - Standard é gratuito a partir de hoje
por efraim leonardo Sex Jul 18, 2014 5:21 am

» Checar colisão de objetos com física
por 7hiagomp Sex Jul 18, 2014 12:11 am

» Joguinho de pong como melhorar...
por icarodantas123 Qui Jul 17, 2014 11:57 pm

» Como lidar com um projeto online ?
por FlyAway Qui Jul 17, 2014 11:07 pm

» [Resolvido] Duvida sobre situação estranha
por jose rocha Qui Jul 17, 2014 10:41 pm

» [CQ#19] Spirit Bear
por WellingtonBecker Qui Jul 17, 2014 10:07 pm

» [ajuda]mysql erro
por Isaque Onix Qui Jul 17, 2014 9:05 pm

» [Game Design] Guia de Estudos
por Henrique-HB Qui Jul 17, 2014 7:49 pm

» Dicas para Meu Jogo
por LightVelox Qui Jul 17, 2014 7:41 pm

» Alpha dos sprites
por GustavoPix Qui Jul 17, 2014 6:46 pm

» [ajuda] Graficos com sprites em partes
por Isaque Onix Qui Jul 17, 2014 6:09 pm

» Iniciar Variavel Local pelo Script
por chicoweb Qui Jul 17, 2014 12:15 pm

» [TUTO] Quiz com títulos !!
por fredcobain Qui Jul 17, 2014 11:41 am

» [Off Topic] Pérolas GMBR
por Lauro Qui Jul 17, 2014 10:42 am

» [A] South park plus (primium) campeão [CQ#17]
por Thyago Qua Jul 16, 2014 11:20 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: 346
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: 2267
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: 108

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: 271
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: 5734
Idade: 18
Data de inscrição: 26/07/2008
Versão:
  • Game Maker Studio: Professional

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

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: 346
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: 19
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: 349
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: 869
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

- Tópicos similares

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