flatsurf / sage-flatsurf

Flat surfaces in Sage
https://flatsurf.github.io/sage-flatsurf/
GNU General Public License v2.0
10 stars 10 forks source link

veering and L^oo-Delaunay #269

Closed videlec closed 7 months ago

videlec commented 8 months ago

Checklist

videlec commented 8 months ago

@wphooper I think I fixed the L^oo-Delaunay decomposition. I took the opportunity to include new functions for dilation surfaces

videlec commented 8 months ago

@saraedum videlec:fix-l-infinity-delaunay which is supposedly the branch on which this PR is based on differ from the visible commit here. Namely a9ab1dd should be replaced with 51b3d3d. Do you know a way to fix it simpler than opening a new PR? Seems ok now.

github-actions[bot] commented 8 months ago

Documentation preview for this PR is ready! :tada: Built with commit: 662bcd2b6a7baf1e6c9030f1fbc680debfedc089

wphooper commented 8 months ago

The updated code is working well for me, with no errors so far. Thanks Vincent for the code!

I do however have a complaint: In a VeeringTriangulation, the triangles seem to have a well defined order (e.g. in triangulation() and faces()). There is a natural bijection between the triangles and the rectangles making up the surface produced by zippered_rectangles(), but the labels of the rectangles does not match the order of triangles. It would be much easier to use if the rectangles were labeled to match the position of the triangles in say faces(). (As it is, the identification between the surface represented by the VeeringTriangulation and the zippered_rectangle() surface is hard to find.

(In my use case, I understand the action of a pseudo-Anosov on say the horizontal prongs in a triangulated surface, and want to use this to understand of the action on rectangles. Because the labels of rectangles seem random, this is more difficult than it should be.)

I'll be playing with this more. I expect to eventually contribute some code for pseudo-Anosovs and Markov partitions.

videlec commented 7 months ago

I do however have a complaint: In a VeeringTriangulation, the triangles seem to have a well defined order (e.g. in triangulation() and faces()). There is a natural bijection between the triangles and the rectangles making up the surface produced by zippered_rectangles(), but the labels of the rectangles does not match the order of triangles. It would be much easier to use if the rectangles were labeled to match the position of the triangles in say faces(). (As it is, the identification between the surface represented by the VeeringTriangulation and the zippered_rectangle() surface is hard to find.

Hopefully fixed in https://github.com/flatsurf/veerer/pull/40