Non-distorted Texture Mapping for Sheared Triangulated Meshes, Bruno Levy and Jean-Laurent
Mallet, Siggraph 1998.
This paper splits up the problem of finding a triangulation into
two optimization equations. The first optimization is essentially
equivalent to Floater's 97 paper, except phrased as an optimization
procedure. The second optimization is user-controlled, and lets the
user specify desired isoparametric curves.
- Optimization procedure for making a "good"
parameterization. There's a lot of nasty-looking math in section 2
which just says "Move the vertex towards the weighted centroid at each
iteration". They choose the centroid weightings instead of the shape
preserving ones. This optimization procedure should converge as long
as 1 node us fixed, and should converge to the same answer
as Floater gets. (The boundary is fixed as in Floater).
- Iso-parameter optimization: Make the iso-parametric curves evenly
spaced and perpendicular (gradients of u and v should be
perpendicular).
- Perpendicular: Take the derivative in u and the derivative in v
for each triangle and make sure their dot product is zero. Note: the
equations they give are in the coordinate system of the triangle, not
the global one.
- Spacing: Place the coordinate system where two triangles
join. Calculate the derivatives on either side. Make sure they're the same.
- The above constraints are then re-written as constraints on the
placement of the vertices in parameter space. Note that these
constraints have u and v linked.
- User specified constraints can be added by making particular
domain curves go to particular places.
- The boundary constraints can be relaxed if the others are in place.
- Additional constraints (perp. iso param.) on the boundaries can
be added to make two adjacent patches line up.