1

可能重复:
查找一个圆圈是否在另一个圆圈内

如何确定一个圆圈是否完全包含另一个圆圈(在 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) {

...

}
4

1 回答 1

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);

}
于 2012-12-31T04:34:37.697 回答