半邊資料結構

2021-07-09 11:47:24 字數 1205 閱讀 7517

三維網格資訊分為兩個部分:幾何(geometry:頂點的位置資訊)資訊和拓撲(topology:點線面之間的鄰接關係)資訊

儲存點麵資訊的資料結構:

1. 以麵為中心(face set):儲存面,每個面包含三角形的頂點的座標值.占用大量記憶體

2. 共享頂點:頂點座標陣列,三角麵片為頂點索引,沒有鄰接關係。

3. 基於面連線

4. 基於邊連線

5. 鄰接矩陣

6. 角表

7. 半邊資料結構

半邊資料結構

內容**)

如下圖使用半邊資料結構表示三角麵片,黃點為點,藍線為半邊,半邊具有方向,黃線為指標。

;半邊:半邊的終點,另一條與該半邊方向相反的半邊,該半邊所在的面,以及半邊順時針(或逆時針)的順序的半邊

struct he_edge

;

面:從示圖可以看出,乙個半邊其實就可以表示乙個面

struct he_face

;

應用:半邊相鄰的點和麵(最兩個面,封閉模型必定有兩個面)

he_vert* vert1 = edge->vert;

he_vert* vert2 = edge->pair->vert;

he_face* face1 = edge->face;

he_face* face2 = edge->pair->face;

迭代乙個面所有的邊

he_edge* edge = face->edge;

do while (edge != face->edge);

處理乙個點所有的鄰接點:

he_edge* edge = vert->edge;

do  while (edge != vert->edge);
優點:相對於鄰接矩陣和角表,利用了更少的空間儲存了更加豐富的資訊,利於很多區域性操作。

粗略地實現了半邊資料結構,以及將unity3d的麵片儲存結構轉換為半邊結構。

半邊資料結構

實體的b rep表示模型是一非常複雜的模型,要求能夠表達出多面體各幾何元素之間完整的幾何和拓撲關係,並且允許對這種幾何和拓撲關係進行修改.在b rep表示中,體 面 邊和頂點是最基本的幾何元素,在實體的拼合 顯示 分析計算或人機互動過程中,對基本幾何元素的下列操作是必不可少的 增加或刪除體 面 邊或...

半邊結構實踐總結

目錄3.基本資料結構 4.構網問題 版本日期 說明0.1 2019 06 03 建立文件 為了方便表達流形表面,通過把一條邊拆分成相對兩條半邊,使我們查詢邊 頂點 面非常便捷。對於一條邊來說,對邊正好構成了環。e 0 left e 1.pair e 1.next e 1.prev end right...

資料結構 資料結構緒論

資料結構是相互間存在一種或多種特定關係的資料元素的集合。程式設計 資料結構 演算法 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料元素是組成資料的 有一定意義的基本單位,是計算機中通常作為整體處理,也被稱為記錄。乙個資料元素可以由若干個資料項組...