Login

Esqueci minha senha

Últimos assuntos
» reciclar o apk
por Mannoroth Hoje à(s) 03:48

» Match 3 engine
por Sewer Crawler Hoje à(s) 01:09

» [Stencyl]Engine legal que eu achei na net!
por Sewer Crawler Hoje à(s) 01:01

» Crio Trilha Sonora para Games!
por Skay Galaxte Ontem à(s) 20:40

» Produção de Jogos Academy
por itarodrigo Ontem à(s) 20:16

» DÚVIDA: Strings e nomes de variaveis
por Neutral Ontem à(s) 20:09

» [Resolvido]Hospeda música no play store
por Gonzo Ontem à(s) 19:58

» [Arte] Parallaxes - Cena
por Gonzo Ontem à(s) 19:33

» Tem como criar uma barra aonde pode se escrever ?
por lipilopes Ontem à(s) 17:06

» C - Zombies - Elimination
por polosam Ontem à(s) 13:08

» galeria de pixel arte
por polosam Ontem à(s) 12:05

» Recrutamento: Graphic Designers e Sonoplastas
por theguitarmester Ontem à(s) 10:33

» [Sugestão] Sobre o fórum
por theguitarmester Ontem à(s) 09:15

» Inserir Vídeo
por JoaoVanBlizzard Ter 05 Maio 2015, 23:56

» [tuto-dica] Importar modelo do Blender com UV MAP
por JoaoVanBlizzard Ter 05 Maio 2015, 23:52

» [Tutorial] Como fazer um sistema de bau simples
por guamaral Ter 05 Maio 2015, 17:56

» Ajuda para room 3d com sprites 2d
por cascavelo Ter 05 Maio 2015, 11:07

» Da pra abrir meu projeto do GM Stud em outros GMS?
por theguitarmester Ter 05 Maio 2015, 10:51

» [Engine] Menu para softwares
por theguitarmester Ter 05 Maio 2015, 08:43

» [GMBR JAM #02] Pega Água!!!
por Tiger Ter 05 Maio 2015, 00:17

» [CM#01] Jelly Quest (BETA)
por Tiger Seg 04 Maio 2015, 23:15

» Da pra inserir video no GM Studio?
por Gonzo Seg 04 Maio 2015, 22:29

» [Resolvido]Como mover vários objetos juntos?
por seymore Seg 04 Maio 2015, 22:11

» Abertura similar aos softwares do Adobe
por Lukbebalduke Seg 04 Maio 2015, 20:05

» Tornar tiles invisiveis.
por itarodrigo Seg 04 Maio 2015, 17:50

» Erro ao iniciar GM - Out of memory
por Markituh Seg 04 Maio 2015, 17:20

» [Sugestão] Seção para um programa de gráficos 2D
por AxeInLine Seg 04 Maio 2015, 13:51

» Configurando compatibilidade do app
por WellingtonBecker Seg 04 Maio 2015, 11:15

» Sobre Isometria
por Felipe Reis Magno 2 Seg 04 Maio 2015, 10:49

» [Concurso Mensal #02] - Prêmio de R$ 200 na Steam
por dharrison Seg 04 Maio 2015, 09:04

» [Off Topic] Pérolas GMBR
por Sewer Crawler Dom 03 Maio 2015, 20:56

» Artigo sobre Tipos de Desafio e Sugestão
por matheusco Dom 03 Maio 2015, 13:25

» Game Maker Brasil no Whatsapp
por DR games Sab 02 Maio 2015, 23:13

» Windows Phone vs Android, Vale a Pena Desenvolver?
por willyruduit Sab 02 Maio 2015, 21:56

» Pokémon - The Japan's legend
por xLuiZz Sab 02 Maio 2015, 20:06

» Tutorial básico: Arrays
por Markituh Sab 02 Maio 2015, 16:57

» Como fazer uma luz (plataforma 2d) com esse script
por Isquilo_Roedor Sab 02 Maio 2015, 16:24

» Nirvana - The Game v0.0.0.2
por JoaoVanBlizzard Sab 02 Maio 2015, 16:02

» [Pergunta] Draw primitive
por Lukbebalduke Sab 02 Maio 2015, 14:06

» [CM#02] Mirrors: Beta
por Terra Construct! Sab 02 Maio 2015, 11:00

» Ultimos assuntos estão em japonês!
por aminaro Sab 02 Maio 2015, 10:20

» Erro desse código de gerar mapa :/
por icarodantas123 Sab 02 Maio 2015, 01:03

» [Jogo] Lost A ilha perdida
por Terra Construct! Sex 01 Maio 2015, 21:11

» [Resolvido] checar fim do sprite
por Gonzo Sex 01 Maio 2015, 19:03

» [Resolvido]Bug de surface luz nao segue jogador
por Markituh Sex 01 Maio 2015, 17:28

» Como parar o tempo no jogo?
por LightVelox Sex 01 Maio 2015, 12:55

» [JOGO] Turn Turn [ANDROID]
por aminaro Sex 01 Maio 2015, 09:15

» [Pergunta]Como fica em gml: Se eu pular por cima..
por Sewer Crawler Sex 01 Maio 2015, 02:15

» Duvida windows 10
por itarodrigo Qui 30 Abr 2015, 17:17

» Como fazer escurecer?
por Isquilo_Roedor Qui 30 Abr 2015, 15:34

» Um pouco sobre Scripts
por Isaque Onix Qui 30 Abr 2015, 14:05

» Contrato programador completo ou Equipe
por Susano Qui 30 Abr 2015, 12:15

» [JOGO]FireBird - The Game
por JoaoVanBlizzard Qui 30 Abr 2015, 10:49

» [AJUDA]Como Colocar Icone no Executavel?
por xLuiZz Qui 30 Abr 2015, 10:19

» Space Mission (Android)
por Ronaldo Rodrigues Qui 30 Abr 2015, 02:16

» Esta pagina possui algum tipo de monetização?
por JoaoVanBlizzard Qua 29 Abr 2015, 21:57

» Hero (Projeto)
por willyruduit Qua 29 Abr 2015, 20:15

» [Formaçao De Equipe]Um Novo Jogo,Go!
por DR games Qua 29 Abr 2015, 19:17

» Duvida sobre concursos
por JoaoVanBlizzard Qua 29 Abr 2015, 15:04

» Erro criação de key hash
por itarodrigo Qua 29 Abr 2015, 10:06

» Site com dicas para desenvolvedores
por itarodrigo Ter 28 Abr 2015, 21:10

» [Arte]Avaliem esse Esboço
por HM2 Ter 28 Abr 2015, 20:45

» tem como recuperar um jogo usando o instalador?
por DR games Ter 28 Abr 2015, 00:07

» [Resolvido] Sobre Variavel e if
por xLuiZz Seg 27 Abr 2015, 22:49

» Posso postar jogos do Rpg Maker?
por WellingtonBecker Seg 27 Abr 2015, 19:26

» [Tuto]Instalando e configurando o android para gms
por Jessezyn Seg 27 Abr 2015, 18:44

» Como vender itens no playstory
por Gonzo Seg 27 Abr 2015, 18:34

» [Alpha 1.2.0] Magic Royale
por matheusco Seg 27 Abr 2015, 17:21

» [Resolvido]Background duplo
por Isaque Onix Seg 27 Abr 2015, 17:20

» [Resolvido]Como deixar a room preta e branca?
por BugueiXD Dom 26 Abr 2015, 19:40

» Video Aula de Pixelart
por VicenteURGENTE Dom 26 Abr 2015, 12:25

» Dúvida com Debug
por seymore Dom 26 Abr 2015, 03:56

» Criar instância dinamicamente
por itarodrigo Dom 26 Abr 2015, 00:34

» [arte]essa capa está boa para um jogo?
por icarodantas123 Sab 25 Abr 2015, 22:12

» Billy's Fiery Adventure
por Gonzo Sab 25 Abr 2015, 21:31

» Uma mensagem aos participantes do CM#02
por Mr.Rafael Sab 25 Abr 2015, 17:53

» Testar ping(em ms) pra qualquer ip digitado igual
por icarodantas123 Sab 25 Abr 2015, 01:35

» [DÚVIDA] Sprite que fica sempre no final do texto
por matheusco Sab 25 Abr 2015, 01:22

» Movimento do cano do Tank!!
por Zero. Sex 24 Abr 2015, 21:29

» Problemas com sprite offset e lengthdir !!
por ChicoGamer Sex 24 Abr 2015, 17:40

» Duvida Simples
por aminaro Sex 24 Abr 2015, 17:38

» Mapa do universo
por Isaque Onix Sex 24 Abr 2015, 14:03

» Meu Mapa
por Isaque Onix Sex 24 Abr 2015, 12:01

» [CM#2] Hunter of Souls
por seymore Qui 23 Abr 2015, 22:49

» Spyre
por Isaque Onix Qui 23 Abr 2015, 22:01

» sonic slash smash!preciso de sugestões
por Um Gamer Qualquer Qui 23 Abr 2015, 18:48

» Open Game Art - Convite
por Lukbebalduke Qui 23 Abr 2015, 16:18

» Preciso de dicas sobre sonoplastia.
por Mateus O de Andrade Qui 23 Abr 2015, 15:34

» [Duvida] Resoluções android
por aminaro Qua 22 Abr 2015, 23:42

» Iniciar Determinada Aplicação
por Gonzo Qua 22 Abr 2015, 23:08

» Sonic World 2
por Um Gamer Qualquer Qua 22 Abr 2015, 21:39

» E permitido isso?
por Markituh Qua 22 Abr 2015, 20:33

» Ajuda com potion em pixelArt
por chicoweb Ter 21 Abr 2015, 23:24

» Problemas na compilação
por Meokor Ter 21 Abr 2015, 13:16

» Alternativa para Mesa Digitalizadora?
por polosam Ter 21 Abr 2015, 10:54

» Preciso de um Artista
por seymore Seg 20 Abr 2015, 20:25

» Artigo|Discussão - Programação Orientada a Eventos
por Kabeção Seg 20 Abr 2015, 20:14

» Trap For Ants [#LD32]
por WellingtonBecker Seg 20 Abr 2015, 19:39

» Carrot Bender [#LD32]
por paulovmdutra Seg 20 Abr 2015, 15:29


[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: 354
Idade: 19
Data de inscrição: 13/05/2010
Reputação: 3
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: 2494
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: 6024
Idade: 19
Data de inscrição: 26/07/2008
Notas recebidas: C+B
Reputação: 283
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: 354
Idade: 19
Data de inscrição: 13/05/2010
Reputação: 3
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: 913
Idade: 23
Data de inscrição: 28/04/2011
Notas recebidas: D + D + C + C + D + B
Reputação: 41
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