我有一個由許多三角形組成的3D網格。我只需要渲染這個網格的輪廓。請參見此圖像http://postimage.org/image/2jnaopqro/如何檢查邊是否是網格的輪廓?
我檢查邊緣是否爲輪廓的方法是檢查相鄰的兩個相鄰三角形是否具有與當前觀察方向相反的正常符號。視圖方向被定義爲指向屏幕外的矢量。
但是,這種方法並不總是奏效。如同時箭頭所示,你可以看到我確實錯過了一些大綱。你知道爲什麼嗎?
注:
1> I have checked that all normals are computed in CCW
2> The given mesh data is also correct. In other words,
no given triangle is returned with wrong order.
我會非常有興趣知道這種檢測方法的侷限性。正如我早期提到的那樣,它大部分時間都適用。
謝謝
很難從該圖像看到3D中發生了什麼。它甚至不清楚它顯示的是什麼 - 這是網格的輪廓?網格本身?它看起來是非凸的,在這種情況下,可能存在不應位於輪廓中的口袋,但會滿足您的符號更改標準。除了「大量的三角形」還有更多的限制嗎? – 2011-03-22 21:46:21
我無法從圖表中看出,您指向的邊緣似乎只是一個三角形的一部分,而不是兩個? – addfasdf 2011-03-22 21:46:46
由兩個白色箭頭指向的最近的淺棕色邊緣是此網格的構思大綱。但是,專用方法根本找不到該邊緣。順便說一句,網格顏色淺褐色,而檢測到的輪廓是淺藍色。 - 謝謝 – q0987 2011-03-22 21:55:00