You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We improved the robustness of the computeSign() functionality of quest's SignedDistance query in #706, but found a new set of regressions in regions with sharp angles and poorly shaped triangles (it is not clear if the problem is due to very acute angles or very obtuse angles, but both are present in the regression).
I ran the signed distance query on the following simple mesh comprised of 24 triangles
using the following command line:
(note: fin0.stl is not yet checked into our data repository)
The computed signed distance has several regions where it computes the wrong sign, e.g. it marks points as "INSIDE" when they should be marked as "OUTSIDE". This is demonstrated in the following visualization of the zero-level isosurface of the computed distance function, which should not have any isosurface components outside the shape:
The text was updated successfully, but these errors were encountered:
The problem was related to two conditions:
(a) An edge with an acute dihedral angle. This creates a larger "region of influence" where the edge is the closest point on the surface to the query point
(b) A large difference in the areas of the two triangle. This effectively weights the normal towards the larger triangle, and creates "pockets" within the "region of influence" that can get the incorrect sign.
It is fixed in #784 by unitizing the normals before adding them, which removes the term associated w/ the triangle areas.
We improved the robustness of the
computeSign()
functionality of quest's SignedDistance query in #706, but found a new set of regressions in regions with sharp angles and poorly shaped triangles (it is not clear if the problem is due to very acute angles or very obtuse angles, but both are present in the regression).I ran the signed distance query on the following simple mesh comprised of 24 triangles
using the following command line:
(note:fin0.stl
is not yet checked into our data repository)The computed signed distance has several regions where it computes the wrong sign, e.g. it marks points as "INSIDE" when they should be marked as "OUTSIDE". This is demonstrated in the following visualization of the zero-level isosurface of the computed distance function, which should not have any isosurface components outside the shape:
The text was updated successfully, but these errors were encountered: