生成圓柱座標
回答
如果您需要可用於數值模擬的網格,那是一箇中等難度的問題。如果你只需要一個表面網格的圖形,這很容易。在每個圓形面的中心放置一個頂點。使用一個圓的參數方程(x = r cos t,y = r sin t)計算一系列圍繞人臉邊緣的節點。然後,您使用該中心節點和一對邊緣節點製作一堆長長的三角形以覆蓋兩端。最後,想象一下圍繞圓柱體兩側纏繞的一束長而瘦的矩形,由相同的節點定義;將每個對角線分成兩半以形成一對三角形。
從最低的多邊形圓柱開始 - 想象頂部的三角形和底部的三角形,每個頂點都有頂點#1,2和3.調用頂部的三角形A和底部的三角形B.創建以下多邊形:
- A1,A2,B1
- B1,B2,A2
- A2,A3,B2
- B2,B3,A2
- A3,A1,B3
- B3,B1,A 1
換句話說:
for(int i = 0; i < vertices; i++)
{
polyList.add(circleVertices1[i], circleVertices1[(i+1) % vertices], circleVertices2[i]);
polyList.add(circleVertices2[i], circleVertices2[(i+1) % vertices], circleVertices1[(i+1) % vertices]);
}
這只是我的頭頂部,但它似乎是有道理的。這不包括結尾的圈子,但我現在假設你可以找出圈子。
如果我們假設你真的想有良好的縱橫比的三角形(各方互相成比例),要做就做最好的辦法是遵循EF山的最後一個建議:
鴻溝每一個半對角地做一對三角形。
沿着圓柱體的長度會有幾排三角形;它不會只是一組矩形。
關鍵是要從圍繞周圍選擇你想要的數量開始。周邊十週是指每個周邊覆蓋36度; 20將意味着每個涵蓋18度。一旦你有了,選擇長度的數字,以便間距等於第一維的和絃的長度。然後沿每個對角線切片以製作三角形。
頂部和底部圓柱體由三角形平鋪,從圓心畫出線條以滿足由圓周上第一行和最後一行矩形創建的點。
根據您如何忠實地再現圓柱表面來選擇數字。
你可以通過計算幾何圖形在程序上繪製一個圓柱體。如果你想用它來渲染(大多數情況下),你應該使它支持triangle stripping如果性能很重要,你也可以計算映射座標和可能的法線。所以從頭開始需要一些思考,但如果你理解數學,這是可行的。
我已經在C#中爲Unity3D創建了一個模塊,它完全可以做到這一點,並允許您調整參數。觀看video瞭解詳情,並從GitHub下載代碼。
- 1. Maple:如何將圓柱座標轉換爲笛卡爾座標?
- 2. 圖像變換座標,圓柱座標系
- 3. 生成KML中座標的圓半徑的座標
- 4. 在網格中生成座標在一個圓內的座標
- 5. 如何與Scipy進行圓柱座標集成?
- 6. 在圓柱體中生成隨機點
- 7. C++座標生成
- 8. 圓柱座標中的默認最大顏色值
- 9. 使用gnuplot繪製圓柱座標中的方程
- 10. 在圓柱座標中繪製單位矢量的堆棧 - matplotlib
- 11. 我如何知道圓柱體兩端的座標
- 12. matlab圓柱座標系中的繪圖表面
- 13. 如何生成座標以表示3D編程中的圓形?
- 14. 通過中心點,半徑和x座標生成圓點
- 15. 生成座標立方體
- 16. 生成座標網格
- 17. 在Polygon中生成座標
- 18. 頂點座標的生成
- 19. 生成柱狀圖
- 20. hough圓圈opencv圓心座標
- 21. 在圓柱體內部生成隨機點?
- 22. 圓霍夫中心座標
- 23. 得到圓心座標
- 24. C++橢圓座標映射
- 25. 圓柱算法
- 26. 在簡單的圓柱投影上將緯度/經度轉換爲圖像座標(像素座標)
- 27. 將圖像排列成圓柱體?
- 28. 圓柱座標系統的哪個部分是用戶正在看
- 29. 圓柱投影 - 如何從tangens(緯度)獲取y圖像座標
- 30. 緯度/經度轉換爲圖像x/y座標(米勒圓柱投影)