2014-02-26 173 views
0

我有一個3D點列表,形成一個3D多邊形。它們實際上是由用戶繪製的N> 2條線。將3D多邊形繪製爲網格

我想從這個多邊形創建一個網格,並繪製帶紋理的多邊形。爲了這個目的,我需要從多邊形形成的曲面創建三角形。 我如何執行此三角測量? 有沒有我可以使用的圖書館?

+0

我在這裏回答了一個類似的問題http://stackoverflow.com/questions/15445927/how-do-i-take-a-3d-dimensional-array-and-convert-it-into-a-model/21111053 #21111053 – concept3d

+0

您的積分訂購了嗎?也就是說,你知道點應該如何通過邊和麪連接嗎?或者它只是一個點的集合?如果是後者,請參閱@ concept3d的帖子。 –

+0

它實際上是第一個選項。我有周邊的完整路徑 –

回答

0

您應該首先通過查找臉部平面將3D問題轉換爲2D問題。您可以使用三個頂點(形成兩個矢量)用於此目的(避免太靠近或太多對齊)。

然後,您將投影每個頂點到該平面上。這可以通過使用矢量演算或等效的Gram-Schmidt正交化(http://en.wikipedia.org/wiki/Gram%E2%80%93Schmidt_process)從兩個矢量創建正交座標幀來完成。執行座標變換並放下Z.

通過「耳廓修剪」進行三角測量並不難實現(http://en.wikipedia.org/wiki/Polygon_triangulation)。

經過二維三角測量後,您會將頂點轉換回三維座標。

+0

我也想到了這種解決方案,但它只適用於2D或「幾乎2D」的形狀。對於曲線來說,它可能不太適合,因爲它可能會產生太大的三角形。 –

+1

什麼曲線?你的問題是關於多邊形的! –