Skip to content
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

More general deformations and degenerations #176

Open
videlec opened this issue Apr 4, 2020 · 5 comments
Open

More general deformations and degenerations #176

videlec opened this issue Apr 4, 2020 · 5 comments
Labels
C++ enhancement New feature or request

Comments

@videlec
Copy link
Contributor

videlec commented Apr 4, 2020

Sometimes surface + v is not a well defined operation on a flat triangulation as it crosses "area zero triangles". However, it is a well defined operation in the space of translation surfaces as follows. For t small the operation surface + t v is well defined on the initial triangulation. There exists a minimal t_0 so that surface + t_0 v has a zero area triangle. For this parameter t_0 where the triangulation degenerates we want to perform a flip so that we are able to go further. A single flip should be enough. And this is doable unless two vertices collide at time t_0.

claim: if there is no collision of vertices, there are finitely many bad times t_0, t_1, ..., t_n where we have to do a flip in order to go from surface to surface + v.

Ultimately, we are also interested in the case where for t=1 (but not before) we have a collision of one or more vertices and triangles. In the final surface we need to drop some triangles in order to make sense of it as a triangulated flat structure.

claim of A. Wright (?): even in the case where t=1 corresponds to a degeneration one can compute the limiting surface.

Among the possible degenerations, the easiest to deal with corresponds to "cylinder collapsing". This is the first thing to implement. And it might be the case that any deformation can be reached via a sequence of cylinder collapsing.

@saraedum
Copy link
Member

saraedum commented Jun 9, 2020

@videlec: Could you elaborate what the necessary operations are?

@videlec videlec changed the title Implement degenerations More general deformations and degenerations Jun 9, 2020
@saraedum
Copy link
Member

@videlec do you think that the following will work? Determine the smallest bad time t_0, perform the corresponding flip, start over. The hope would be that t_0 increases to ≥1 by doing this without actually deforming the surface until the very end.

Or do I need to determine t_0, deform the surface to move close to t_0, perform a flip, deform the surface to move close to t_1, perform a flip, ….

@videlec
Copy link
Contributor Author

videlec commented Jun 28, 2020

I hardly believe that this would work in general.

Ideally it should be possible to go to t = t_0. The triangulation is degenerated but not the surface. It might be more delicate to go "close to t_0".

@saraedum
Copy link
Member

Ideally it should be possible to go to t = t_0. The triangulation is degenerated but not the surface. It might be more delicate to go "close to t_0".

The problem I see is that t_0 might not exist as a scalar in the coefficients which would make it again difficult to go there exactly.

@videlec
Copy link
Contributor Author

videlec commented Jun 30, 2020

Ideally it should be possible to go to t = t_0. The triangulation is degenerated but not the surface. It might be more delicate to go "close to t_0".

The problem I see is that t_0 might not exist as a scalar in the coefficients which would make it again difficult to go there exactly.

I naively thought it would be. It is sadly not the minimum of a quadratic equation but a zero...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C++ enhancement New feature or request
Development

No branches or pull requests

2 participants