Algorítimo para calcular a distancia de dois pontos da tela

1 Respostas   176 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

Davos

  • *
  • Posts: 1
  • Ouros: 0
Tópico criado em: 23/05/2015 às 05:08

Olá galera,
Estou criando um código onde preciso criar uma interação entre duas circunferências, quando uma estiver em qualquer parte dentro da area outra irá me retornar um status booleano,
Pensei em trabalhar com a distancia x,y de dois pontos da tela onde a distância minima para um retorno seria a soma dos raios.
Alguma dica de código?
Obrigado!

Shiroyasha

  • *
  • Posts: 277
  • Ouros: 342
  • Viajando por aí.
  • Medalhas Participantes do Maps Together 2
Resposta 1: 23/05/2015 às 09:41 - Última modificação por Shiroyasha em 23/05/2015 às 12:03

Nesse caso é bem simples. Tome as coordenadas dos centros de cada uma e determine a distância euclidiana entre seus pontos centrais.

Sejam P e Q duas circunferências, (px, py) e (qx, qy) as coordenadas de seus centros a distância euclidiana num espaço bidimensional é dada por:



Após isto só é preciso verificar se a soma dos seus raios é igual ou inferior a essa distância para se determinar se estas circunferências se intersectam.

[info float=left border=transparent][/info]



1) Posições distintas se a distância entre seus centros é maior que a soma dos seus raios;




2) Tangentes externamente se a distância entre seus centros é igual a soma dos seus raios;




3) Secantes se a distância entre seus centros é igual ao raio de pelo menos uma delas;




4) Tangentes internamente se a distância entre seus centros é igual ao raio da maior menos o raio da menor entre elas;




5) Concêntricas se a distância entre seus centros é igual a zero (seus pontos centrais estão na mesma coordenada).