shizuo-kaji/CageDeformerMaya

Hard crash, determinant() >0

Closed this issue · 1 comments

Hi man! first of all thank you for sharing the code! I am compiling and trying a series of deformers for evaluation purpose.
Compiling under centos 6.5 was a bit tricky, mainly had tons of alignment issues with Eigen, although following the Eigen guide i was not able to run the deformer until you compile with -DEIGEN_DONT_VECTORIZE, just so you know if you want to compile for linux.

Now to the bug at hand, I am running a simple test, a cube wrapping a sphere, the deformation looks pretty nice but as soon as I move a couple of vertices of the cage, I get a hard crash with the following error:
maya.bin:CageDeformerMaya/cageDeformer/../affinelib.h:565: void AffineLib::parametriseGL(const Matrix3d&, Eigen::Matrix3d&, Eigen::Matrix3d&): Assertion m.determinant()>0' failed.`

I wanted to know do you think this is just a bug in the affine library or is a major numerical instability in the algorithm itself? Any feedback on the matter would be appreciated.

M.

Hello!
Thank you very much for trying my deformer, and the tip on how to compile on linux.
I will add it in README.
As for the assertion error, could you try compiling with -DNDEBUG ?
These assert lines are not necessary for the deformer.
(however, the deformed shape would "jump" when assertion gets violated.)
Best,