Estoy teniendo un problema. Tengo una tarea que me obliga a encontrar si un segundo círculo se superpone, adentro, o no es un segundo círculo. Sin embargo, tengo problemas para verificar la superposición y si el segundo círculo está dentro del primero.Encontrar si un círculo está dentro de otro círculo
(variables utilizadas son x1, x2, y1, y2, r1, r2, distancia)
Esto es lo que tengo:
if (distance > (r1 + r2)) {
// No overlap
System.out.println("Circle2 does not overlap Circle1");
} else if (distance <= Math.abs(r1 + r2)) {
// Overlap
System.out.println("Circle2 overlaps Circle1");
} else if ((distance <= Math.abs(r1 - r2)) {
// Inside
System.out.println("Circle2 is inside Circle1");
}
Me temo que el problema es con los controles superpuestos y en el interior, pero no puedo descifrar cómo configurarlo adecuadamente para poder verificar de manera confiable si el segundo círculo está dentro del primero.
Cualquier ayuda o consejo sería muy apreciado ya que he intentado varios enfoques, pero la solución simplemente se me escapa cada vez.
Primero - ¿qué es la distancia? ¿Es la distancia entre los centros de los círculos? Segundo: ¿podría ayudar a determinar qué radio es mayor? – user1118321
Todas las variables son ingresadas por el usuario. Sí, la distancia es la distancia entre los dos centros de los dos círculos con la fórmula de distancia. – Battleroid
Acabo de buscar en Google para encontrar sobre este problema y encontré esto http://gamedev.stackexchange.com/questions/7172/how-to-find-out-if-two-circles-intersect-each-other – Jayy