Login

Esqueci minha senha

Últimos assuntos
» carregar,caminar e soltar objetos
por Sewer Crawler Hoje à(s) 12:58 am

» [CA][Beta] Se Mata
por mrbrum22 Hoje à(s) 12:04 am

» [CQ ANUAL] Soul Eternium
por leocc Ontem à(s) 11:04 pm

» Aba de som diferente
por PacificoDesigner Ontem à(s) 8:43 pm

» Empurrar blocos - GMS
por Sewer Crawler Ontem à(s) 5:38 pm

» Engine empurrar objeto
por Sewer Crawler Ontem à(s) 4:49 pm

» Programador nível profissional
por kammer_black Ontem à(s) 11:15 am

» Aula 2 - Introdução em GML - Variáveis
por Alex FC Sab Dez 20, 2014 9:40 pm

» Game Maker Studio PRO + Modulo Android
por Caioc Sab Dez 20, 2014 2:58 pm

» [SAIBA O QUE É!] IBR Magazine
por Shafter_ Sab Dez 20, 2014 9:47 am

» Desenho para Iniciantes: Rabiscando em 3D
por namikazealexandre Sab Dez 20, 2014 2:57 am

» Calendário de concursos
por dharrison Sab Dez 20, 2014 12:37 am

» [GMBR JAM #01] TNT
por Dotted Chaos Sex Dez 19, 2014 10:57 pm

» Manipulando Janelas
por Sewer Crawler Sex Dez 19, 2014 7:56 pm

» [IBR MAGAZINE] 1ª Edição
por Shafter_ Sex Dez 19, 2014 5:19 pm

» "//ENGINE DE PAUSE\\"
por GeraldRobotnik Sex Dez 19, 2014 3:45 pm

» [Dúvida]Como usar um modelo como Ground?
por GeovaniCMX Sex Dez 19, 2014 3:35 pm

» resetar as vidas na próxima room?
por Katerp Sex Dez 19, 2014 2:14 pm

» Sonoplastia - Começando a gravar !!! - PT.2
por VitorClc Sex Dez 19, 2014 9:10 am

» Ajuda com menu no GMS
por allan_machado49 Sex Dez 19, 2014 3:16 am

» [GM SDK 2.0][Log de Desenvolvimento]
por mrbrum22 Qui Dez 18, 2014 7:06 pm

» [Off Topic] Pérolas GMBR
por mrbrum22 Qui Dez 18, 2014 6:39 pm

» [CQ-Anual] Kill To Pass
por Lukbebalduke Qui Dez 18, 2014 6:16 pm

» Criação De Sprites
por Isquilo_Roedor Qui Dez 18, 2014 3:27 pm

» [Dúvida] Qual a importância dos "Parênteses"no"if"
por JoaoVanBlizzard Qui Dez 18, 2014 10:37 am

» Quem quer Uma Engine, e de Quê?
por theguitarmester Qui Dez 18, 2014 8:32 am

» Casa Estilo TDS
por Wendryos - Black Horn Qui Dez 18, 2014 7:41 am

» Animação para Jogos
por PedroIgor Qui Dez 18, 2014 7:18 am

» como mostrar valores em ordem alfabetica
por matheusco Qua Dez 17, 2014 5:36 pm

» a procura de dicas e ideias
por Isaque Onix Qua Dez 17, 2014 1:29 pm

» Contador De Moedas
por Wendryos - Black Horn Qua Dez 17, 2014 12:45 pm

» [AJUDA] Personagem com Sprites divididos
por Roooger Qua Dez 17, 2014 10:40 am

» [Android] Square
por caiquerafinha Qua Dez 17, 2014 9:25 am

» [Android] Outside Forest
por DooMan Qua Dez 17, 2014 9:03 am

» [Dúvida] Trabalhando com objetos animados 3D [GMS]
por Sewer Crawler Ter Dez 16, 2014 8:08 pm

» Baixe Professora game maker 2
por efraim leonardo Ter Dez 16, 2014 8:04 pm

» Opinião: Site sobre etapas do desenvolvimento.
por matheusco Ter Dez 16, 2014 7:27 pm

» Equipe para desenvolvimento de jogos educativos
por Isaque Onix Ter Dez 16, 2014 7:20 pm

» [GMBR Magazine] Vagas para CDC's
por Shafter_ Ter Dez 16, 2014 7:18 pm

» Movimentos por acelerômetro
por WellingtonBecker Ter Dez 16, 2014 6:17 pm

» Vibração para Windows Phone
por wicttor.sullivan.2 Ter Dez 16, 2014 3:57 pm

» IA Básica de TDS por GONÇALVES
por DeeW. Ter Dez 16, 2014 3:16 pm

» Enquete Portal
por PedroX Ter Dez 16, 2014 2:47 pm

» Erro ao exportar APK
por Ronaldo Rodrigues Ter Dez 16, 2014 2:32 pm

» Concurso GMBR 2014: A morte é um novo começo
por Riccardoric Ter Dez 16, 2014 10:54 am

» Gear Clicker!
por theguitarmester Ter Dez 16, 2014 10:48 am

» [Jogo] Codex Vitarum
por matheusco Ter Dez 16, 2014 10:47 am

» [Engine]Inventario
por caiquerafinha Dom Dez 14, 2014 9:14 pm

» Sistema de 3 estrelas - Parte: 1
por caiquerafinha Dom Dez 14, 2014 8:26 pm

» [DICA] Portfólio profissional; Fonte de inspiração
por Roooger Dom Dez 14, 2014 8:13 pm

» Onde encontro um Inventário completo?
por caiquerafinha Dom Dez 14, 2014 7:25 pm

» Instalador com outros arquivos além do executável.
por matheusco Dom Dez 14, 2014 5:31 pm

» (CQ-A)Zinkis Family - "A Morte é um novo começo"
por caiquerafinha Dom Dez 14, 2014 3:28 pm

» [TUTORIAL] Seleção de level com globais
por gabriel33245900 Dom Dez 14, 2014 2:24 pm

» Pergunta pros desenhistas.
por matheusco Dom Dez 14, 2014 12:55 pm

» Problemas com GamePad
por Zero. Dom Dez 14, 2014 10:42 am

» Mapa em Top Down
por PacificoDesigner Dom Dez 14, 2014 7:47 am

» [Resolvido]Arquivos INI - Erro no código.
por matheusco Dom Dez 14, 2014 12:52 am

» Interface Score Online
por WellingtonBecker Sab Dez 13, 2014 9:57 pm

» Como Mudar Views
por Wendryos - Black Horn Sab Dez 13, 2014 7:37 pm

» Como escolher resolução do jogo?
por matheusco Sab Dez 13, 2014 5:07 pm

» [AJUDA] GMS UPGRADE
por matheusco Sab Dez 13, 2014 11:49 am

» Preciso entender a ferramenta GMK-Splitter
por |AoX|-richard Sex Dez 12, 2014 9:52 pm

» [CQ Anual] Reki
por makgamer Sex Dez 12, 2014 8:12 pm

» Arc World
por Kabeção Sex Dez 12, 2014 5:33 pm

» I Walk Alone(20%)
por Wendryos - Black Horn Sex Dez 12, 2014 3:11 pm

» Crio musicas em 8bits para jogos ;D
por Wendryos - Black Horn Sex Dez 12, 2014 2:50 pm

» [Resolvido] Programa que reparte imagem.
por Sewer Crawler Sex Dez 12, 2014 1:03 pm

» [CQ Anual] Devorador
por Zero. Sex Dez 12, 2014 12:55 pm

» Atacando sem parar
por Wendryos - Black Horn Sex Dez 12, 2014 12:38 pm

» MapGen - Pt.1
por Gonçalves Qui Dez 11, 2014 8:47 pm

» Tutorial de gravidade e movimento em rampas
por Isaque Onix Qui Dez 11, 2014 8:29 pm

» Hero (Projeto)
por JoaoVanBlizzard Qui Dez 11, 2014 2:50 pm

» Abrir arquivos em outros programas
por gabriel33245900 Qui Dez 11, 2014 11:38 am

» falta algo no meu código?
por theguitarmester Qui Dez 11, 2014 9:06 am

» [CAMPANHA] Salvem o Chatbox!
por theguitarmester Qui Dez 11, 2014 8:13 am

» [Duvida] Criação do mapa.
por Sewer Crawler Qui Dez 11, 2014 2:00 am

» [Tutorial] Sonoplastia - Instrumento + PC - PT.1
por Dancity Qui Dez 11, 2014 12:11 am

» Como usar o draw_text com duas variaveis juntas
por Isaque Onix Qua Dez 10, 2014 11:28 pm

» Procurando um bom spriter para equipe[PIXELART]
por Isquilo_Roedor Qua Dez 10, 2014 8:26 pm

» [RESOLVIDO]Movimentação para subir/descer rampa
por Isaque Onix Qua Dez 10, 2014 7:51 pm

» Comunidades GM de outras línguas.
por vitorfernandes13 Qua Dez 10, 2014 7:45 pm

» [RESOLVIDO]Problema move towards bug!
por gabriel33245900 Qua Dez 10, 2014 6:31 pm

» Botão Compartilhar
por tiotolas Qua Dez 10, 2014 5:33 pm

» Sons com tempo de atraso
por marcossfc Qua Dez 10, 2014 2:42 pm

» Engine de plataforma(Naruto)
por Sewer Crawler Qua Dez 10, 2014 12:44 pm

» Smart Snake
por theguitarmester Qua Dez 10, 2014 7:42 am

» Engine simples cheia de codigos para Plataforma!
por Raule Qua Dez 10, 2014 3:12 am

» Centralizar Texto com BUG
por gabrielsch Ter Dez 09, 2014 11:38 pm

» Meu primeiro sprite
por Isquilo_Roedor Ter Dez 09, 2014 10:52 pm

» [RESOLVIDO]Como criar 9 flechas em anglo?
por Sewer Crawler Ter Dez 09, 2014 10:38 pm

» SDK android
por Ronaldo Rodrigues Ter Dez 09, 2014 9:57 pm

» [Aula 06]Criando objeto e programando
por gabriel33245900 Ter Dez 09, 2014 8:48 pm

» Digimon: Digital Tamer - Ultimate Demo Edition
por migueltopsp Ter Dez 09, 2014 6:54 pm

» [Resolvido] Problema com Background fixo
por Riccardoric Ter Dez 09, 2014 6:22 pm

» [Concurso] Ludum Dare #31
por Riccardoric Ter Dez 09, 2014 4:27 pm

» Não consigo visualizar imagens do forum :/
por Riccardoric Ter Dez 09, 2014 1:51 pm

» FutVida - A sua vida de jogador de futebol
por Fernando Monteiro Ter Dez 09, 2014 10:41 am

» Movimentação em tabuleiro
por AxeInline Ter Dez 09, 2014 9:30 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 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: 2388
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: 140

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


Entre para o Clube do Inglês:

PedroX

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

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

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

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