已知圆上两点(X1,Y1),(X2,Y2)和 圆的半径 R ,求圆心的坐标(X0,Y0)?
来源:百度知道 编辑:UC知道 时间:2024/05/10 20:51:37
要求用X1,Y1,X2,Y2,R来表示。
有谁知道X0=?Y0=?公式的吗?
知道的同学告知一下啊,毕业设计用的。
qq:157037087 留言
过(X1,Y1),(X2,Y2)分别做两个半径为R的圆,方程是
(X-X1)^2+(Y-Y2)^2=R^2 ......①
(X-X2)^2+(Y-Y2)^2=R^2 ......②
两个圆的交点就是圆心
①-②得到一个二元一次线性方程,Y用X表示,代入①或②就是一元二次方程,解方程可以得到2个解或1个解或无解
当两点距离等于2R时为1个解,小于2R时为2个解,若大于2R时无解(既然是圆上两点就不会大于2R)!
一开始想用一般解析法计算,越算越复杂,只好用Matlab了,一看结果,哇塞,怪不得不好算呢!?看看吧,嗯,看看哦【答案是双根】
>> [x0,y0]=solve('(x1-x0)^2+(y1-y0)^2=R^2','(x2-x0)^2+(y2-y0)^2=R^2','x0,y0')
x0 =
[ 1/2*(-1/(4*x2^2-8*x1*x2+4*x1^2+4*y1^2+4*y2^2-8*y2*y1)*(4*x2^2*y2+4*x2^2*y1-4*y2*y1^2+4*y2*x1^2-8*x1*x2*y2+4*y2^3+4*x1^2*y1-8*x1*x2*y1+4*y1^3-4*y2^2*y1+4*(-x1^6-15*x2^4*x1^2-2*x2^4*y1^2-2*x2^4*y2^2+4*x2^4*R^2+4*y1^2*x2^2*R^2+4*y1^2*R^2*x1^2+4*y2^2*x2^2*R^2+4*y2^2*R^2*x1^2+16*y2*y1*R^2*x2*x1-16*y2*x1^3*x2*y1-8*x1*x2*y2^3*y1-8*y1^2*R^2*x2*x1-8*y2^2*R^2*x2*x1-8*y2*y1*x2^2*R^2-8*y2*y1*R^2*x1^2-6*y2^2*y1^2*x1^2+4*y2*y1^3*x1^2+8*y2^2*x1^3*x2+4*y2*x1^4*y1+4*y2^3*x1^2*y1+2*x1*x2*y2^4+8*x1^3*y1^2*x2+2*x1*x2*y1^4-16*x2^3*R^2*x1+24*x2^2*R^2*x1^2-16*x1^3*x2