Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Daniel o rei

[Resolvido] calcular colisão entre circulos

Recommended Posts

Tenho dois circulos como calcular a colisão deles atravéz de suas posições e raios

 

Eu pensei,

Se a distâncias dos centros dos dois circulos for menor que a soma dos seus raios, eles devem estar colididos.

 

Só que como calcular a distância entre os pontos??

 

Tenho esse algoritmo:

var distanciax = Math.abs(_x - portal1.x);			//Math.abs pega o valor absoluto de um número
		var distanciay = Math.abs(_y - portal1.y);
var distanciatotal = distanciax + distanciay;

Se fosse só somar as distâncias y e x a diagonal de um quadrado seria igual ao lado.

 

 

Eu me lembrei disso quando me lembrei de uma questão de um concurso, quando já tinha feito a prova.

 

 

Como fazer esse calculo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salvo engano... você calcula a distância entre dois pontos com a seguinte fórmula:

 

((Xa-Xb)^2 + (Ya-Yb)^2) ^ 1/2

 

Onde ^ 1/2 é a raiz quadrada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok.... sem problemas!

 

Sua formula parece que é o teronema de pitagoras, em uma linha.

 

Eu fiz assim:

 

var cateto_adjacente:Number = (x - circleX);

var cateto_oposto:Number = (y - circleY);

var hipotenusa_quadrado:Number=Math.pow(cateto_adjacente,2)+Math.pow(cateto_oposto,2);

var hipotenusa:Number=Math.sqrt(hipotenusa_quadrado);

 

O teronema de pitagoras diz que:

"A soma dos quadrados dos catetos de um triangulo retangulo é igual ao quadrado da hipotenusa"(mais ou menos assim)

 

 

Então traçando uma linha entre esses dois pontos essa linha vai ser a hipotenusa

O cateto adjascente é a base, ele é igual a diferença das posições x

O cateto oposto é o cateto oposto ao ângulo da hipotenusa com o cateto adjascente, ele é igual a diferença das posições y.

 

Obrigado por responder!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.