[問題] 如何快速地取得三角網格鄰居?

看板C_and_CPP (C/C++)作者時間12年前 (2013/06/21 19:13), 編輯推噓1(105)
留言6則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Borland XE 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 要如何快速的取得所有三角網格的網格鄰居? 餵入的資料(Input): obj file 程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/hgKv15cZ 補充說明(Supplement): 網格的鄰居定義為使用同一邊線,由於建造網格時的方向性 共用的邊線一定互相反向 目前的作法為紀錄所有的線段編號 建立hash table , index size 為點雲數量, 一開始為空 從頭開始檢查所記錄的線段編號是否能在對應的hash table index裡找到反向邊線 如果有找到 移除 hash table 裡的邊線 並記錄此網格與鄰居資訊 如果沒有找到 加入此線段編號於 hash table 內 目前這樣的作法在資料量過大的時候,還是得花上幾秒鐘處理 是否有更快速的方法? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.141.34

06/22 12:38, , 1F
open mesh
06/22 12:38, 1F

06/22 12:55, , 2F
half-edge data structure
06/22 12:55, 2F

06/22 14:05, , 3F
我看open mesh 官網說目前不支援borland的compiler
06/22 14:05, 3F

06/22 14:06, , 4F
另外half edge data structure 跟我現在的做法有什麼不
06/22 14:06, 4F

06/22 14:11, , 5F
我想了一下好像真的有比較快 我改看看 感謝E大
06/22 14:11, 5F

06/25 15:35, , 6F
好慘,不然OpenMesh很好用說~
06/25 15:35, 6F
文章代碼(AID): #1Hn3Lo_M (C_and_CPP)
文章代碼(AID): #1Hn3Lo_M (C_and_CPP)