检查圆圈是否完全包含圆圈

时间:2012-12-31 04:23:13

标签: java geometry

  

可能重复:
  Finding if a circle is inside another circle

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

...

}

1 个答案:

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

}