圖形學初學者,如何學習Polygon Mesh Processing這本書?
導師暑假讓我看看這本書,目前看了一半覺得這本書比較偏重數學基礎,對於具體的implementation提及的並不多,再加上書上並沒有相關練習或者例子,想實現書上所說的東西又覺得沒有guideline,所以覺得有點摸不著頭腦,請問該如何學習這本書?想做一些練習哪裡可以找到?
正巧看過真本書。五個作者都是大牛。第二章關於mesh的數據結構,重點是半邊結構,這方面開源代碼很多。
第三章微分幾何基礎及其離散化表示,這是幾何處理的根基。離散化永遠是重頭戲。實現方面可參考libigl(libigl/libigl · GitHub),這一章提到的幾種離散微分運算元這個庫中都有實現。
第四章關於光順。這一章寫得很好。通過引用taubin在95年的經典文章告訴我們傅里葉分析是如何推廣到mesh上的。實現方面,rob-p/mcflow · GitHub 是對desbrun 99年文章Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow的實現。可參考。幾何流相關的工作不少。第五章參數化。這是幾何處理的核心,是一個廣闊的領域。這本書上介紹的比較基礎了,我記得貌似沒有涉及全局參數化。實現方面可參考libigl的tutorial,裡面有LSCM(least squared conformal mapping)和ARAP(as-rigid-as-possible)這些比較簡單也比較經典參數化的實現。第六章重網格化。沒細看。quad-meshing到現在都是熱點啊,有很多經典的文章,本質上是混合整數規劃問題。有基於向量場和基於morse-smale復形兩種主流的方法。libigl里有08年文章Mixed Integer Quadragulation的實現。libQEx(hcebke/libQEx · GitHub)是用於魯棒地在參數網格上抽出quad的庫,文章發在13年的tog上。可參考。第七八章木有看。
第九章幾何形變。很有意思。可結合olga sorkine08年的survey(igl |Interactive Geometry Lab)一起看。方法五花八門。有基於微分坐標的(gradient-based laplacian-based),有基於vector field的(06年的一篇siggraph,idea來自與流體),有基於各種坐標的(harmonic, bounded biharmonic,local barycentric等等,我喜歡green coordinates這篇文章,大牛出品,實現極其簡單,數學推導嚴謹),基於非線性方法的(As-rigid-as-possible surface modeling, PriMo)。幾何形變蘊含很多幾何處理中的重要idea和技術。想要練習的話,題主可以試著實現一下Mesh editing with Poisson-based gradient field manipulation,idea來自於03年經典的poisson image editing,數學不多,可以當做第三章讀完後非常好的習題。希望對你有幫助:)
我是做三維網格處理演算法的,剛入道到不久。這本書只是介紹了網格處理的一些基本演算法,是一本綜述性質的書,如果想要具體深入了解某一類型的網格演算法,比如網格變形、網格參數化等,肯定需要根據書後的參考文獻從經典的論文開始研究,並且有相關源碼更好。
另外你也可以關注一些做圖形學研究的大牛,一方面也可以關注他們的研究動態,另一方面他們的個人主頁上會有少許演算法源碼。
我個人對網格變形比較有興趣,我剛開始研究時是從Mesh Editing with Poisson-Based Gradient Field Manipulation和Laplacian Surface Editing這兩篇論文開始的。Gradient-Based Deformationimplementation方面,可以從OpenMesh裡面給的一些例子入手,實現一些具體的演算法,從最基礎的simplification開始到較複雜的remesh, deformation, parameterization等。不過geometry的東西,本身就是比較偏重理論的。。。
先搞定基礎工具集,比如Half Edge,先熟練解析某種格式轉換為Half Edge,然後做各種處理,這樣,基本上CGAL和OpenMesh的一小部分你就有了。然後就是具體的問題具體做啦,但是幾何處理,無非就是EVF操作,還有以V為核心的Laplacian Operator、Harmonics Function over Mesh這些,然後最後都變成了線性系統問題。可以看看 Caltech Multi-Res Modeling Group 這裡的論文,嘗試實現一些,基本上這個領域就掌握許多了。
請問一下有沒有這方面的筆記啊什麼的,,,譯文最好了,最近剛剛開始看,感覺有點難理解
mark
推薦閱讀:
※編程有可能娛樂化(遊戲化)嗎?
※排序演算法中的「穩定」和「不穩定」,有沒有一個結論性的因素導致該演算法穩定或不穩定?
※C++有哪些NOIP中適用的能大幅簡化編碼及調試難度的內置函數/數據結構?
※對於一個久經考驗的大型系統,開源對於發現漏洞的幫助有多大?
※說下近些年來你認為最強的OI選手?
TAG:數學 | 編程 | 計算機圖形學 | 計算機圖形學和可視化 | 計算幾何 |