flatsurf / flatsurvey

4 stars 1 forks source link

Use upstream implementation of erase_marked_points() #35

Closed saraedum closed 2 years ago

saraedum commented 2 years ago

it uses the Delaunay optimization so we do not need to replicate it here.

part of #33.

saraedum commented 2 years ago

@videlec I see this change in output here. I don't think this is related to what I am doing here but due to a sage-flatsurf upgrade. Anyway, which one is correct?

>>> from flatsurvey.surfaces.thurston_veech import ThurstonVeech
>>> ThurstonVeech((1,0,2), (0,2,1), [1,1], [1,1]).surface()
Expected:
    TranslationSurface built from 6 polygons
Got:
    TranslationSurface built from 3 polygons
slel commented 2 years ago

It's the golden L. Maybe it used to be 6 triangles (choice of Delaunay triangulation) and now it is 3 rectangles (Delaunay decomposition)?

videlec commented 2 years ago

Indeed the Delaunay cell-decomposition of the Golden L is 3 rectangles. If you refine to a Delaunay triangulation you indeed get 6 triangles.

videlec commented 2 years ago

It might also be the case that erase_marked_points do not go through the Delaunay decomposition (because there is no "fake" singularity). And then you are left with rectangles that you started from.