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.