java判断两圆是否相交以及相交的面积大小.public class Circle { double _x; double _y; double _r; Color _c; Circle(double x,double y,double r,Color c){ _x=x; _y=y; _r=r; _c=c; } void edgeColo
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/21 17:40:02
![java判断两圆是否相交以及相交的面积大小.public class Circle { double _x; double _y; double _r; Color _c; Circle(double x,double y,double r,Color c){ _x=x; _y=y; _r=r; _c=c; } void edgeColo](/uploads/image/z/13411371-3-1.jpg?t=java%E5%88%A4%E6%96%AD%E4%B8%A4%E5%9C%86%E6%98%AF%E5%90%A6%E7%9B%B8%E4%BA%A4%E4%BB%A5%E5%8F%8A%E7%9B%B8%E4%BA%A4%E7%9A%84%E9%9D%A2%E7%A7%AF%E5%A4%A7%E5%B0%8F.public+class+Circle+%7B++++double+_x%3B++++double+_y%3B++++double+_r%3B++++Color+_c%3B++++Circle%28double+x%2Cdouble+y%2Cdouble+r%2CColor+c%29%7B++++++++_x%3Dx%3B++++++++_y%3Dy%3B++++++++_r%3Dr%3B++++++++_c%3Dc%3B+%7D++++void+edgeColo)
java判断两圆是否相交以及相交的面积大小.public class Circle { double _x; double _y; double _r; Color _c; Circle(double x,double y,double r,Color c){ _x=x; _y=y; _r=r; _c=c; } void edgeColo
java判断两圆是否相交以及相交的面积大小.
public class Circle {
double _x;
double _y;
double _r;
Color _c;
Circle(double x,double y,double r,Color c){
_x=x;
_y=y;
_r=r;
_c=c; }
void edgeColor(){
cpDraw.setPenColor(_c); /*这个cpDraw是库中添加的一个jav包中的函数
cpDraw.Circle(_x, _y, _r); *目前只使用过其中几个函数其他功能不详……*/
};
void filledColor(Color fc){
cpDraw.setPenColor(fc);
cpDraw.FilledCircle(_x, _y, _r
);
}
double Area()
{
return Math.PI*_r*_r;
}
以上有Circle函数及求面积的函数,刚刚学JAVA的菜鸟请教各位大大判断两圆相交和相交面积的函数如何写,谢谢~越简单的越好,花哨了看不明白……
java判断两圆是否相交以及相交的面积大小.public class Circle { double _x; double _y; double _r; Color _c; Circle(double x,double y,double r,Color c){ _x=x; _y=y; _r=r; _c=c; } void edgeColo
boolean isIntersecting(Circle c){
return Math.sqrt((_x-c._x)*(_x-c._x)+(_y-c._y)*(_y-c._y))_r+c._r){
return 0;
}
alpha=Math.acos((d*d+_r*_r-c._r*c._r)/(2*d*_r));//余弦定理取得相交弧所对本圆的圆心角
area=alpha*_r*_r;//本圆扇形面积
alpha=Math.acos((d*d+c._r*c._r-_r*_r)/(2*d*c._r));//余弦定理取得相交弧所对另一圆的圆心角
area+=alpha*c._r*c._r;//另一圆的扇形面积
double s=(d+_r+c._r)/2;//海伦公式之s
area-=Math.sqrt(s*(s-d)*(s-_r)*(s-c._r))*2;//两扇形面积减去两三角形面积即为交集
return area;
}