libigl icon indicating copy to clipboard operation
libigl copied to clipboard

FAST 2D Issue

Open samkuhn opened this issue 5 years ago • 1 comments

I'm attempting to get arap_dof working with a 2D mesh. I've used BBW to generate some nice looking weights and arap_dof_precomputation seems to run ok but then when I call arap_dof_recomputation I hit an assertion in igl::min_quad_dense_precompute:

61: assert(sv >= 0);

It seems that 2D meshes take a slightly different path through this function (And use SVD as opposed to LU).

If I ignore the above assert then I hit another later in the arap_dof_recomputation function:

588: assert(fabs(maxErr1) < 1e-5);

I'm basically getting a rather huge value for maxErr1 (64372.8). And also for maxErr2 just after (613.646).

Which can't be good.. I was just wondering if perhaps the 2D case hasn't been tried for a while and maybe isn't supported at the moment? Or whether my code is setting things up incorrectly and someone could point me to anything that I should be aware of for the 2D case specifically?

Also does anyone happen to know of a working 2D implementation of FAST? That would likely help me narrow down what's wrong with my code if such a thing exists.

Thanks in advance.

Check all that apply (change to [x])

  • [ ] Windows
  • [x] macOS
  • [ ] Linux

samkuhn avatar May 03 '20 12:05 samkuhn

Refactoring the FAST code has been a to-do item for a long time... It'd be great to clean this up and make a clear interface for common 2D and 3D use cases.

alecjacobson avatar May 07 '20 20:05 alecjacobson