網格化中常用的資料結構

2021-10-08 21:46:54 字數 670 閱讀 8862

最簡單的三角形網格化結構,每個面儲存三個頂點的座標,這個方法存在的兩個缺點,1是連線資訊不能被顯示地捕捉到,頂點和相關聯的資料複製了多次。

頂點的冗餘的問題可以通過面集索引或者共享頂點的資料結構儲存。

因為簡單和儲存效率高,許多檔案格式都採用了這種表示方法,比如off,obj,vrml.相似地,它和一類高效率地渲染演算法相關。

然而,因為沒有儲存有效地鏈結資訊,這種資料結構需要昂貴的搜尋來恢復頂點的區域性鏈結資訊,因此,這種方法對大多數演算法來說,不足夠搞效。

這是大多數演算法頻繁使用的操作集合

1 定位單獨的頂點,邊和麵,這個包含以非特定的順序遍歷所有的元素

2 面向面的邊緣的遍歷,即在乙個麵中,尋找下乙個或者前乙個邊緣。有額外的路徑可以到頂點,例如,渲染多個面是可以的。

3.進入邊的入射面,依賴於朝向,這個可以是左側或者右側的多種情況。這個可以確保進入相鄰的面。

4.給定乙個邊,可以確定它相鄰的兩個頂點

5.給定乙個頂點,至少乙個入射面或者邊可以進入

對於各種各樣的網格劃分,相關的頂點可以列舉

這些操作可以保證網格相關頂點和有連線資訊的面 可以被區域性或全域性的遍歷。

現在來回顧幾種快速遍歷網格的資料結構。

STL中常用資料結構

stl中常用的資料結構 1 stack queue預設的底層實現為deque結構。2 deque 用map管理多個size大小的連續記憶體塊,方便頭尾插入。3 vector 變長動態陣列,每次增大1.5倍,刪除元素時不釋放空間。4 priority queue底層預設採用vector向量o nlog...

STL中常用資料結構

stl中常用的資料結構 1 stack queue預設的底層實現為deque結構。2 deque 用map管理多個size大小的連續記憶體塊,方便頭尾插入。3 vector 變長動態陣列,每次增大1.5倍,刪除元素時不釋放空間。4 priority queue底層預設採用vector向量o nlog...

資料結構中常用演算法

排序常用的演算法有 插入演算法 直接插入演算法 折半插入演算法 希爾演算法 選擇演算法 簡單選擇演算法 堆排序演算法 快速演算法 氣泡排序 快速排序演算法 以下程式給出了各種演算法的實現,其介面為void sort int array,int len 每個檔案實現乙個演算法,最後和main.c檔案編...