2015-09-23 47 views

回答

0

B樣條表面被自然界定。所以當你說B樣條曲面沒有任何邊界時,我認爲你正在談論未修剪的B樣條曲面,你想要做的是能夠畫出修剪的B樣條曲面。

繪製曲面通常涉及曲面細分,該曲面細分將連續曲面變成由許多小三角形組成的三角形網格。因此您需要執行以下操作:

  • 找到邊界曲線的表面參數曲線(SP曲線)。 SP曲線是在B樣條曲面的參數域上定義的2D曲線。
  • Tessellate由所有SP曲線包圍的參數域上的二維區域。
  • 將參數域上的二維曲面細分映射回三維空間以查找三維三角網格。

步驟1和步驟2都是非平凡的。因此,如果您沒有任何3D庫供您使用,並且必須自行實施所有任務,那麼這確實是一項很大的任務。

+0

謝謝你的回答~~,這對我很有幫助。順便提一下,你有推薦的3D庫嗎? 我希望這個庫是開源的,並且在C++中,我很高興跟蹤源代碼。 –

+0

對不起。我不熟悉開源3D庫。 – fang

+0

非常古老的問題,但我建議你看看OPENCASCADE(www.opencascade.com) - 它在工業中功能強大且廣泛使用。如果你想快速啓動,那麼你可以在這裏檢查它的python綁定:http://www.pythonocc.org/ 順便說一句,它支持STEP文件。 – Fernando