PDA

查看完整版本 : [MATLAB数学相关] 用matlab求圆心坐标


sonic88
2009-05-11, 17:06
已知圆周上两点的坐标(x1,y1),(x2,y2)(这两点到圆心的半径成90度),
以及圆的半径是固定值R,

求该圆圆心坐标?

zougaoming
2009-05-11, 19:20
如果有条件“这两点到圆心的半径成90度”,那可以不用求则就可以知道圆心坐标为(x1,y2),半径为fabs(y2 - y1))
或者(x2,y1),半径为fabs(x2 - x1)

karl_wang
2009-05-11, 20:02
呵呵,支持!确实是一个数学问题!

silas_xue
2009-05-12, 12:19
lz 说说个人意见 请参考附件中的图像说明 使用Windows画图工具作图 用于示意
不准确之处还请谅解
途中的红色表示 根据lz的条件得到的隐含信息
已知两点A B及90度的条件 解应当有两个 各自与圆心连线形成一正方形
注意图中红线围成的直角三角形 C点为中垂线与A、B点连线的交点 Beta为A、B连线组成的向量与x轴正方向的夹角 即向量的夹角 Beta2为中垂线向量的夹角

根据以上的关系 求圆心坐标其实已经唾手可得
1 AB连线的向量夹角 根据多个直角三角形关系 可以得到 Beta2 = 90-(180-beta)
=Beta-90 得到夹角关系,对应的Beta2与Beta在正切值上关系 我就不多啰嗦了
相信初等数学的东西难不倒lz 为什么是正切? 按照向量计算夹角时 纵坐标差除以
横坐标差为向量夹角的正切值 为为什么要推Beta和Beta2的关系 这样推到就免去
了计算向量夹角后还要反三角函数计算角度的麻烦
2 cos^2(Beta2) = 1/(1+tg^2(Beta2)),得到了Beta2的余弦值,正弦值迎刃而解
3 两个可以看出 两个圆心的坐标其实是C点的横、纵坐标延长和缩短A点、B点间距离
之二分之一再分别乘以Beta2的正弦、余弦值 为什么是A点、B点间距的一半? 别
忘了90度 A点、B点及两圆心之间的联系实际形成了正方形 故对角线相等且等分

Thx for reading.
PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。
个人观点 仅供参考 多多交流 相互学习