如何确定圆圈是否完全包含另一个圆圈(在Java中)
public class Circle {
//x and y define the top left rectangular region bounding this circle
private int x, y, radius;
}
public boolean circleContainsCircle(Circle big, Circle small) {
...
}
答案 0 :(得分:1)
切割两个圆圈并接触其表面的最大部分是穿过其中心的部分。现在我们可以说,如果这个最长段的长度小于或等于最大圆的直径,则较小的圆明显位于大圆内:
public boolean circleContainsCircle(Circle big, Circle small) {
double segment_length = euler_distance(big.center, small.center) +
small.radius + big.radius;
return (segment_length <= 2 * big.radius);
}