As-rigid-as possible shape manipulation: 論文詳解目錄
- 2019 年 10 月 8 日
- 筆記
這裡對該論文的講解可能是您見到的最詳細的解釋,而且我盡量用簡潔的程式碼來實現演算法。
在這幾篇講解中,我對論文中的每一個公式都做了盡量詳細的講解。最關鍵的是,我使用了Mathematica程式碼來推導公式。放心!Mathematica程式碼非常好懂,可視化效果非常好,寫起來很像手寫公式。另外,Mathematica程式碼還可以輸出論文Latex公式以及C++程式碼,給我編程過程減少很多重複工作量。
您可能會在知乎、CSDN上看到過各種對這篇經典論文的詳解,但都沒有如下文章講解詳細,而且所有人引用的程式碼都是github上別人寫的開源程式碼。絕大部分程式碼寫的都挺複雜,而且文檔非常不詳細,看起來挺費勁的。所以我這裡用C++盡量簡單的實現演算法細節,還專門寫文章來對每個函數做詳解。
- 論文介紹
- 第一步演算法輸入與輸出
- 第一步演算法詳解
- 第一步演算法的C++程式碼實現
- 第二步演算法輸入與輸出
- 第二步演算法的第一小步詳解
- 第二步演算法的第一小步程式碼
- 第二步演算法的第二小步詳解
- 第二步演算法的第二小步程式碼
這裡的程式碼都是開源的。地址為:
https://coding.net/u/forestsen/p/ARAPShapeManipulation
後續將對該論文演算法進行優化。
其中,該論文作者Igarashi教授在2009年發表的一篇文章[1]使用了更直觀更容易理解的思想重新介紹了這篇論文的理論。
引用
[1] Igarashi T , Igarashi Y . Implementing As-Rigid-As-Possible Shape Manipulation and Surface Flattening[J]. Journal of Graphics Gpu & Game Tools, 2009, 14(1):17-30.