簡體   English   中英

使用方向向量進行3D旋轉

[英]3D rotation using direction vector

我有一個在3D空間中移動的對象(原點位於中心)。 我正在計算方向矢量的移動方向,並使用它在對原點的對象進行任何變換之前應用旋轉。

      direction vector (position, previousPos): positionX-previousPosX/mag etc

      transformation

      rX = acos(direction_vector_x); etc
      rY = acos(direction_vector_y);
      rZ = acos(direction_vector_z);

      rotate(rZ, rX,rY) // axis rotation 

      draw object

該對象最初處於適當位置,但隨后隨機以對角線和錯誤的方式出現。 之后,旋轉是否平穩,但有時會倒轉還是倒轉? 有人可以讓我知道如何計算嗎? 謝謝。

您正在從單個向量創建3D坐標系,這還不夠...

  • 您還需要至少一個與方向不平行的其他向量,例如Up或North vectpr
  • 然后使用叉積生成彼此垂直的2個垂直矢量
  • 從你有3個軸,原點也應該知道...
  • 因此構造變換矩陣並使用它代替歐拉角
  • 參見變換矩陣剖析

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM