Java Circle-Обнаружение Столкновений По Кругу
Вот класс круга:
public class Circle {
private double radius;
private double x;
private double y;
}
Как я могу сказать, сталкиваются ли два объекта из этого класса (круги)?
P. S. Может вы используете метод, который избегает принятия квадратного корня?
4 ответа:
double xDif = x1 - x2; double yDif = y1 - y2; double distanceSquared = xDif * xDif + yDif * yDif; boolean collision = distanceSquared < (radius1 + radius2) * (radius1 + radius2);
dx = x2 - x1; dy = y2 - y1; radiusSum = radius1 + radius2; return dx * dx + dy * dy <= radiusSum * radiusSum; // true if collision
Лучше ссылка из @instanceofTom в комментариях... с изображениями.