嗨
如何擠壓切割(如solidworks)3D模型?
有沒有簡單的方法,或者我需要做一些複雜的計算?OpenGl中的拉伸切割
回答
你想要做的是一個名爲構造實體幾何(CSG)的學科的一部分,它是關於3D圖形和處理最棘手的主題之一。有幾種方法如何解決這個問題:
如果你是在光線跟蹤事情真正得到很容易使CSG只是感興趣的是:在每一個射線/表面相交你遞增/遞減計數器。 CSG組合也可以轉化爲表面計數。通過對射線交點計數器和CSG曲面數進行對比,您可以將CSG運算應用於所跟蹤的射線。如果您對在三角模型上進行CSG感興趣,最常見的方法是從幾何構建BSP樹並應用BSP上的CSG運營。然後從生成的BSP重新創建網格。這就是它在基於網格的建模器中的實現方式(看看Blender的源代碼,它確實是這樣)
分析表面上的CSG非常困難。曲線或曲面的交點沒有封閉的解決方案。最好的方法是在交點處數字地找到許多采樣點,並沿交叉點擬合一條曲線。這可能會在數值上不穩定。 (這是我爲我的3D引擎實現(甚至可能發明)):在3D硬件上渲染曲線或曲面片時,通常必須在之前將它們鑲嵌到三角形網格中。在這個tesselation階段中,您可以測試新創建的三角形的邊與曲線/曲面相交;在牛頓過零點求解器中使用一些迭代來找到兩個曲線/曲面的交點,並將其作爲邊界上的採樣點存儲,以便兩個曲面相關(這樣其他曲面的曲面將共享其頂點的位置與第一個表面)。在第一個tesselation階段之後,在頂點上使用鬆弛方法(基本上應用拉普拉斯算子),同時將它們約束到表面(記住您的曲面是數學上精確的,並且很容易擺弄曲面的變量,但使用結果職位爲公制)。它工作得很好,只要用普通的三角網格沒有交叉點被認爲是(網格的每個三角形不得不變成一個曲面片,減緩方法)
您標記此OpenGL的,所以爲了得到這一點:OpenGL不能幫助你,因爲OpenGL只是畫三角形,而不是處理複雜的幾何圖形。
引用的OpenGl faq:
什麼是OpenGL的?
OpenGL代表Open Graphics Library。它是一個用於執行3D 圖形的API。
更具體地說,它是一個API ,用於「在您的場景上繪製三角形」。在這個GPU時代,它是 是關於與GPU交談,使它 做圖紙的工作。它不處理文件格式 。它不是 開放的BMP,PNG和任何圖像格式。它 不能打開3d對象格式,如 obj,max,maya。它不會做 動畫。它不處理 鍵盤,鼠標和任何輸入設備。 它不創建窗口,所以 。
所有的東西應該由 外部庫來處理(GLUT是一個例子 ,其用於創建和銷燬 一個窗口和處理鼠標 和鍵盤)。
GL已經歷了多個 版本。
所以答案是否定的。像擠壓切割這樣的事情是複雜的操作。你必須自己實施它,使用第三方庫。
- 1. JasperReports - 錯切割拉伸場
- 2. OpenGL中的縱橫比拉伸
- 3. 在OpenGL ES中拉伸的繪圖 - iOS
- 4. OpenGL中的貼紙/貼花:從CLAMP_TO_EDGE拉伸紋理沒有拉伸?
- 5. Android上的OpenGL調整大小/拉伸
- 6. 縱橫比拉伸的OpenGL 2D投影
- 7. 直方圖分割和拉伸
- 8. 紋理被拉伸在android opengl es 2.0
- 9. 拉伸水平div(中間div拉伸)
- 10. 拉伸下拉
- 11. 下拉菜單bootstrap3切割手機
- 12. 拉伸TD的
- 13. 拉伸的ImageButton
- 14. 拉伸div中的文本
- 15. UISegmentedControl中的拉伸圖像
- 16. ItemsControl中的拉伸按鈕
- 17. DiagonalLayout中的拉伸按鈕
- 18. OpenGL C#糟糕的紋理對齊/拉伸
- 19. openGL的質地結合拉伸和扭曲
- 20. 用GDI切割紙(「飼料和切割」)?
- 21. ListViewItem的不拉伸
- 22. 拉伸的WPF StackPanel
- 23. 樹中的邊緣切割
- 24. 圖中的切割集
- 25. 如何拉伸UIImageView而不拉伸中心?
- 26. 拉伸圖像
- 27. 拉伸圖像
- 28. 拉伸SKSpriteNodes
- 29. 拉伸寬度
- 30. 佈局拉伸
謝謝你的回答,我的意思是有一些圖書館爲我做這件事? Glu可以做嗎? ... – mrbm 2011-05-03 11:07:36