假設,(x1, y1)是圓周長上的一個點,圓周長(x-420)^2 (y-540)^2 = 260^2上的兩個點距該點的距離d(歐幾里得)是多少(x1, y1)
uj5u.com熱心網友回復:
使用觸發
假設您使用的是編程語言。答案是使用偽代碼。
使用弧度,沿圓的距離d可以表示為a計算為的角度(半徑a = d / r在哪里)r
給定圓上的任意點。(x1-420)^2 (y1-540)^2 = 260^2 (注意假設 x1, y1 已知)我們可以提取中心是x = 420,y = 540和半徑r = 260
角距離 d 為a = d / 260。
大多數語言都有函式atan2可以計算向量的角度,我們可以得到從圓心到任意點的角度ang = atan2(y1 - 540, x1 - 420)(先注意y然后x)
因此,從任意點{x1, y1}到d沿圓 ( ang1, ang2) 的點距離的絕對角度計算為...
// ? represents known unknowns
x = 420
y = 540
r = 260
d = ?
x1 = ?
y1 = ?
ang = atan2(y1 - y, x1 - x)
ang1 = ang d / r
ang2 = ang - d / r
點 ( px1, py1, px2, py2) 的坐標計算為...
px1 = cos(ang1) * r x
py1 = sin(ang1) * r y
px2 = cos(ang2) * r x
py2 = sin(ang2) * r y
向量代數
這個問題也可以用向量代數來解決,不需要trig函式atan2
計算表示角度的單位向量a = d / r,然后以圓為原點,使用單位向量在兩個方向上變換(旋轉)圓上的點。將這些點平移回圓的原始位置以獲得解決方案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/464882.html
