mdolab / pysurf

pySurf provides geometric operations for triangulated surfaces.
Apache License 2.0
2 stars 4 forks source link

Implement more robust intersection computation #20

Open sseraj opened 1 year ago

sseraj commented 1 year ago

Currently, the triangle-triangle intersection routine in intersection.F90 implements the method from Moller's 1997 paper. This method works for most cases but can give incorrect results 50% of the time for certain degenerate cases (see Table 2 in Devillers and Guigue 2002).

The chances of such a degenerate case occurring increase as the triangulated surface meshes are refined further. I have checked for my case that refining enough causes problems with the intersection computation.

A more robust approach would be to use exact (or adaptive) arithmetic as described by Shewchuk.