as rigid as possible編譯

這是一篇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_vConstraints.insert( cons );
		m_vDeformedVerts[cons.nVertex].vPosition = cons.vConstrainedPos;
		InvalidateSetup();


	} else {
		m_vConstraints.insert( cons );
		m_vDeformedVerts[cons.nVertex].vPosition = cons.vConstrainedPos;
		InvalidateSetup();
	} 

}

最後, 是Deform2d.cpp, 刪除掉&就好。


還有就是直接編譯, debug報錯, 具體參見我的前一篇文章就可。


這樣就能編譯成功並運行了。一下是效果。




enjoy it。

發佈了55 篇原創文章 · 獲贊 8 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章