두 개의 원이 겹치는 경우 계산할 메소드를 작성하려고합니다. 나는 다음을 생각해 냈다. 어쨌든 그것이 더 이상 최적화 될 수 있는지 궁금하다.빠른 원주 충돌 감지
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;
}
두 솔루션 간의 차이가 2 개 센터 간의 거리가 1보다 작지만 0보다 큰 적절한 결과를 제공한다고 생각하지 않습니다. –