这是一篇2005年的siggraph 论文, As-Rigid-As-Possible Shape Manipulation。
源代码在这里:http://www.dgp.toronto.edu/~rms/software/Deform2D/。
但下载后, 有几个错误导致不能编译。 需要修改一下。
首先是stdafx.h 文件, 这里需要把0x0400和0x0410替换为0x0501, 这是windwos版本的代号。
其次是RigidMeshDeformer2D.cpp第135行, 我也不太明白为什么在这里等于号报错, 所以只能采用曲线救国的方法了, 就是先earase这个东西, 然后重新添加了。
void RigidMeshDeformer2D::UpdateConstraint( Constraint & cons )
{
std::set<Constraint>::iterator found( m_vConstraints.find(cons) );
if ( found != m_vConstraints.end() ) {
// (*found).vConstrainedPos = cons.vConstrainedPos;
// m_vDeformedVerts[cons.nVertex].vPosition = cons.vConstrainedPos;
m_vConstraints.erase(found);
m_