我想通過引用2D視口旋轉3D Cylinder。已知圓柱體的半徑和二維平移,我怎樣才能找出它轉動的角度?將2D視口轉換轉換爲3D旋轉
回答
假設氣缸從A旋轉到B.另外,讓我們假定A是θ
度逆時針和B是順時針θ
度水平。因此,A和B之間的角度是2θ
。
A的y座標由r*sin(θ)
給出,B的y座標僅爲-r*sin(θ)
。
因此,2*r*sin(θ) = D
(泛距離)
求解θ
:
θ = asin(D/(2*r))
(其中阿辛是反正弦函數)
另一個(可能更魯棒的)的方法是將計算三角形的垂直和底部,然後執行atan2(perp,base)
。
垂線簡單地爲D/2
,而基數爲sqrt(R*R - D*D/4)
。
您使用的公式不會取決於您使用的[projection](http://en.wikipedia.org/wiki/Graphical_projection)嗎? – 2013-03-27 20:29:57
絕對!好點,@ScottChamberlain。我假設這是一個像這樣的「輪子」小部件:http://android-devblog.blogspot.com/2010/05/wheel-ui-contol.html – 2013-03-27 22:15:23
@RahulBanerjee謝謝!你的配方似乎對我的情況非常有用。我實際上正在做一個觸摸3D旋轉木馬。通過觸摸操作和慣性來實現它。 – icube 2013-03-28 01:52:57
- 1. 將3D轉換轉換爲2D
- 2. 將3D點轉換爲2D
- 3. 將2D窗口點轉換爲3D點
- 4. 將3D場景轉換爲2D視圖
- 5. 曲線透視:將3D轉換爲2D
- 6. 在Matlab上將2D圖像轉換爲旋轉的3D圖像
- 7. 如何將2D轉換爲3D餅圖?
- 8. 將3D模型轉換爲2D圖像
- 9. Android將2D圖像轉換爲3D
- 10. 將2D圖像轉換爲3D
- 11. 將2D圖像轉換爲3D
- 12. 將2D矩陣轉換爲3D矩陣?
- 13. 將3D對象轉換爲2D空間
- 14. 將2D圖像轉換爲3D模型
- 15. 3d到2d點轉換
- 16. 2D到3D座標轉換
- 17. 將2D視頻輸入序列轉換爲3D視頻
- 18. 根據「分鐘」(Unity 3D)轉換旋轉
- 19. 將3D轉換爲HTML5 Youtube視頻
- 20. 如何將3D加速轉換爲旋轉?
- 21. 3D,AS3,Flex - 將旋轉度轉換爲可見高度
- 22. 將2D numpy.ndarray轉換爲pandas.DataFrame
- 23. 將2D cvMat轉換爲1D
- 24. 如何將CSS3 2D動畫轉換爲3D變換
- 25. 將matrix_float3x3旋轉轉換爲SceneKit
- 26. glScene函數將對象的3D座標轉換爲視口2D座標
- 27. 將2D String數組轉換爲2D double
- 28. 將3D陣列轉換爲3D模型
- 29. 將3D數組轉換爲3D std :: vector
- 30. 如何將three.js旋轉轉換爲混合器旋轉?
這將有助於瞭解更多關於您的情況以及您試圖實現的具體內容。目前還不清楚你想如何將旋轉和翻譯相關聯。 – 2013-03-27 17:30:19
@KendallFrey我用插圖編輯了我的文章,希望你明白我的意思。謝謝! – icube 2013-03-27 17:56:46
如果您試圖爲2D-3D映射找到合適的搜索項,則通常的術語是「未投影」,它將2D結構(通常是點光線)逆向散射爲3D光線。 – JerKimball 2013-03-27 22:24:23