İki dairenin çakışıp çakışmadığını hesaplayacak bir yöntem yazmaya çalışıyorum. Aşağıdakileri buldum ve sadece daha fazla optimize edilip edilemeyeceğini merak ediyorum.Hızlı daire çarpışma algılaması
private static boolean isCollision(Point2D p1, float r1, Point2D p2, float r2)
{
float a,dx, dy;
a = (r1+r2) * (r1+r2);
dx = (float) (p1.getX() - p2.getX());
dy = (float) (p1.getY() - p2.getY());
if (a > (dx*dx) + (dy*dy))
{
return true;
}
return false;
}
Çözümlerden hiçbirinin, 2 merkez arasındaki mesafenin birinden az, ancak sıfırdan büyük olduğu durumlarda yeterli bir sonuç sağladığını düşünmüyorum. –