eth-igl / gp2024-Assignments

0 stars 0 forks source link

Necessary DOF #32

Open GIacomoponti00 opened 5 months ago

GIacomoponti00 commented 5 months ago

Hi,

I'm very confused on how to fix only the necessary degree of freedom. If we need to fix two vertices to have a full rank system, how can I reduce the number of constraints? Fixing an edge is the same as fixing the two vertices, while fixing only one vertex might lead to a non full-rank system. By reducing the number of constraints you meant adjusting the position of the two vertices in order to improve their impact on the parametrization?

Any help is appreciated. Thanks.

Giacomo.

segaviv commented 5 months ago

Hi,

The goal of this task is to find the minimal number of constraints that can fix the invariant properties of the parameterization.

For example, a conformal parameterization is invariant under translation (the distortion remains the same if you apply translation to the solution). This invariant property can be fixed by fixing a position of one vertex (i.e. 2 degrees of freedom, for the u and v coordinates).

Other invariant properties that a parameterization might have include scaling and rotation (there can be more, but thinking only about these is enough). Try to think which of these properties are invariant (w.r.t the conformal and ARAP parameterizations), and how many constraints should be added to fix them.

GIacomoponti00 commented 5 months ago

Thanks for the clarification but I'm still kinda lost. It seems that in the system for the constraints the only things we can add are constraints on the position of vertices. There isn't anything in between, like we can either fix one or two vertices. I don't see how we could work with angles or edge length without modifying how C is built.

Another idea I got would be to fix the barycentric coordinate of the triangle, but then the construction of C would also be different and we would not have only one entry per line.

I don't know if you can give me any more hints but I don't see how I should implement this. Thanks