Login

Esqueci minha senha

Últimos assuntos
» duvida towerfall
por matheusco Ontem à(s) 11:54 pm

» Playing Dead
por JoaoVanBlizzard Ontem à(s) 10:49 pm

» Game Maker Studio Steam - completo com exporters
por makgamer Ontem à(s) 9:38 pm

» Meu Primeiro Jogo - Flappy Plane
por willyruduit Ontem à(s) 9:25 pm

» Despertador
por Vizage Ontem à(s) 6:02 pm

» Ajuda
por Isaque Onix Ontem à(s) 6:01 pm

» Água e ar
por matheusco Ontem à(s) 5:31 pm

» Rain of Fire and Meteors [#CQ-20]
por Fagner Ontem à(s) 5:14 pm

» [Pedido Script]Mandar e-mail pelo GMS
por Gabreel Ontem à(s) 3:40 pm

» Novo na área
por Bregantino Ontem à(s) 2:23 pm

» [RESOLVIDO] Aprimorando a física.
por isaac138 Ontem à(s) 2:14 pm

» [#CQ20] D-Run!
por DooMan Ontem à(s) 12:00 pm

» View e inimigos parados
por Mateus O de Andrade Ontem à(s) 11:38 am

» [TUTORIAL] MONTANDO UMA GAMELIB DO ZERO EM JS
por fredcobain Ontem à(s) 9:01 am

» Too Many Gears
por Isaque Onix Ontem à(s) 2:04 am

» Acertar alvo com tiro parabolico
por Isaque Onix Ontem à(s) 12:44 am

» Sozinho na selva [#CQ-20]
por JoaoVanBlizzard Ontem à(s) 12:00 am

» Gomez vs Aliens[CQ-20]
por JoaoVanBlizzard Ter Ago 19, 2014 11:56 pm

» [#CQ20] The diamond of my life
por JoaoVanBlizzard Ter Ago 19, 2014 11:48 pm

» Demo Hatfields and MacCoys
por JoaoVanBlizzard Ter Ago 19, 2014 11:10 pm

» Criação de Bala não funciona em uma única direção
por Rodrigo Santiago Ter Ago 19, 2014 9:45 pm

» Sistema de microtransação
por willyruduit Ter Ago 19, 2014 7:50 pm

» GMS jack sparrow
por Pegore Ter Ago 19, 2014 6:59 pm

» [CQ#20]Mary- A endless cursed bloody night
por JoaoVanBlizzard Ter Ago 19, 2014 2:28 pm

» Ajuda com Pixel Art
por Object Ter Ago 19, 2014 1:35 pm

» dúvidas sobre o 'for"
por Rodrigo Santiago Ter Ago 19, 2014 11:35 am

» [Engine] Pausando o jogo como antigamente
por Mateus O de Andrade Ter Ago 19, 2014 10:46 am

» Criar engrenagem -physics-
por alexfuziokaandrade7 Ter Ago 19, 2014 9:17 am

» Egine De Movimentação de Plataforma
por Mateus O de Andrade Ter Ago 19, 2014 8:51 am

» Super Mario Project v 1 (18/08/2014 19:00)
por Mateus O de Andrade Ter Ago 19, 2014 8:10 am

» [Pesquisa]Estúdio Indie (Projeto da faculdade)
por douglas444 Ter Ago 19, 2014 6:03 am

» Objeto pula mais quando cai, para no ar '-'
por Willy Seg Ago 18, 2014 11:59 pm

» [Resolvido]Dúvidas com I.A.
por matheusco Seg Ago 18, 2014 9:46 pm

» Precisa-se de Programador
por theguitarmester Seg Ago 18, 2014 9:28 pm

» Super Cosmonauts
por Molinware Seg Ago 18, 2014 8:40 pm

» Ajuda com GDD (Game Design Document)
por itarodrigo Seg Ago 18, 2014 8:17 pm

» FutVida - A sua vida de jogador de futebol
por Fernando Monteiro Seg Ago 18, 2014 8:00 pm

» [Android] Trabalhando com MYSQL no GMS?
por GabrielXavier Seg Ago 18, 2014 7:34 pm

» Duvida com camera lenta específica
por AlexBosquin Seg Ago 18, 2014 7:21 pm

» [Tutorial]Game Maker Server #2 Configurando
por LightVelox Seg Ago 18, 2014 6:26 pm

» loja online
por Isaque Onix Seg Ago 18, 2014 6:19 pm

» Plataforma com movimento automático
por Isaque Onix Seg Ago 18, 2014 4:42 pm

» Precisa-se de Desenhista
por Kouga80 Seg Ago 18, 2014 4:22 pm

» [#CQ20] Sobrevivência
por PedroX Seg Ago 18, 2014 4:21 pm

» Como colocar hoje em dia AdMob no meu jogo?
por cascavelo Seg Ago 18, 2014 12:01 pm

» Contador de Moedas
por Mestre Rá Seg Ago 18, 2014 8:52 am

» Remover Collision shape -physics-
por matheusco Seg Ago 18, 2014 2:08 am

» Como Dar uma quantidade aleatória de itens?
por Mannoroth Dom Ago 17, 2014 10:40 pm

» Avast impedindo executar o jogo?
por Gabreel Dom Ago 17, 2014 5:06 am

» [#CQ19] Animais - Resultado
por Tanker GT Dom Ago 17, 2014 12:08 am

» Crio Trilha Sonora para Games!
por Isaias Malafaia Sab Ago 16, 2014 10:31 pm

» FutQuiz
por jairjosemoreira Sab Ago 16, 2014 9:15 pm

» Como fazer com que o objeto siga o mouse?
por WellingtonBecker Sab Ago 16, 2014 9:12 pm

» Alguma ideia para um jogo?
por Diego albert Sab Ago 16, 2014 6:51 pm

» Não sei o nome e muito menos como fazer... Ajuda?
por gabrielsch Sab Ago 16, 2014 3:51 pm

» Efeito Scanlines (Shaders)
por Pegore Sab Ago 16, 2014 3:25 pm

» Sons externos no Game Maker Studio
por AlexBosquin Sab Ago 16, 2014 1:59 pm

» Webinar grátis: Custo dos Bugs, Controle de Versão
por olesoccer Sab Ago 16, 2014 12:36 pm

» Ajuste de Tela (IMPORTANTE)
por leandro.sousa.7370 Sab Ago 16, 2014 12:25 pm

» inimigo atirar
por AxeInLine Sab Ago 16, 2014 11:12 am

» Programador
por Diego albert Sab Ago 16, 2014 10:34 am

» Don't Go to the Light
por Funbit Games Sab Ago 16, 2014 6:05 am

» [Android] http_get e http_post_string
por GabrielXavier Sab Ago 16, 2014 12:43 am

» pergunta sobre texto que vai aparecendo aos poucos
por ismlelo Sex Ago 15, 2014 9:40 pm

» [Dúvida] Softwares para criação de aúdio 8 Bits.
por Lighter Sex Ago 15, 2014 6:38 pm

» Sonoplasta a disposição
por eduardopolitzer Sex Ago 15, 2014 2:56 pm

» [RESOLVIDO]Bug reverso
por MatheusMM Sex Ago 15, 2014 1:22 pm

» [Galeria] The Origin.
por MatheusMM Sex Ago 15, 2014 12:34 pm

» 7 dicas para melhorar o desempenho dos seus jogos
por Gonçalves Sex Ago 15, 2014 12:07 pm

» Dúvida Game Maker Standard
por douglas444 Sex Ago 15, 2014 8:34 am

» [Ajuda] Erro Android
por matheusbs96 Sex Ago 15, 2014 12:57 am

» Sprite para meu jogo[atualizado]
por João Pedro Qui Ago 14, 2014 8:19 pm

» Fleeing the Shark v.1.0
por JoaoVanBlizzard Qui Ago 14, 2014 7:25 pm

» Ajuda para se Manter agachado ^^
por Lighter Qui Ago 14, 2014 5:14 pm

» Como centralizar banner do AdMob
por cascavelo Qui Ago 14, 2014 2:10 pm

» inimigo me ver
por manobrother Qui Ago 14, 2014 1:00 pm

» [Android] Servidor no Smartphone?
por GabrielXavier Qui Ago 14, 2014 11:43 am

» Algumas pinturas
por Koratsu Qui Ago 14, 2014 11:42 am

» Movimento do mapa topdown estilo RPG antigo
por itarodrigo Qui Ago 14, 2014 11:02 am

» [#CQ19] Votação
por PedroX Qua Ago 13, 2014 11:11 pm

» Sobre GM:S Android Crackeado
por PedroX Qua Ago 13, 2014 10:13 pm

» Alguém conhece um programa para compor em 16 Bits?
por WellingtonBecker Qua Ago 13, 2014 9:27 pm

» [Recrutamento] Team Magma
por LucasBG Qua Ago 13, 2014 8:57 pm

» Como tirar a qualidade de todos os gráfico dos gm?
por AxeInLine Qua Ago 13, 2014 8:45 pm

» Sistema parecido com o do google ideias pf
por icarodantas123 Qua Ago 13, 2014 8:37 pm

» Calabouço Fantasma
por douglas444 Qua Ago 13, 2014 8:34 pm

» [Resolvido]Colisão com parent
por AlexBosquin Qua Ago 13, 2014 8:09 pm

» [Resolvido]Dúvida com sign
por AlexBosquin Qua Ago 13, 2014 8:04 pm

» Desenho para Iniciantes: Rabiscando em 3D
por manobrother Qua Ago 13, 2014 6:11 pm

» spawnar aleatoriamente e velocidade
por Isaque Onix Qua Ago 13, 2014 2:30 pm

» Multiplayer Nativo do GMS
por theguitarmester Qua Ago 13, 2014 8:35 am

» Alguem tem interesse em fazer um jogo desse?
por Funbit Games Ter Ago 12, 2014 11:38 pm

» [Resolvido] GMS - Apagar um tile
por chicoweb Ter Ago 12, 2014 10:37 pm

» duvida polearm
por Isaque Onix Ter Ago 12, 2014 10:09 pm

» Galeria de desenhos (007)
por AxeInLine Ter Ago 12, 2014 10:02 pm

» Uma instancia feita com vários objetos diferentes
por Isaque Onix Ter Ago 12, 2014 8:59 pm

» O que significa STD que aparece?
por jairjosemoreira Ter Ago 12, 2014 8:14 pm

» duvida com dropbox
por Isaque Onix Ter Ago 12, 2014 6:49 pm

» Trabalhando com resoluções em dispositivos móveis
por Isaque Onix Ter Ago 12, 2014 3:02 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: 2325
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: 130

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

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

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

- Tópicos similares

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