New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for more geometries #302
Comments
I just want to point out that a "bunch" could be infinite. I don't want to support infinite surfaces in libflatsurf. As a general comment, I don't think we loose any generality if we assume that all the polygons are triangles. (We need to store the triangulation map in sage-flatsurf to recover the polygons but I think that can be arranged.) If we keep everything triangulated, then supporting more general types of surfaces comes down to having some optional gluing information that records how half edge |
@wphooper wrote at flatsurf/sage-flatsurf#160:
Currently, we store a vector for each half edge in a triangulated surface. I don't understand how storing slopes makes much of a difference in practice but I think I did not fully understand what you were proposing. I imagine that the only thing we really need to do here is to drop the requirement that the vector associated to a half edge |
Indeed, a flat structure would associate to each edge a (linear, projective, ...) transformation |
As discussed today, we probably just want to replace the underlying |
For the data structure it might be important to keep in mind that for each kind of surface there is a hidden subgroup of scalar multiplicaion
For each half edge, one has to store an element in this group (which is a complex number in general). For translation surfaces we just not store anything since this is always the identity. However, for any other kind of surfaces it is required to have this extra bit of information. |
we postpone this until we have non-triangulated surfaces flatsurf#302 where this notion is more natural.
I would say that the most general version of flat geometry consists of a bunch of polygons where edges are glued by projective transformations of R^2, that is PGL(3)-structures (this is even more general than what sage-flatsurf supports). In a surface endowed with a projective structure we can still talk about lines in the surface (since projective transformations preserve them). There are many interesting subclasses that are obtained by restricting the groups allowed for gluing
R^2 = C
one can restrict toPSL(2,C)
orPSL(2,Z)
R x SO(2)
-structures (SimilaritySurface
insage-flatsurf
)SO(2)
-structures (theConeSurface
andRationalConeSurface
)R
-structures andR_+-structures
(HalfDilationSurface
andDilationSurface
){+/- 1}
-structures (HalfTranslationSurface
)The text was updated successfully, but these errors were encountered: