2017-08-22 104 views
1

我有一個由表面刻面描述的3D對象。它被保存爲OFF文件。然而,表面構面(多邊形)中的某些頂點並不完全共面。修復這些非共面多邊形讓它們變成共面是否有什麼好主意? 我的想法是 1)對於每個多邊形,找到多數頂點落入平面的多邊形基平面,例如,頂點到平面的距離小於機器精度(但是如何找到這個基平面? ); 2)對於這些不屬於多邊形基面的頂點,找到頂點相關的多邊形基面的交點,並將其作爲該頂點的新位置。如何修復非共面多邊形?

有什麼問題嗎?你有更好的主意嗎?

感謝, 唐老鴨

回答

0

也許你應該專注於固定四邊形,並重復一遍又一遍。假設兩個相鄰的三角形的頂點爲abc和cbd,共享邊bd。 計算四面體abcd的體積,如果它很小,則決定變平。或者,也許更好的是,計算bd處的二面角並且如果在pi附近 平坦化;是的,這可能是一個更好的措施。

一旦您決定要修理abcd,將d投影到由abc確定的平面上,並將d替換爲該投影點。現在abcd是共面的。你可以爲所有的排列做這個,並代之以移動最少的點。

不幸的是,這似乎是順序依賴的,並且可能導致在所有的三角形上反覆重複使用 。