Login

Esqueci minha senha

Últimos assuntos
» 2D Vehicle Physics
por Kabeção Hoje à(s) 01:15

» [CM#01] Fight on Fall
por LightVelox Hoje à(s) 00:40

» Quem quer Uma Engine, e de Quê?
por Isquilo_Roedor Ontem à(s) 21:51

» [TUTORIAL] Criando uma linguagem de script I
por [PHX] Ontem à(s) 21:41

» GM:S carregando imagens online
por alison.antonioloffi Ontem à(s) 21:12

» FutVida - A sua vida de jogador de futebol
por Fernando Monteiro Ontem à(s) 19:21

» [Dúvida] Confuso com o Image Loaded!
por DeathStr0ke Ontem à(s) 19:15

» [GMBR JAM #02] Pega Água!!!
por Willy Ontem à(s) 18:28

» Como fazer dia e noite e luzes para clarear a noit
por Willy Ontem à(s) 17:56

» Jimmy Jump - Desenho Animado
por Molinware Ontem à(s) 16:47

» Modo debug travando
por Willy Ontem à(s) 16:11

» Não consigo fazer nada no Model Creator
por Jhones_Araujo Ontem à(s) 15:51

» #IEM Aula 08 - Objetos e Instâncias
por polosam Ontem à(s) 13:40

» [PERGUNTA]Como salvar variaveis em arquivos .ini
por theguitarmester Ontem à(s) 11:01

» duvida php/html
por Isaque Onix Ontem à(s) 10:56

» Ramon Wadry se apresentando!
por Drako Ontem à(s) 03:21

» HTML5 e MMO, é possível?
por Mannoroth Ontem à(s) 00:24

» Parabéns GMBR!!
por SirLeccus Qui 26 Fev 2015, 23:26

» Erro surface.
por Alex FC Qui 26 Fev 2015, 19:53

» #DGM Aula 05 - Sons e músicas
por Alex FC Qui 26 Fev 2015, 16:09

» Gear Clicker!
por FabioLione Qui 26 Fev 2015, 11:52

» [CM#01] Bubble Buster
por Mateus O de Andrade Qui 26 Fev 2015, 08:37

» Fazendo um Inventário (Parte 1)
por Zero. Qui 26 Fev 2015, 08:02

» [GMBR JAM#2] Mega Gray JamRun
por Ufrarion Qui 26 Fev 2015, 06:56

» Pegar e usar o IP de quem cria a partida.
por matheusco Qui 26 Fev 2015, 00:38

» Dúvida com jogo Top Down
por OliVroot Qua 25 Fev 2015, 23:59

» Battle Space
por JoaoVanBlizzard Qua 25 Fev 2015, 22:23

» sobre o pagseguro
por Isaque Onix Qua 25 Fev 2015, 22:17

» [Resolvido]Duvida, Qual Objeto consome mais memoria !?
por willyruduit Qua 25 Fev 2015, 19:28

» [Jogo] Super Mario World o retorno!
por guamaral Qua 25 Fev 2015, 13:25

» Engine Multiplayer - Pós configuração do server
por matheusco Ter 24 Fev 2015, 20:30

» Game tipo manager
por chicoweb Ter 24 Fev 2015, 17:27

» Bug - GMS: Exception reading
por Alex FC Ter 24 Fev 2015, 16:39

» [C] O Domínio de Cetrumon
por chicoweb Ter 24 Fev 2015, 15:58

» [Concurso Mensal #01] - A GMBR Compra seu game!
por Mateus O de Andrade Ter 24 Fev 2015, 14:35

» Script Beta - ChatBox Easy System
por Drako Ter 24 Fev 2015, 14:23

» Onde Divulgar?
por alexfuziokaandrade7 Ter 24 Fev 2015, 03:34

» [PERGUNTA] Colisão com inimigo
por Black Horn Seg 23 Fev 2015, 19:16

» GMBR JAM #02 - Resultado
por vinians Seg 23 Fev 2015, 18:30

» Como andam os jogos brasileiros na Steam?
por Alex FC Seg 23 Fev 2015, 16:39

» Bola de Jogo de botão.
por ebertzin Seg 23 Fev 2015, 15:51

» O mercado de games
por Mateus O de Andrade Seg 23 Fev 2015, 10:52

» [TUTORIAL] Seleção de personagem com globais.
por Black Studio Seg 23 Fev 2015, 01:46

» [PERGUNTA] SmartLight
por Black Studio Seg 23 Fev 2015, 01:32

» Gunman
por Black Horn Dom 22 Fev 2015, 18:08

» [Game] Space Asteroids - Versão 1.04
por paulovmdutra Dom 22 Fev 2015, 17:52

» [Game] Pokémon Valle
por [PHX] Dom 22 Fev 2015, 17:18

» Ajuda com Networking
por matheusco Dom 22 Fev 2015, 13:36

» Medieval Rampage
por Riccardoric Dom 22 Fev 2015, 09:47

» Eu deveria piratear meu próprio jogo?
por Eudes - Hyo Sab 21 Fev 2015, 23:18

» [Resolvido]Como aumentar a força do pulo com um botao?
por DooMan Sab 21 Fev 2015, 22:39

» CREAMMI - Completo
por Eudes - Hyo Sab 21 Fev 2015, 21:29

» [Off Topic] Pérolas GMBR
por Riccardoric Sab 21 Fev 2015, 19:09

» [Resolvido]Como encontrar o arquivo ini no GMS
por KiraYukimura Sab 21 Fev 2015, 18:29

» [Sugestão] Adicionar opção ao fórum...
por WellingtonBecker Sab 21 Fev 2015, 17:57

» Vértices de um retângulo manipulado com image_angl
por Gabreel Sab 21 Fev 2015, 13:03

» [Andamento] Magic Royale
por matheusco Sab 21 Fev 2015, 11:47

» E - First Game
por Skay Galaxte Sex 20 Fev 2015, 19:39

» [Discussão] O Fim dos Avaliadores
por JoaoVanBlizzard Sex 20 Fev 2015, 18:55

» YoYo Games é vendida por $16.4 Milhões Dólares
por Gonzo Sex 20 Fev 2015, 17:53

» Hammer On Art procura compositor profissonal
por Anderson3d Sex 20 Fev 2015, 16:45

» Avaliação
por Black Horn Sex 20 Fev 2015, 15:04

» Lola - Pc Siqueira
por Gonzo Qui 19 Fev 2015, 20:28

» [Resolvido]Símbolo que represente TODAS as letras e números
por 100%Dedicada Qui 19 Fev 2015, 19:50

» Pokemon Hyper Beam Online
por [DEV]Black Qui 19 Fev 2015, 18:57

» [RESOLVIDO] Usar sprite como fonte
por Willy Qui 19 Fev 2015, 17:42

» [Resolvido]Como limitar o lugar de criação do objeto na room?
por Willy Qui 19 Fev 2015, 12:53

» [Resolvido]Pontuação continua
por fabricio w Qua 18 Fev 2015, 21:11

» [Android] HELM
por ppaulo.braz Qua 18 Fev 2015, 21:01

» GMBR JAM #02 - Votação
por chicoweb Qua 18 Fev 2015, 20:44

» A triste realidade
por AG Games Qua 18 Fev 2015, 18:27

» Engine de Seleção de Personagem
por AgainstTheClouds Qua 18 Fev 2015, 16:20

» Onde posicionar o evento de alarme
por Urick Qua 18 Fev 2015, 16:16

» Jimmy Jump - Desenho Animado
por Molinware Qua 18 Fev 2015, 15:12

» [RESOLVIDO] Pq aparece esta mensagem de erro ?
por vinians Qua 18 Fev 2015, 14:52

» [Resolvido] Ataque e salto do personagem
por fernando.munizerthal Qua 18 Fev 2015, 13:50

» Regras da Galeria de Projetos - Leia com atenção!
por Mateus O de Andrade Qua 18 Fev 2015, 12:02

» [Resolvido]Criar Objetos aleatórios em lugares específicos
por 100%Dedicada Qua 18 Fev 2015, 09:47

» Fazendo um jogo Point n Click
por Roooger Ter 17 Fev 2015, 20:34

» [Resolvido]Onde está o erro ? (Global e Room)
por 100%Dedicada Ter 17 Fev 2015, 20:03

» [Resolvido]Gm ler string, captar letras e editar? Tem como?
por icarodantas123 Ter 17 Fev 2015, 18:23

» Ajuda com alarms
por AG Games Ter 17 Fev 2015, 18:01

» [PERGUNTA]Desabilitar tecla enquanto lança poder
por caiquerafinha Ter 17 Fev 2015, 17:23

» [Resolvido] background em surface bugado
por AlexBosquin Ter 17 Fev 2015, 09:48

» Game maker studio não funciona com pc's em rede?
por paulovmdutra Ter 17 Fev 2015, 09:37

» [GMBR JAM #02] [XCreator] The R.O.K (Download)
por vinians Ter 17 Fev 2015, 00:13

» Problema com aumentar e diminuir o volume
por Riccardoric Seg 16 Fev 2015, 23:55

» Muitas linhas no Create
por 100%Dedicada Seg 16 Fev 2015, 23:06

» {Cold Editor} - Software|Windows| Editor HTML
por meldolave Seg 16 Fev 2015, 21:35

» Como fazer efeito de fumaça?
por Lighter Seg 16 Fev 2015, 16:48

» Armazenar dados online Game Maker Studio...
por Lighter Seg 16 Fev 2015, 11:07

» [Discuss]Um fórum com potencial e um foco limitado
por Rodrigo Santiago Seg 16 Fev 2015, 09:07

» GM RPG - 3º Lição - Janelas Flutuantes estilo Ragnarok - 1º parte
por Riccardoric Seg 16 Fev 2015, 00:09

» Script foda, queria editar pra por site br... :/
por icarodantas123 Dom 15 Fev 2015, 21:49

» [GMBR JAM #02] Astronaut Jump
por AG Games Dom 15 Fev 2015, 20:18

» [Discussão] Poker Face
por DieBoy Dom 15 Fev 2015, 19:20

» Funções Equivalentes as obsoletas no GMS?
por AlexBosquin Dom 15 Fev 2015, 14:57

» Cores com bug html5???
por AG Games Sab 14 Fev 2015, 22:32

» Inimigos voltarem aonde estavam (checkpoint)
por AG Games Sab 14 Fev 2015, 21:07


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

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

LeandroDaher

Número de Mensagens: 349
Idade: 19
Data de inscrição: 13/05/2010
Reputação: 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
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 29 Nov 2011, 20:14

Ó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: 2487
Idade: 21
Data de inscrição: 20/12/2008
Notas recebidas: B A
Reputação: 165
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 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 29 Nov 2011, 20:22

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
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
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 29 Nov 2011, 21:42

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!

PedroX

Ranking: Nota C
Número de Mensagens: 6016
Idade: 19
Data de inscrição: 26/07/2008
Notas recebidas: C+B
Reputação: 280
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
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 30 Nov 2011, 18:19

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: 349
Idade: 19
Data de inscrição: 13/05/2010
Reputação: 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
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 30 Nov 2011, 19:19

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
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
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 01 Dez 2011, 14:29

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
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
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 03 Dez 2011, 01:58

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
Reputação: 26
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
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 03 Dez 2011, 12:09

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: 906
Idade: 23
Data de inscrição: 28/04/2011
Notas recebidas: D + D + C + C + D + B
Reputação: 39
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
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