Math seems to be incorrect
https://github.com/Lin20/isosurface/blob/57b5c5e16e9de321e3f4a919d2f14c85811a28e7/Isosurface/Isosurface/QEFSolver/SVD.cs#L18
@Lin20 Im noticing that in many of the Jacobian SVD solving, the rotational optimizations are voided leading to numerically correct but extremely slow mesh generation. Voiding these values prevents the QEF from converging, especially when the convergence is a check against 0 instead of a threshold (0.0 will never happen) "if (vtav.m02 == 0)". Changing the converge condition and removing the rotation voids, causes the mesh to generate incorrectly with spikes everywhere, suggesting a deeper issue. I do not understand this math enough to know why.
Any chance you can revisit this? It is still the only close to working MDC implementation on the internet 👍