У меня проблемы. У меня есть задание, которое требует от меня найти, если второй круг перекрывается, внутри или ни второй круг. Тем не менее, у меня проблемы с проверкой на перекрытие, и если второй круг находится внутри первого.Поиск круга внутри другого круга
(переменные, используемые x1, x2, y1, y2, R1, R2, расстояние)
Вот что у меня есть:
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");
}
Боюсь, что проблема с перекрывающимися и внутри чеков, но я не могу понять, как правильно настроить его, чтобы я мог надежно проверить, находится ли второй круг внутри первого.
Любая помощь или совет будут очень благодарны, поскольку я пробовал несколько подходов, но решение просто ускользает от меня каждый раз.
Во-первых - какое расстояние? Это расстояние между центрами кругов? Во-вторых - может ли это помочь выяснить, какой радиус больше? – user1118321
Все переменные вводятся пользователем. Да, расстояние - это расстояние между двумя центрами двух окружностей с формулой расстояния. – Battleroid
Я просто искал эту проблему и нашел это http://gamedev.stackexchange.com/questions/7172/how-to-find-out-if-two-circles-intersect-each-other – Jayy