2017-07-04 60 views
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軸的角度。

enter image description here

書寫代碼上Matlab

+0

你到目前爲止嘗試過什麼? –

+0

A_x_to_y = atan(y/x)。閱讀這個地方並嘗試。但這是不正確的。 – isifzade

+0

@ m7913d我試過在另一臺瀏覽器上看到它。你確定嗎? – isifzade

回答

1

可以通過計算投影角度以任何平面:

  1. 獲得的線的方向,d = (xp - xc, yp - yc, zp - zc)

  2. 正常化d

  3. 與平面的正常計算點積dot(d, n) = d.x * n.x + d.y * n.y + d.z * n.z

  4. 通過a = acos(dot(d, n))

  5. 計算角度到正常最後獲得的角度的平面通過採取b = 90 - a(假設以度爲單位 - NB大多數數學庫函數使用弧度)

特例:如果dot(d, n) < 0,那麼角度a將大於90度。在這種情況下,如果您只需要銳角,請執行b = a - 90而不是90 - a

例如要計算到xy平面的角度,請使用n = (0, 0, 1),即z軸,該平面是該平面的法線。

相關問題