Login

Esqueci minha senha

Últimos assuntos
» [CS #1] Concurso Semanal - SOMBRAS
por theguitarmester Hoje à(s) 09:08

» [Pedido] Movimentação de quatro direções com mouse
por Tedi Ripper Hoje à(s) 08:55

» URBANA
por marcin_w_ Hoje à(s) 01:50

» GM RPG - 4º Lição - Atributos do Herói - 1º parte
por itarodrigo Ontem à(s) 23:11

» Quem quer Uma Engine, e de Quê?
por willyruduit Ontem à(s) 22:12

» Engine 3D Zelda RPG
por Tedi Ripper Ontem à(s) 22:07

» Charlie Charlie 3D - Android
por JoaoVanBlizzard Ontem à(s) 20:11

» [DUVIDA]Multiplicar um valor variavel por 100
por First and Last Ontem à(s) 18:30

» Gambol
por Willy Ontem à(s) 10:16

» Splash Screen bugada?
por Markituh Dom 28 Jun 2015, 22:12

» Vibrar o celular não é mais possível com GMS
por Zero. Dom 28 Jun 2015, 21:51

» adaptando o jogo na tela inteira
por vitorlavigne Dom 28 Jun 2015, 18:06

» [Campeão - CQ#18] Corre Leão
por chicoweb Dom 28 Jun 2015, 07:06

» ajuda com sprites
por kael'thas Sab 27 Jun 2015, 23:57

» Usuario copiar texto na tela
por alexandretops Sab 27 Jun 2015, 22:19

» Ski Race 1.0
por Isquilo_Roedor Sab 27 Jun 2015, 22:18

» Programa para finaciamento de jogos
por WellingtonBecker Sab 27 Jun 2015, 18:34

» Erro ao importar arquivo .GMZ
por Sewer Crawler Sab 27 Jun 2015, 17:48

» Tap Run [ Android ]
por itarodrigo Sab 27 Jun 2015, 17:35

» Mine Kong [Android]
por JoaoVanBlizzard Sex 26 Jun 2015, 19:24

» [Android e Pc]Mary-A endless cursed bloody night
por willyruduit Qui 25 Jun 2015, 19:08

» [Ajuda] - Paleta de cores
por Kabeção Qui 25 Jun 2015, 18:53

» [Duvida] Pixel art, tem nome para este estilo ?
por Lighter Qui 25 Jun 2015, 14:50

» Quem aí vende ou venderia sprites, e por quanto?
por douglas444 Qui 25 Jun 2015, 13:50

» Cuidado em duplicar qualquer coisa no GMS
por chicoweb Qui 25 Jun 2015, 12:49

» Tutorial de Multiplayer/Networking Nativo - GMS
por ekuhnen Qui 25 Jun 2015, 10:58

» Esquema de itens[DUVIDA]
por Isaque Onix Qua 24 Jun 2015, 23:27

» quebra de linha automatica em frases?
por WellingtonBecker Qua 24 Jun 2015, 21:33

» Sprinters
por JoaoVanBlizzard Qua 24 Jun 2015, 20:50

» Eu queria uma engine de drag n drop
por Isquilo_Roedor Qua 24 Jun 2015, 19:53

» Como destruir inimigos/objetos em pedaços?
por Sewer Crawler Qua 24 Jun 2015, 18:42

» TORNEIO DE JOGOS #01 - Inscreva seu jogo completo!
por Lighter Qua 24 Jun 2015, 18:33

» BUILD FAILED?
por Adriel Qua 24 Jun 2015, 17:46

» Style
por Isquilo_Roedor Qua 24 Jun 2015, 12:51

» Sprite by Tiger old project
por Nicolas Melo Qua 24 Jun 2015, 12:09

» [RESOLVIDO] Inserir Variaveis vinculadas em rooms
por ANDREASCRUST Qua 24 Jun 2015, 11:48

» [Duvida] sistema de load online
por squalidux Qua 24 Jun 2015, 11:21

» código para inimigo parar ao detecta um burraco
por marcin_w_ Qua 24 Jun 2015, 04:41

» preciso de ideias para o jogo que estou fazendo
por Adriel Ter 23 Jun 2015, 22:54

» [CAMPANHA] Exportem para HTML5!
por dharrison Ter 23 Jun 2015, 22:26

» Adicionar pedaço da imagem
por Zero. Ter 23 Jun 2015, 13:01

» Problema na colisão ao agachar
por aminaro Ter 23 Jun 2015, 12:47

» [tutorial] Iluminação
por theguitarmester Ter 23 Jun 2015, 10:56

» [PEDIDO] servidor e cliente simples
por Rodrigo Santiago Ter 23 Jun 2015, 08:12

» Erro Tela preta game maker STEAM
por Zero. Ter 23 Jun 2015, 01:19

» Contra Fan Game
por RodrigoP Ter 23 Jun 2015, 01:06

» Problemas com criação de sprite através de surface
por Zero. Seg 22 Jun 2015, 21:55

» [Dúvida] Como exportar screen_save transparente ?
por itarodrigo Seg 22 Jun 2015, 21:10

» [JOGO]Blow Those Asteroids
por rmallermartins Seg 22 Jun 2015, 19:06

» 75% desconto em módulos GMS
por itarodrigo Seg 22 Jun 2015, 18:35

» YoYo Games é vendida por $16.4 Milhões Dólares
por SKILL Seg 22 Jun 2015, 16:20

» Como subir paredes "kicando"
por ANDREASCRUST Seg 22 Jun 2015, 14:30

» [Resolvido]Erro com Engine de Sangue
por ANDREASCRUST Seg 22 Jun 2015, 14:04

» PRECISO DE TUTORIAS DE GML (Game Maker Linguage)
por willyruduit Seg 22 Jun 2015, 12:37

» [Arte]Pixel Arts de Armas
por LightSpeedy Dom 21 Jun 2015, 22:36

» Duvidas! 2D E 3D NO MESMO GAME
por Rodrigo Santiago Dom 21 Jun 2015, 07:57

» [Resolvido]sistema booleano com o mouse
por Hypno Sab 20 Jun 2015, 23:04

» Procuro sons medievais de batalha
por Riccardoric Sab 20 Jun 2015, 20:56

» Bomb GO! (Android/Windows)
por Hyreos Sab 20 Jun 2015, 00:21

» [Resolvido]healthbar na vertical
por Gonzo Sex 19 Jun 2015, 20:13

» [Discuss]Um fórum com potencial e um foco limitado
por ekuhnen Sex 19 Jun 2015, 17:29

» Problema com altura do tiro
por Willy Sex 19 Jun 2015, 14:08

» [Resolvido]Como destruir o objeto explosão
por kael'thas Sex 19 Jun 2015, 13:29

» [CM#2]Void
por Rodrigo Santiago Sex 19 Jun 2015, 13:25

» [CM#02] Amalgam (BETA)
por Duca Sex 19 Jun 2015, 12:40

» Movimentação a 45 de dois personagens
por Zero. Sex 19 Jun 2015, 01:01

» [AJUDA] Sobre os Códigos Obsoletos.
por Roberto Souza Qui 18 Jun 2015, 13:28

» Como fazer login com Google Play
por itarodrigo Qui 18 Jun 2015, 08:17

» Criação de trilhas para games e efeitos sonoros
por Willy Qui 18 Jun 2015, 08:15

» [Tutorial] Google Play Conquistas - Parte 2
por itarodrigo Qui 18 Jun 2015, 08:15

» [Sugestão] Crack é proibido, mas...
por Willy Qui 18 Jun 2015, 00:02

» [Engines] Projetos que lhe podem ser úteis
por Misa Qua 17 Jun 2015, 16:09

» [AJUDA] Problema com ini
por ekuhnen Qua 17 Jun 2015, 10:22

» [PROJETO]TCG Multiplayer Online
por ekuhnen Qua 17 Jun 2015, 10:14

» Video tutorial - sombras
por itarodrigo Qua 17 Jun 2015, 09:04

» GameMaker por R$65 na Steam
por itarodrigo Ter 16 Jun 2015, 23:34

» Procura-se Spriters Iniciantes (VAGAS)
por Gutorrock Ter 16 Jun 2015, 21:05

» Regras do Fórum
por Willy Ter 16 Jun 2015, 14:51

» Engine de Plataforma
por Ian Lages Ter 16 Jun 2015, 10:49

» Perseguir Personagem
por SnowyFoxGMS Ter 16 Jun 2015, 01:17

» Crio musicas em 8bits para jogos ;D
por Pixelista Seg 15 Jun 2015, 23:12

» Motor Fugitive [android]
por Duca Seg 15 Jun 2015, 21:48

» Erro criação APK( BUILD FAILED )
por alexandretops Seg 15 Jun 2015, 20:39

» [Concurso Mensal #02]-Resultados
por WellingtonBecker Seg 15 Jun 2015, 12:27

» Site 100% html5, funciona?Como colocar auto escala
por Jessezyn Seg 15 Jun 2015, 09:27

» Script sem argumento
por GabrielXavier Seg 15 Jun 2015, 01:44

» [Resolvido] Problema com o GMS/Android
por GabrielXavier Seg 15 Jun 2015, 00:53

» [Resolvido]problemas com a variavel de "morrer"
por Enrick Sandro Dom 14 Jun 2015, 20:15

» Dúvida complexa com game maker
por Superbomber Dom 14 Jun 2015, 17:20

» Ideia para jogo de luta.
por JMath Dom 14 Jun 2015, 14:47

» [Resolvido]script_execute não esta´funcionando pra mim
por Gonzo Dom 14 Jun 2015, 13:29

» [Resolvido]Duvida sobre sprites
por -Voxel Dom 14 Jun 2015, 13:19

» [PROJETO] Pocket Card RPG
por itarodrigo Dom 14 Jun 2015, 12:39

» SB Score - Rank online gratuito para seus jogos
por Dotted Chaos Dom 14 Jun 2015, 11:38

» Meus Tutoriais [ITARODRIGO]
por itarodrigo Dom 14 Jun 2015, 11:16

» [SungazerTV] Physics Linear - #2
por sungazer Dom 14 Jun 2015, 11:06

» Cartola
por chicoweb Sab 13 Jun 2015, 20:26

» (Me Ajuda)NSIS Error - Installer integrity check
por LeoHost Sab 13 Jun 2015, 15:59

» Feito somente com círculos no Inkscape.
por Isquilo_Roedor Sab 13 Jun 2015, 13:27


[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: 357
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: 6030
Idade: 19
Data de inscrição: 26/07/2008
Notas recebidas: C+B
Reputação: 285
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: 357
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: 24
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