我想用sin和cos在一架飛機上做一個圓。雖然它與x,y或z軸對齊時效果很好,但我需要更動態的東西。有沒有辦法使用平面法線或其他解決方案將2D矢量變換爲3D矢量?2D矢量到3D矢量
0
A
回答
1
你可能想看看MathOverflow.
0
所以,如果我得到你的問題吧,你想畫在不直接面對軸的一個三維空間中的循環?一種方法是首先使用一個普通的三維向量作爲中心,並以二維方式圍繞它繪製一個圓,所以它仍然面向一個軸(忽略第三個座標)。要獲得旋轉的圓,您需要使用旋轉矩陣並將其應用於生成圓的點。這個數學是:
raw_point = Center + (cos(angle)|sin(angle))
[raw_point.x] [1][0 ][0 ] [cos(YRotation)][0][-sin(YRotation)] [cos(ZRotation)][-sin(ZRotation)][0]
3DPoint = [raw_point.y] * [0][cos(XRotation)][-sin(XRotation)] * [0 ][1][0 ] * [sin(ZRotation)][cos(ZRotation) ][0]
[raw_point.z] [0][sin(XRotation)][cos(XRotation) ] [sin(YRotation)][0][cos(YRotation) ] [0 ][0 ][1]
(支架塊矩陣)
如果你需要的方式(rotation-)矩陣工作看它在維基百科上進一步解釋。 Btw。如果你想在java這樣的代碼語言中使用這種方法,你首先需要創建一個類來包含矩陣的數學。我可以告訴你這些是否必要,因爲我曾經有一個基於維度的問題。
相關問題
- 1. 2D矢量vs 1D矢量
- 2. 2D矢量push_back
- 3. 散列2D,3D和nD矢量
- 4. 在2D平面上旋轉3D矢量
- 5. 在2D矢量內排序矢量
- 6. 將1D矢量轉換爲2D矢量
- 7. 從2D矢量中分解矢量
- 8. 3D矢量(X,Y,Z)看矢量
- 9. 2d矩陣到矢量
- 10. 插入到2D矢量中
- 11. 2D矢量乘法
- 12. 將2D矢量2D QVector C++
- 13. 分段故障:從給定的2D矢量2D矢量
- 14. 基於另一個2D矢量排序2D矢量
- 15. 矢量矢量C++
- 16. push_back矢量矢量
- 17. 2D矢量/動態數組
- 18. 對於2D矢量編輯
- 19. PlayN的2D矢量類?
- 20. C++ 2D矢量排序
- 21. C++輸出2D矢量
- 22. C++ 2D矢量和操作
- 23. 3D矢量線性插值
- 24. 查找3D速度矢量
- 25. matplotlib中的3D矢量場
- 26. 3個矢量Matlab 3d圖
- 27. 初始化矢量矢量(外部矢量和內部矢量)
- 28. 矢量陣列是否構成2D矢量?
- 29. 如何在C++中查找2D矢量中的矢量?
- 30. 帶矢量和速度的2D矢量數學
是的,也許是這樣。 – Alex 2009-11-25 05:46:26