0
開始線(黃色)和軸線位於[xc,yc,zc]
預測線的角度在空間
行末是在[xp,yp,zc]
。
a
,b
,c
是線在空間中產生的角度。
我需要的是線的投影(黑線)在xy,yz和xz平面上創建的角度。
A_y_to_z
:投影線在xz平面上從y軸到z軸的角度。A_z_to_x
:在zx平面上從z到x軸的角度。A_x_to_y
:在xy平面上從x到y軸的角度。
書寫代碼上Matlab
開始線(黃色)和軸線位於[xc,yc,zc]
預測線的角度在空間
行末是在[xp,yp,zc]
。
a
,b
,c
是線在空間中產生的角度。
我需要的是線的投影(黑線)在xy,yz和xz平面上創建的角度。
A_y_to_z
:投影線在xz平面上從y軸到z軸的角度。A_z_to_x
:在zx平面上從z到x軸的角度。A_x_to_y
:在xy平面上從x到y軸的角度。書寫代碼上Matlab
可以通過計算投影角度以任何平面:
獲得的線的方向,d = (xp - xc, yp - yc, zp - zc)
正常化d
與平面的正常計算點積,dot(d, n) = d.x * n.x + d.y * n.y + d.z * n.z
通過a = acos(dot(d, n))
計算角度到正常最後獲得的角度的平面通過採取b = 90 - a
(假設以度爲單位 - NB大多數數學庫函數使用弧度)
特例:如果dot(d, n) < 0
,那麼角度a
將大於90度。在這種情況下,如果您只需要銳角,請執行b = a - 90
而不是90 - a
。
例如要計算到xy平面的角度,請使用n = (0, 0, 1)
,即z軸,該平面是該平面的法線。
你到目前爲止嘗試過什麼? –
A_x_to_y = atan(y/x)。閱讀這個地方並嘗試。但這是不正確的。 – isifzade
@ m7913d我試過在另一臺瀏覽器上看到它。你確定嗎? – isifzade