我想知道是否有可能定義一個對象的旋轉不是圍繞自身,而是圍繞任意的原點,有效地消除了將XYZ位置向量傳遞給GPU的需要。因此,我們可以預先計算一個四元數來代替XYZ位置+ XYZW四元數,而這個四元數只能單獨定義對象的位置和旋轉?是否可以使用四元數圍繞任意原點旋轉對象?
0
A
回答
2
純四元體是不可能的。四元數只有四個自由度。如果您使用它進行轉換,旋轉角度可以是3度,縮放比例可以是1度。四元數可以提供更多的東西。然而,可以表示翻譯(並且因此也可以表示關於任意軸的旋轉)。這帶來了另外四個數字的存儲成本,通常這是不值得的麻煩。雙四元數的優點是剛體變換可以用一個很好的代數背景以一種統一的方式表示。它通常用於動畫以一致的方式在多個變換之間進行插值。
在大多數情況下,雙四元數的優點不會超過其複雜性。因此,大多數情況下使用簡單的偏移矢量更爲合理。
+0
目標是減少在應用程序中發送給GPU的向量數量,因爲它們中有大量的向量,所以雙四元數會挫敗我正在考慮的目的。感謝您的澄清。 –
相關問題
- 1. 圍繞原點旋轉點
- 2. 圍繞一個任意點旋轉QPixmap
- 3. 圍繞任意點旋轉osmdroid地圖
- 4. Unity3d圍繞任意線(不通過原點)旋轉游戲對象
- 5. 使用圍繞不同原點的旋轉矩陣旋轉對象? (java)
- 6. 四元數對象旋轉
- 7. 圍繞旋轉點放置對象
- 8. 使用變換矩陣圍繞任意點旋轉
- 9. 圍繞任意軸旋轉平坦的2D對象
- 10. 圍繞任意軸的圓形旋轉
- 11. 圍繞任意軸旋轉和平移
- 12. 圍繞點旋轉
- 13. 圍繞原點旋轉整個SKView
- 14. 3D圍繞原點的姿勢旋轉
- 15. threejs相機圍繞原點旋轉
- 16. 圍繞原點旋轉三角形
- 17. 圍繞原點的3d旋轉
- 18. 用四元數旋轉對象
- 19. 用任意點圍繞縮放和旋轉的小精靈
- 20. 用四元數圍繞一個軸旋轉矢量
- 21. 使用javascript圍繞某個點(不使用變換原點)旋轉元素
- 22. 圍繞某個點旋轉html元素
- 23. 如何圍繞任意點旋轉一組2D形狀
- 24. 圍繞任意錨點的OpenGL轉換
- 25. 圍繞特定點旋轉(例如,圍繞0,0,0旋轉)
- 26. 圍繞點xna旋轉2D
- 27. 圍繞一個點旋轉
- 28. 圍繞世界軸旋轉對象
- 29. 圍繞自身旋轉對象
- 30. 圍繞鼠標旋轉多個對象
@WestLangley,你爲什麼刪除了OpenGL和GLSL標籤? –
因爲問題不在於這些話題。 – WestLangley
我很驚訝和困惑。如果它不是關於GLSL或OpenGL的,那爲什麼它更多關於three.js? –