求旋转中心算法!

weixin_39556523 2018-03-03 08:10:28
一个圆规在平面上,已知旋转一个锐角的角度a,已知旋转角度a前后坐标,
旋转前(X1,Y1),旋转后(X2,Y2), X1,Y1,X2,Y2均大于0 ,求圆规旋转中心坐标(X,Y)?

感觉这样求一个解的公式出来很困难!

...全文
6909 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
示申○言舌 2020-12-16
  • 打赏
  • 举报
回复
假设从A旋转到B,求出A点到B点线段的中点C,然后A到B看作向量,求过C点且垂直于AB的向量,长度为圆的半径。OVER
Minikinfish 2020-12-11
  • 打赏
  • 举报
回复
利用向量来思考, v1 = (x1-x, y1-y) v2 = (x2-x, y2-y) 向量v1旋转a角度到向量v2公式(根据旋转矩阵推导出) v2.x = v1.x * cosa - v1.y * sina v2.y = v1.x * sina + v1.x * cosa => 很简单整理出二元一次方程组,求解。
weixin_42095351 2020-11-29
  • 打赏
  • 举报
回复
https://blog.csdn.net/faithmy509/article/details/80235631?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control
zxh4444 2020-11-13
  • 打赏
  • 举报
回复
感觉7楼的没有问题啊
qq_32806331 2019-11-25
  • 打赏
  • 举报
回复
换一种思路 就是拟合圆的算法
angel6709 2019-07-22
  • 打赏
  • 举报
回复
pcyao2011 2019-05-24
  • 打赏
  • 举报
回复
第1点在4象限、2点在1象限时公式有问题的。
idealguy 2018-10-04
  • 打赏
  • 举报
回复
本算法不限于第一象限。如果夹角<180度,则圆心C位于向量AB的左侧。
idealguy 2018-10-03
  • 打赏
  • 举报
回复
续楼上帖子。

几何画板验证结果

idealguy 2018-10-03
  • 打赏
  • 举报
回复
圆满解决:

Yofoo 2018-09-28
  • 打赏
  • 举报
回复
有个公式少了个括号, 改下再用工具试下就对了
Yofoo 2018-09-28
  • 打赏
  • 举报
回复
方程解出来很复杂, 可以用工具
角度 t
坐标(a,b) (c,d)
求x,y
方程:
(x-a)*(x-a)+(y-b)*(y-b) = (x-c)*(x-c)+(y-d)*(y-d)
(x-a)*(x-a)+(y-b)*(y-b) * sin(t/2)*sin(t/2) = ((a-c)*(a-c)+(b-d)*(b-d))/4

结果为
x=(d*(b*(2*sqrt(d^2-2*b*d+c^2-2*a*c+b^2+a^2)*sqrt(1-sin(t/2)^2)+a*(2*sin(t/2)^2-4))-2*b*c*sin(t/2)^2)+d^2*((-sqrt(d^2-2*b*d+c^2-2*a*c+b^2+a^2)*sqrt(1-sin(t/2)^2))+c*sin(t/2)^2+a*(2-sin(t/2)^2))+b^2*(a*(2-sin(t/2)^2)-sqrt(d^2-2*b*d+c^2-2*a*c+b^2+a^2)*sqrt(1-sin(t/2)^2))+c*(b^2*sin(t/2)^2-a^2*sin(t/2)^2)+c^3*sin(t/2)^2-a*c^2*sin(t/2)^2+a^3*sin(t/2)^2)/(2*c^2*sin(t/2)^2-4*a*c*sin(t/2)^2+2*a^2*sin(t/2)^2+2*d^2-4*b*d+2*b^2),
y=(d*(c*(sqrt(d^2-2*b*d+c^2-2*a*c+b^2+a^2)*sqrt(1-sin(t/2)^2)-2*a)-a*sqrt(d^2-2*b*d+c^2-2*a*c+b^2+a^2)*sqrt(1-sin(t/2)^2)+c^2-b^2+a^2)+b*(a*sqrt(d^2-2*b*d+c^2-2*a*c+b^2+a^2)*sqrt(1-sin(t/2)^2)+a^2*(2*sin(t/2)^2-1))+b*c*(a*(2-4*sin(t/2)^2)-sqrt(d^2-2*b*d+c^2-2*a*c+b^2+a^2)*sqrt(1-sin(t/2)^2))+b*c^2*(2*sin(t/2)^2-1)+d^3-b*d^2+b^3)/(2*c^2*sin(t/2)^2-4*a*c*sin(t/2)^2+2*a^2*sin(t/2)^2+2*d^2-4*b*d+2*b^2),x=(d*(b*(a*(2*sin(t/2)^2-4)-2*sqrt(d^2-2*b*d+c^2-2*a*c+b^2+a^2)*sqrt(1-sin(t/2)^2))-2*b*c*sin(t/2)^2)+d^2*(sqrt(d^2-2*b*d+c^2-2*a*c+b^2+a^2)*sqrt(1-sin(t/2)^2)+c*sin(t/2)^2+a*(2-sin(t/2)^2))+b^2*(sqrt(d^2-2*b*d+c^2-2*a*c+b^2+a^2)*sqrt(1-sin(t/2)^2)+a*(2-sin(t/2)^2))+c*(b^2*sin(t/2)^2-a^2*sin(t/2)^2)+c^3*sin(t/2)^2-a*c^2*sin(t/2)^2+a^3*sin(t/2)^2)/(2*c^2*sin(t/2)^2-4*a*c*sin(t/2)^2+2*a^2*sin(t/2)^2+2*d^2-4*b*d+2*b^2),y=(d*(c*((-sqrt(d^2-2*b*d+c^2-2*a*c+b^2+a^2)*sqrt(1-sin(t/2)^2))-2*a)+a*sqrt(d^2-2*b*d+c^2-2*a*c+b^2+a^2)*sqrt(1-sin(t/2)^2)+c^2-b^2+a^2)+b*(a^2*(2*sin(t/2)^2-1)-a*sqrt(d^2-2*b*d+c^2-2*a*c+b^2+a^2)*sqrt(1-sin(t/2)^2))+b*c*(sqrt(d^2-2*b*d+c^2-2*a*c+b^2+a^2)*sqrt(1-sin(t/2)^2)+a*(2-4*sin(t/2)^2))+b*c^2*(2*sin(t/2)^2-1)+d^3-b*d^2+b^3)/(2*c^2*sin(t/2)^2-4*a*c*sin(t/2)^2+2*a^2*sin(t/2)^2+2*d^2-4*b*d+2*b^2)

这个结果为工具自动计算
地址: https://zh.numberempire.com/equationsolver.php
angel6709 2018-05-11
  • 打赏
  • 举报
回复
基础数学问题啊
tanta 2018-03-09
  • 打赏
  • 举报
回复
别用勾股定理。这个图中所有角都可以求出来,所有的长度也都可以求出来,用三角函数求不复杂

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧