Login

Esqueci minha senha

Últimos assuntos
» Sons em ordem predeterminada
por WellingtonBecker Hoje à(s) 22:16

» [ajuda]Pinceis
por Isaque Onix Hoje à(s) 22:03

» Skull RGB
por DNilo Hoje à(s) 21:54

» Natural: Alpha 0.0.2
por SaiyanLight Hoje à(s) 20:59

» [A]Sakura Bird: Um Bullet Hell com Bullet Time!
por JoaoVanBlizzard Hoje à(s) 16:21

» Seja um Avaliador!
por Willy Hoje à(s) 14:58

» By a whisker
por Gonçalves Hoje à(s) 13:03

» Projeto Open Source: Relic Hunters Zero
por mventurelli Hoje à(s) 12:57

» Mega pacote de recursos, sprites, músicas e códigos-fonte!
por Isquilo_Roedor Hoje à(s) 12:41

» Availação em video, o que acham galera(video2)
por DNilo Hoje à(s) 09:49

» RPG estilo Plataforma
por Witen Ontem à(s) 19:29

» Mouse para o Menu e teclado para o jogo,isso pode?
por DNilo Ontem à(s) 17:25

» Comando 19 (Android )
por Ronaldo Rodrigues Ontem à(s) 12:42

» Movimento tipo elástico - Fisica
por Witen Ontem à(s) 08:44

» Windows7 vs Windows10
por Black Studio Ontem à(s) 01:33

» [Engine] alavanca ON/OFF + seguir suave
por Witen Sab 01 Ago 2015, 21:51

» The Dark Hole
por Furyors Sab 01 Ago 2015, 20:11

» O bicho não me segue
por chicoweb Sab 01 Ago 2015, 15:55

» Modelos 3d simples .obj onde conseguir?
por WellingtonBecker Sab 01 Ago 2015, 13:38

» Laser que reflete?
por WellingtonBecker Sab 01 Ago 2015, 12:11

» Concorra a curso e livros sobre jogos
por itarodrigo Sab 01 Ago 2015, 00:08

» Ajuda em Sprites e Design
por pablohrs Sex 31 Jul 2015, 20:00

» [Resolvido]Barra de vida com transparencia
por chicoweb Sex 31 Jul 2015, 16:53

» Faroeste Duelos
por theguitarmester Sex 31 Jul 2015, 09:58

» [Duvida] gravacao de audio no android
por aminaro Qui 30 Jul 2015, 22:41

» Duvida com máscara
por itarodrigo Qui 30 Jul 2015, 21:18

» Problemas com Background
por Gonzo Qui 30 Jul 2015, 20:41

» [CM#2] The Other World
por DesignerRamon Qui 30 Jul 2015, 20:36

» [Dúvida] Teclado retornar só numeros reais
por macedoboka Qui 30 Jul 2015, 08:13

» Conexão SQL Server
por Nayuki Qui 30 Jul 2015, 01:15

» Estrutura de dados
por Isaque Onix Qui 30 Jul 2015, 00:48

» [Arte]Pixel Arts de Armas
por mleoni Qui 30 Jul 2015, 00:47

» Janela Modal
por Isaque Onix Qua 29 Jul 2015, 22:08

» Spyre Wallpaper Maker
por Isaque Onix Qua 29 Jul 2015, 21:33

» Obtenção do Game Maker 8.1 Lite (Windows)
por RafaleCP Qua 29 Jul 2015, 21:31

» Muito demorado para entrar no Fórum.
por Willy Qua 29 Jul 2015, 18:17

» Mega Coleção de Tirinhas
por efraim leonardo Qua 29 Jul 2015, 16:34

» AJUDAAAAA!!!
por Isquilo_Roedor Qua 29 Jul 2015, 13:36

» Rotação em torno do eixo Z
por icarodantas123 Qua 29 Jul 2015, 05:55

» GM 3D Ground tooodo bugado, repetindo a parede...
por icarodantas123 Qua 29 Jul 2015, 05:29

» Procurando Sonoplasta OU Site para criar
por Camin Ter 28 Jul 2015, 22:43

» [PROJETO] Ametista Kid PVP
por chicoweb Ter 28 Jul 2015, 21:48

» Minha Galeria
por JoaoVanBlizzard Ter 28 Jul 2015, 18:44

» Duvida sobre caixa de texto
por DJM_JM Ter 28 Jul 2015, 01:08

» [01]Conhecendo Physics(Fisica nativa do GMS)
por RenanRP Seg 27 Jul 2015, 22:06

» Jogos Comerciais feitos no Game Maker
por Gonçalves Seg 27 Jul 2015, 20:53

» [Physics]Mover objetos com mouse de forma simples
por SuDo Seg 27 Jul 2015, 18:20

» [RESOLVIDO] Duvida com http_post
por itarodrigo Seg 27 Jul 2015, 13:54

» [ENGINE] Slot Machine ou Caça Niqueis
por Mateus O de Andrade Seg 27 Jul 2015, 13:39

» Problema com conexão
por Witen Dom 26 Jul 2015, 23:04

» 2 perguntas sobre ini
por RenanRP Sab 25 Jul 2015, 20:58

» [Resolvido]Mouse não sair da tela em Fullscreen/Fixed Scale
por Hypno Sab 25 Jul 2015, 19:44

» Duvida sobre for e Draw
por DJM_JM Sab 25 Jul 2015, 19:09

» Duvida sobre arrays e matrizes gamemaker
por DJM_JM Sab 25 Jul 2015, 17:47

» EscoraBall Pro
por theguitarmester Sab 25 Jul 2015, 16:43

» código fonte
por fausto.e.deoliveira Sab 25 Jul 2015, 13:34

» [JAM#3] Pistolas e Esporas Menu
por theguitarmester Sab 25 Jul 2015, 11:47

» Modelo para HUD
por itarodrigo Sab 25 Jul 2015, 10:34

» [Ajuda] Problema em criar pista estilo SimCity
por macedoboka Sab 25 Jul 2015, 01:13

» Charlie Charlie 3D - Android
por Gonzo Sex 24 Jul 2015, 19:00

» [Alpha 1.2.0] Magic Royale
por zGoku Sex 24 Jul 2015, 14:09

» Medieval Rampage
por Gonçalves Sex 24 Jul 2015, 13:25

» "Tudo ou Nada"
por Gonçalves Sex 24 Jul 2015, 12:45

» Mudar o nome de um script
por chicoweb Sex 24 Jul 2015, 01:05

» [Ajuda] - Paleta de cores
por chicoweb Sex 24 Jul 2015, 00:43

» [PEDIDO] SPRITES RPG EM PLATAFORMA
por Rodrigo Santiago Qui 23 Jul 2015, 21:43

» [arte]essa capa está boa para um jogo?
por divin sphere Qui 23 Jul 2015, 15:07

» [Pedido] Sprite de dado
por mleoni Qui 23 Jul 2015, 13:53

» Criando caixas de textos do tipo texto e senha.
por clemilson.faustino Qui 23 Jul 2015, 10:19

» Ao encostar no inimigo, perder vida
por mleoni Qua 22 Jul 2015, 16:35

» Zombie Attack - 100% Completo
por Brenno557 Qua 22 Jul 2015, 13:46

» Sugestão para projetos mortos
por Isquilo_Roedor Ter 21 Jul 2015, 23:09

» GMS sempre salva projeto ao compilar?
por Mauricio Ter 21 Jul 2015, 22:45

» The Shadow
por Mr Alleph Ter 21 Jul 2015, 15:02

» [JAM#3] Candy Story Menu 1.1
por chicoweb Ter 21 Jul 2015, 11:26

» Laser Room
por Lighter Ter 21 Jul 2015, 11:14

» [JAM#3] Blackout
por Lighter Ter 21 Jul 2015, 09:30

» [GMBR Jam #03] - Resultados
por Lighter Ter 21 Jul 2015, 08:41

» [Resolvido]problema em código de som no step
por Hypno Seg 20 Jul 2015, 19:10

» Zombie Attack - Andamento 80%
por guamaral Seg 20 Jul 2015, 18:56

» Ferramenta: Fatiador de sprite sheet e alinhador.
por Mauricio Seg 20 Jul 2015, 18:39

» Tap Run [ Android ]
por JoaoVanBlizzard Seg 20 Jul 2015, 17:01

» [JAM#3]Teatro Sombrio
por guamaral Seg 20 Jul 2015, 16:30

» Lista Online? O.O
por Riccardoric Seg 20 Jul 2015, 15:27

» O Boss é realmente necessário?
por chicoweb Seg 20 Jul 2015, 14:29

» GMBR JAM #03 - Garçom, traga-me o Menu!
por Willy Seg 20 Jul 2015, 12:02

» [JAM#3] Super Onze - Menu
por Ian Lages Seg 20 Jul 2015, 11:26

» By a Whisker [Jam #03]
por Mr Alleph Seg 20 Jul 2015, 10:52

» GMBR JAM #03-As Aventuras de Creitus
por lute32 Dom 19 Jul 2015, 22:36

» Fish Runner
por Isquilo_Roedor Dom 19 Jul 2015, 18:42

» [pedido] spriters
por ruben.23 Dom 19 Jul 2015, 15:52

» Quem quer Uma Engine, e de Quê?
por WellingtonBecker Dom 19 Jul 2015, 00:08

» I.A. para o Chatbox
por SuDo Sab 18 Jul 2015, 22:52

» Símbolos e Fórmulas Matemáticas
por Witen Sab 18 Jul 2015, 22:50

» O correto é seção ou sessão?
por matheusco Sab 18 Jul 2015, 19:31

» Precisa-se de texturizadores
por ruben.23 Sab 18 Jul 2015, 19:14

» Dactorix Galaxy [Android]
por Matheusj.st Sab 18 Jul 2015, 18:32

» Tutorial de Multiplayer/Networking Nativo - GMS
por mleoni Sab 18 Jul 2015, 13:42

» [Resolvido]tem como colocar muitos objetos de uma vez?
por pilo Sab 18 Jul 2015, 00:18


[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: 2502
Idade: 22
Data de inscrição: 20/12/2008
Notas recebidas: B A
Reputação: 172
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: 6033
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: 21
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