一個圓規在平面上,已知旋轉一個銳角的角度a,已知旋轉角度a前后坐標,
旋轉前(X1,Y1),旋轉后(X2,Y2), X1,Y1,X2,Y2均大于0 ,求圓規旋轉中心坐標(X,Y)?
感覺這樣求一個解的公式出來很困難!

uj5u.com熱心網友回復:
別用勾股定理。這個圖中所有角都可以求出來,所有的長度也都可以求出來,用三角函式求不復雜uj5u.com熱心網友回復:
基礎數學問題啊uj5u.com熱心網友回復:
https://baike.baidu.com/item/%E6%97%8B%E8%BD%AC%E7%9F%A9%E9%98%B5/3265181?fr=aladdinuj5u.com熱心網友回復:
方程解出來很復雜, 可以用工具角度 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
uj5u.com熱心網友回復:
有個公式少了個括號, 改下再用工具試下就對了uj5u.com熱心網友回復:
圓滿解決:
uj5u.com熱心網友回復:
續樓上帖子。幾何畫板驗證結果
uj5u.com熱心網友回復:
本演算法不限于第一象限。如果夾角<180度,則圓心C位于向量AB的左側。uj5u.com熱心網友回復:
第1點在4象限、2點在1象限時公式有問題的。uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
換一種思路 就是擬合圓的演算法轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/150068.html
標籤:數據結構與算法
