天天看點

Loop subdivision(循環細分) && modify butterfly subdivision(改進的蝴蝶細分)算法實作算法實作結果

最近完成了計算機圖形學的實驗,實作了以halfedge(半邊)資料結構為基礎的Loop subdivision(循環細分) 和 modified butterfly subdivision(改進的蝴蝶細分)兩種算法,并用OpenGL進行可視化。

模型為.wrl(虛拟現實文本格式)檔案,可以對 #VRML V2.0 utf8 标準的模型進行讀寫和細分。

算法

細分算法主要參考了課程lecture以及兩位CSDN部落客[1,2]的部落格

關于具體實作中的出入度計算、remesh的算法如下:(來自實驗報告截圖)

Loop subdivision(循環細分) && modify butterfly subdivision(改進的蝴蝶細分)算法實作算法實作結果
Loop subdivision(循環細分) && modify butterfly subdivision(改進的蝴蝶細分)算法實作算法實作結果

實作結果

詳細實作可以參考GitHub上的工程,以下是部分結果截圖:

(1) tetrahedron

Loop subdivision

Loop subdivision(循環細分) && modify butterfly subdivision(改進的蝴蝶細分)算法實作算法實作結果

Modified-butterfly subdivision

Loop subdivision(循環細分) && modify butterfly subdivision(改進的蝴蝶細分)算法實作算法實作結果

(2)Cube

Loop subdivision

Loop subdivision(循環細分) && modify butterfly subdivision(改進的蝴蝶細分)算法實作算法實作結果

Modified-butterfly subdivision

Loop subdivision(循環細分) && modify butterfly subdivision(改進的蝴蝶細分)算法實作算法實作結果

(3)T-Shape

Loop subdivision

Loop subdivision(循環細分) && modify butterfly subdivision(改進的蝴蝶細分)算法實作算法實作結果

Modified-butterfly subdivision

Loop subdivision(循環細分) && modify butterfly subdivision(改進的蝴蝶細分)算法實作算法實作結果

歡迎交流指正。