EUROGRAPHICS 2001 / A.Chalmers and T.-M.

Rhyne (Guest Editors)

Volume 20 (2001), Number 3

Texture Mapping with Hard Constraints
Ilya Eckstein Vitaly Surazhsky Craig Gotsman
Computer Science Department, Technion – Israel Institute of Technology {ekshteyn|vitus|gotsman}@cs.technion.ac.il

Abstract We show how to continuously map a texture onto a 3D triangle mesh when some of the mesh vertices are constrained to have given (u,v) coordinates. This problem arises frequently in interactive texture mapping applications and, to the best of our knowledge, a complete and efficient solution is not available. Our techniques always guarantee a solution by introducing extra (Steiner) vertices in the triangulation if needed. We show how to apply our methods to texture mapping in multi-resolution scenarios and image warping and morphing.

1.

Introduction mesh, namely, maintaining a legal parametrization of the mesh at all resolution levels: Assume that a full-resolution mesh has a continuous parametrization (i.e. texture coordinates), and a simplification algorithm has generated a sequence of vertex removals and hole retriangulations for the mesh (for an example of such an algorithm – see [9]). The texture coordinates of the vertices remaining in the lower resolution meshes are just inherited from the highest resolution mesh, and the new connectivity defines a new parametrization. In many cases, this parametrization of the low resolution mesh will be legal (i.e. the 2D triangulation will not contain foldovers), but this is not guaranteed. We show how, given a high-resolution 3D mesh and its simplification history, it is possible to parametrize the mesh such that the parametrization indeed remains legal throughout the simplification procedure. This paper is organized as follows: Section 2 elaborates on the connection between parametrization of 3D meshes and the embedding of their connectivity graph in the plane. Section 3 describes our parametrization technique in detail. Section 4 provides experimental results related to various applications, and we discuss extensions and conclude in Section 5. 2. Texture Mapping as Parametrization or Embedding

Interactive 3D authoring applications frequently map 2D textures onto a 3D triangle mesh. This involves assigning (u,v) coordinates to the vertices of the 3D mesh, which defines a piecewise affine mapping of the texture image to the 3D mesh triangles. While many applications do not care about the precise values of the (u,v) coordinates, as long as the result looks reasonable, there are applications in which these values are critical. For example, when texture mapping a photograph of a face to a 3D mesh of a head, it is important that the eyes and the nose in the photograph are aligned precisely with the eyes and the nose in the mesh. Figure 1 illustrates what might happen if these constraints are not satisfied. Precise alignment means that the (u,v) coordinates associated with feature points in the 3D mesh are constrained to very specific values, known as hard constraints. The (u,v) coordinates of the rest of the mesh are not as constrained, as long as the resulting mapping is visually appealing. By “visually appealing” we mean that the texture is mapped in a continuous manner onto the 3D mesh, namely, does not contain foldovers or tears, and is not too distorted, despite the constraints. While many papers [4,6,11,12,13,14,16,19] deal with the problem of minimal-distortion texture-mapping, to the best of our knowledge, none of them permit hard constraints in the mapping. The technique of Levy and Mallet [13] permits soft constraints, i.e. where the constraints are allowed to be only approximately satisfied. This paper shows how to obtain continuous piecewise-affine mappings of a texture map to a 3D mesh with hard constraints. Since, in general, arbitrary hard constraints might prevent any solution to the problem, we present a general technique for satisfying constraints, which involves the introduction of extra vertices into the mesh. These vertices are known as Steiner vertices. Our technique solves the problem of texture mapping with hard constraints and also the following problem that arises when texture mapping a multiresolution
© The Eurographics Association and Blackwell Publishers 2001. Published by Blackwell Publishers, 108 Cowley Road, Oxford OX4 IJF, UK and 350 Main Street, Malden, MA 02148, USA

Assigning texture coordinates to a 3D mesh can be regarded as a parametrization of the mesh surface, where each 3D vertex is assigned a 2D parameter value, and each point on the mesh surface is parametrized by the appropriate convex combination of the parameter values of the vertices of the surface triangle in which it resides. Care must be taken that the parametrization is legal, i.e. that no two points on the mesh surface are mapped to the same point in the 2D parameter domain. This may be achieved if the

is sought.y3) are the coordinates of some triangle as defined by the connectivity graph. that the edges do not intersect and all the triangles have the same orientation.e. may be reduced to the case we treat by cutting the mesh into pieces. such as we will see in the next section.n} are the locations of the n vertices. which become slow. Tutte [18] first provided the most basic way of computing embeddings using barycentric coordinates. edge lengths. straight-line graph in the plane induced by the 3D vertex parameter values and its connectivity graph is a legal triangulation of the 2D parameter points. Surazhsky and Gotsman / Texture Mapping with Hard Constraints (a) (b) (c) (d) Figure 1: Texture mapping with hard constraints. the 3D coordinates of the vertices. These should be mapped to the appropriate geometric features marked on (b). Adding a cost function to minimize distortion further complicates matters. not contain foldovers. None of these methods are easily extendable to parametrizations with hard constraints. Standard interpolation techniques to map R3 to R2. Embedding a 3D mesh with a single boundary (i. (b) 3D face with features corresponding to those of (a). as Figure 2 demonstrates. but solving either of them involve heavy numerics. (x2. some which do not require mapping the boundary vertices to a convex shape.y1). In this case we may also say that the 3D mesh has been legally embedded in the plane. The geometry of the mesh. Note that actually only the connectivity of the 3D mesh plays a role in the problem. implying that the triangles be non-degenerate and consistently oriented. where t is the number of triangles. Since usually the embedding is not unique. i=1. areas. Floater [7] later generalized this to arbitrary convex combinations and used this mechanism to generate “shape-preserving” parametrizations. as also those of higher genus. Since it is impossible to legally embed a mesh topologically equivalent to a closed sphere in the plane. Additionally. such as radial basis functions (RBF). A legal triangulation on n points may be formulated as a solution to a set of t quadratic inequalities. Note that if the boundary vertices are fixed. a “good” embedding.e. which is topologically compatible with a rectangular texture map.e. does not have to be used in order to compute an embedding.. etc. © The Eurographics Association and Blackwell Publishers 2001. but then the issue of continuity across boundaries must be addressed. (c) Rendering of result when constraints are ignored. Sheffer and de Sturler [16] have formulated a different set of (highly non-linear) inequalities on the angles of a triangulation to guarantee legality. topologically equivalent to the disk) in the plane has been addressed by many authors. One of the main concerns is that the embedding preserve the geometric properties of the 3D mesh. boundary triangles impose linear (or constant) inequalities. Both formulations can easily incorporate hard constraints as extra equalities. Eck et al [6] used harmonic mappings to achieve a similar effect and minimize distortions in a sense.yi). e..e.. in a variety of senses. adding hard constraints may eliminate all solutions.y2) (x3.Eckstein. but cannot guarantee that the induced 2D triangulation will be valid. (a) Texture map with feature points marked. Other embedding methods. the following inequality must hold: x1 y1 1 x2 x3 y2 1 > 0 y3 1 where |. as the optimization process might get stuck in local minima. hence unpractical for large meshes. we restrict our discussion to the case of a mesh with a boundary. based on Gaussian [1] or BSpline basis functions [5] may satisfy hard constraints. Closed meshes. and results in an embedding with the minimal sum of squares of the edge lengths. Similar inequalities must hold for all t triangles.g.| denotes determinant. in which the boundary vertices are mapped to a convex position and each interior vertex is positioned at the centroid of the locations of its neighbors. Note the texture nose and the geometric nose. This means that the signed area of all the triangles must be positive. and (x1. as follows: If {(xi. are described by Zigelman et al [19] and Sheffer and de Sturler [16]. i. angles. i. unwieldy and unstable. i. (d) Rendering of result when constraints are satisfied using our techniques. Texture coordinates were generated using the “shape preservation” method of Floater [7]. Computing this embedding involves solving a set of linear equations derived from the connectivity graph adjacency matrix. .

See e. 3. 3. Steiner vertices are frequently used in graph-drawing applications. place the vertex at at arbitrary location inside the kernel. but the introduction of Steiner vertices admits a solution. Algorithm 1: Constrained embedding. Compute barycentric coordinates for the vertices (using the "shape preservation" method of Floater [7]). Hence. If the kernel is empty – run the “kernel fix” procedure on the triangulation. For each such vertex. b. Embed the vertex at a location in the plane determined by the barycentric coordinates of its neighbors at that level. 3.g.run the “Steiner embed” procedure on the polygon. in order to align the vertices of two such meshes in a 3D morphing application. Were there no hard constraints. Figure 4 illustrates this procedure. It also does not introduce Steiner vertices to create a solution when one is not possible without them. (The reconstruction phase) Restore the unconstrained vertices of the mesh (and their connectivity) in the reverse order of simplification. and then restores them in reverse order (the reconstruction phase). The method uses a variant of Gotsman and Surazhsky [10] on the so-called “universal” method of Aronov et al [3] for compatibly triangulating pairs of polygons.1 The embedding procedure Our embedding procedure is as described in Algorithm 1. Thus an algorithmic solution is sought. 1. even if one exists. Note that the neighborhood polygon is always simple (since the embedding generated until now is legal due to the main invariant). Hence. even if such an embedding exists. as computed in step 2. Steps 2. we resort to Steiner vertices. we discard all the changes performed by the “kernel fix” procedure and apply the “Steiner embed” procedure. See Figure 5 for an example. we position it inside the corresponding kernel if its neighbors form a star-shaped polygon. The ability to solve the problem efficiently for all inputs is what distinguishes our solution from all previous work. instead of straightline edges. and use them to generate a planar embedding of the connectivity graph. called Steiner vertices. by doing the following: a. which are also a variant of the embedding problem. If the kernel is still empty . Surazhsky and Gotsman / Texture Mapping with Hard Constraints Alexa [2] addressed the problem of embedding a closed genus-0 3D mesh on the sphere with constraints. and not guaranteed to find a solution. c. 3. the heuristic (iterative) solution offered by Alexa is quite slow. at least one of its neighbors must be in a similar predicament. together with the 2D barycentric coordinates of each removed vertex relative to its neighbors at the moment of removal. This means that a 3D edge will be mapped to a 2D path of edges. 2. and then triangulates the resulting nontriangular faces inside the polygon. but can not guarantee it. Maintain a record of the entire simplification history. Pach and Wenger [15]. Figure 3 shows an example of a constrained connectivity for which a straightline 2D embedding does not exist. . Note that if a vertex is not located inside the (possible empty) kernel of its neighborhood polygon. (The embedding phase) Ignore the hard constraints. since there exist inputs for which a solution does not exist. The “kernel fix” procedure tries to move vertices of the polygon in which the vertex in question lies in order that the polygon be star-shaped (have a non-empty kernel). It first removes all the unconstrained vertices from the mesh (the simplification phase). which might not be the case. Hence we (serially) examine locations of all vertices and identify all those which do not reside inside the kernel of their neighborhood polygons. we choose the location of the vertex to be the point in the plane which minimizes the variance of the areas of the triangles formed by the vertex and the polygon vertices. 3c and 3d of Algorithm 1 deserve further explanation. The “Steiner embed” procedure positions that vertex and additional Steiner vertices in the polygon such that the new vertex is connected to all polygon vertices by polygonal paths. If the computed location of the vertex is outside the kernel of the polygon formed by its neighbors (meaning the embedding is now illegal). If the constraints do not allow this procedure to converge.2 Constrained simplification The main invariant of our algorithm is that each iteration of the reconstruction phase starts with a legal embedding and Embedding a 3D mesh in the plane with hard constraints seems to be a very difficult problem. The reconstruction phase maintains the invariant that the embedding remains legal after each vertex insertion. this procedure could ultimately result in a legal triangulation of the point set. However. When the “kernel fix” procedure fails. which is both efficient and will produce some solution (by introducing Steiner vertices) even if the constraints are difficult (or impossible) to satisfy. all we have to do is to legally position the new vertex inside the polygon. until only the subset of constrained vertices remain embedded at their prescribed locations with some legal triangulation. Embedding with Hard Constraints The “kernel fix” procedure increases the chance of a legal embedding. © The Eurographics Association and Blackwell Publishers 2001. we make the problem easier by allowing the 2D embedding to contain extra vertices. (The simplification phase) Simplify the mesh connectivity using “constrained simplification” (Algorithm 2).Eckstein. d. In this case. Let us begin with the latter two. This is quite similar to our problem (which occurs in the plane).

However. it remains in its existing location. remove e from CB and add to CB the edges that connect the endpoints of e to v and goto (a). especially in interactive texture mapping applications.g. In this manner the relaxation procedure reproduces the original (unconstrained) barycentric coordinates for many unconstrained vertices. . all its edges are fixed as well). the resulting triangulation at the last step may be illegal when we apply the geometric constraints. which is always legal. However. experiments show that in practical scenarios. try to eliminate them by flipping edges (Figure 6(g)). We might remain with holes that still have to be retriangulated. in particular. The simplification algorithm proceeds as described in Algorithm 2 and illustrated in Figure 6. we have to ensure that the last step of the procedure. Algorithm 2: Constrained simplification. Algorithm 2 maintains the invariant that the cut-border is always simple.3 Minimizing distortion Although Algorithm 1 yields a legal planar triangulation. applying steps 3(a). in the sense that the triangles may be long and “skinny”. return to step (c) and attempt to remove a different vertex v∉VF. Initialize CB to be the boundary of T (since. The idea behind this procedure is as follows: at the simplification phase we choose several levels of the multiresolution hierarchy to be fully recorded levels: for each such level we record barycentric coordinates of every unconstrained interior vertex (relative to its neighbors).EF) is the desired output of the simplification procedure. we still try to keep them as legal as possible so that the barycentric coordinates stored for the removed vertices are legal.e. which is desirable for the subsequent reconstruction step. each time we reach a fully recorded level we attempt to re-embed every unconstrained vertex inside its neighborhood polygon according to its original barycentric (a) (b) Figure 2: Constrained embedding using RBF. A better alternative is to work towards some legal triangulation of the constrained vertices. While T contains non-fixed vertices (V∩VF≠φ): a. If the previous step failed. find any (not necessarily geometrically legal) retriangulation which does not add fixed edges. we employ an on-the-fly relaxation procedure. The result is not a legal embedding © The Eurographics Association and Blackwell Publishers 2001. (a) A planar triangulation with a fixed boundary and two constrained interior vertices: a and b.E) is a simple closed cycle of edges in EF ∩E. The set of fixed vertices of a triangulation will be denoted by VF. Constrained-simplification(T. A cut-border (CB) in a triangulation T(V. 3. We call this procedure “constrained simplification”. It maintains a dynamic cut-border which separates the region of the mesh that has been simplified from that not yet simplified. 3(b) of Algorithm 1. See Figure 6(b). since they might cause the cut-border to be non-simple in the future. the boundary is fixed). e.TF) 1. To overcome this. c. If the attempt fails for some vertex. the result may be significantly distorted. If all such v fail . failures are extremely rare. A fixed edge is an edge connecting two fixed vertices. Let e be in CB and let v be the vertex within CB forming a triangle with e. See Figure 6(e). coordinates. minimizing distortion. VF⊆V. This scheme is not guaranteed to succeed. This is undesirable. the Delaunay triangulation. The set of fixed edges of a triangulation will be denoted by EF. If nothing found. Naturally. aimed at keeping the distortion minimal during the reconstruction phase of the algorithm. A fixed triangle is a triangle with three fixed vertices (thus. Report success. i. where dragging a control point should have only a local effect. At the reconstruction phase. If v∉VF. is legal too. d. T(V. We want to avoid fixed edges.report failure. If v∈VF.Eckstein. Apply Delaunay triangulation to the holes (Figure 6(f)).(c).E) is the initial (non-simplified) planar triangulation and TF(VF. Note that the intermediate triangulations are not required to be legal during the simplification process. Surazhsky and Gotsman / Texture Mapping with Hard Constraints maintains its legality. the constraints having had a global effect on the result. The problem is that if we employ an arbitrary simplification scheme in the simplification phase. b. and need the following definitions to describe it: • • • • • A fixed vertex is a vertex constrained in the input. the embedding of only the hard constrained vertices. The number of Steiner vertices might also be unneccesarily large. 2. remove v from T (Figure 6(d)) and retriangulate the resulting polygonal hole by adding all the triangles of TF incident on CB possible. e. If any fixed edges were added in this triangulation. 3. (b) Changing the position of b and using RBF to generate new positions for the other unconstrained interior vertices.

(b) Embedding for the input of (a) using (green) Steiner vertices. (a) Polygon and inserted central vertex. (b) The vertex u neighboring on v is outside its neighborhood polygon’s kernel. © The Eurographics Association and Blackwell Publishers 2001. (b) Spiderweb triangulation of polygon using (green) Steiner vertices. (a) (b) Figure 5: Inserting a vertex into a non-star-shaped polygon using Steiner vertices. the blue paths correspond to the original blue edges and the dashed ones were added to obtain a legal triangulation. (a) The red polygon is not star-shaped. Surazhsky and Gotsman / Texture Mapping with Hard Constraints (a) (b) Figure 3: Straight-line embedding using Steiner vertices. u v v u v 0 (a) (b) (c) Figure 4: The “kernel fix” procedure. (c) Moving u into the kernel of its neighborhood polygon solves both problems. hence no location of the central vertex v will result in a legal triangulation. The brown edges partition the polygon into convex parts. The dashed edges are added to keep the graph a legal triangulation. (a) A connectivity graph with all vertices constrained which cannot be embedded as a triangulation in the plane. .Eckstein. Note the crossing edges.

which is forbidden at this stage. features on the 2D texture and 3D meshes are marked. embedding in the plane of the subset. However. . Note the fixed edge added by the retriangulation procedure.(c) Updating the cut-border after a new fixed vertex (the large one) is encountered. (g) Several edge flips performed to eliminate the forbidden edge. but as more original vertices are restored.1 3D texture mapping Figure 8(a) shows a 2D texture and 8(b) a 3D mesh of a female torso. All fixed (filled) triangles are outside the cutborder (b). as we are able to remove some of those introduced during the reconstruction phase. (a) A (red) cut-border is maintained. 4. and inherited in lower resolution versions of the model. (d) Removing a non-fixed vertex. Surazhsky and Gotsman / Texture Mapping with Hard Constraints exterio r (sim p lified ) in terio r (n o n -sim p lified ) cu t b o rd er (a) (b) forbidden edge (c) (d) (e) (f) Figure 6: Constrained simplification of a triangulation with (marked) fixed vertices. Figure 8(c) shows what a interactive authoring system not supporting constrained texture mapping generates and Figure 8(d) shows our results. See Figure 7 for some results. i. and it looks like a well-fitted vest. will be legal. 4. which was typical for all the examples we experimented with. These vertices were critical in the coarse triangulations.e. triangulated using the low-resolution connectivity. The 3D mesh in this example contained 928 vertices and we introduced 32 constraints. the triangulation becomes more flexible and many Steiner vertices are no longer needed. Experimental Results 4. nothing guarantees that the inherited parametrization. texture coordinates are defined for the highest resolution. (g) The relaxation also reduces the number of Steiner vertices. Hence. which contain a retriangulated subset of the high resolution vertex set. If the 3D mesh is © The Eurographics Association and Blackwell Publishers 2001. (f) Triangulating the remaining holes. we may eliminate all these Steiner vertices.2 Multiresolution texture mapping In this section we demonstrate the results achieved by our algorithm and compare them with results from regular texture-mapping algorithms and commercial packages. (e) Identifying the one fixed triangle that may be added at the current stage.Eckstein. when in the relaxation routine we discover that the neighborhood polygon of a vertex previously embedded using Steiner vertices is now star-shaped. The objective is to texture map the image onto the mesh such that the corresponding features coincide. where a correspondence between various In most multiresolution scenarios. Solving for the constrained parametrization took less than one second on a state-of-the-art PC.

© The Eurographics Association and Blackwell Publishers 2001. 1. place it inside the kernel. Restore the vertices of the mesh (and their connectivity) in the reverse order of simplification. 3. is it possible to generate new locations for the rest of the vertices such that the resulting induced triangulation (using the original connectivity) is still legal? In this case we say that the two triangulations are compatible. given a mesh and its simplification history – a sequence of vertex removals and hole retriangulations – generate a parametrization which will be legal at all resolution levels. 4. Naïve morphing methods. we can use the method of Floater and Gotsman [8] to morph between them. (c) Result after relaxation. (a) Original mesh in which marked vertices will be moved to new locations. e. (a) (b) (c) Figure 7: Minimizing distortion. Note that we do not use the “kernel fix” procedure at Step 3 of Algorithm 3 because we are not allowed to change the locations of the vertices already embedded. 2. satisfying hard constraints after vertices have been moved (essentially rotated). Figure 10 shows an example where compatible triangulations have been generated and morphed. Once we have generated two compatible triangulations. while the latter remains valid throughout the simplification procedure. especially those involving rotations of the points. illegal triangulations at lower resolutions will rarely occur. The exact problem is: Given a 2D triangulation of an image with feature vertices. In this manner we preserve the legality of the triangulation for all levels of resolution already reconstructed. hence maintains legality of the triangulation throughout the morph. . until the coarsest simplification level is reached. with the sole difference that the simplification process used here is the given simplification history (instead of the “constrained simplification”). If the kernel is empty . This is guaranteed to succeed. as computed in step 2. when the original “arbitrary” parametrization is used. The objective is to generate vertex trajectories interpolating the two sets of vertex locations. possibly also requiring introduction of Steiner vertices. • Algorithm 3: Multiresolution parametrization. The method of Floater and Gotsman interpolates the barycentric coordinate representation of the triangulation. and when the one generated by Algorithm 3 is used.g. and new locations for a subset of the vertices. This will facilitate a piecewise-affine warp of the image such that the constraints (moved vertices) are satisfied. Our algorithm to achieve this is as described in Algorithm 3. No relaxation was used. as there are no hard-constrained vertices. where the 3D mesh is just a 2D triangulation. The former loses its validity very quickly as resolution is reduced. If the parametrization at the coarsest level is illegal. an important practical problem is.Eckstein. fail on most inputs. such that they induce legal intermediate triangulations. If the computed location of the vertex is not in the kernel of the vertex’s neighborhood polygon (meaning the embedding is illegal).3 2D warping and morphing Another application of our constrained texture mapping procedure is to 2D image warping. run the “kernel fix” procedure to make it legal.run the “Steiner embed” procedure on the polygon. Hence. Figure 9 shows parametrizations of a mesh at three levels of detail. performing the following steps: • • Embed the vertex at a location in the plane determined by the barycentric coordinates of its neighbors at that level. Surazhsky and Gotsman / Texture Mapping with Hard Constraints well-behaved. Execute steps (1) and (2) of Algorithm 1. This is actually no more than a special case of the problem described above. but meshes with complex geometry cannot avoid this. (b) New parametrization with (blue) Steiner vertices generated by our algorithm. those obtained by using straight line trajectories.

Malden. (d) Our result when the constraints are satisfied.Chalmers and T. marked by ‘+’s. UK and 350 Main street. 108 Cowley Road. (c) Results when constraints are ignored. Note the multiple edge intersections. Published by Blackwell Publishers. (a) A given parametrization of a 3D mesh. (a) (b) (c) (d) (e) (f) Figure 9: Multiresolution parametrization. Oxford OX4 IJF. MA 02148. (a) 2D texture with some feature points. making the parametrizations illegal. © The EUROGRAPHICS Association and Blackwell Publishers 2001. (d-f) Parametrization of the mesh generated using our method. where the parameter values are inherited from (a). (b) 3D mesh with features corresponding to those in (a).-M.c) Parametrizations of two lower resolutions of the mesh. (a) (b) (c) (d) Figure 8: Texture mapping with hard constraints. shown at the same levels of detail (and identical connectivities) as (a-c).EUROGRAPHICS 2001 / A. Note that (e) contains two Steiner vertices.Rhyne Number 3 (Guest Editors) Volume 20 (2001). (b. USA .

Relaxation indeed alleviates this. such that both the straight-line graphs induced by the two connectivities are legal triangulations. it is in the kernel. but a method to bring to a minimum the number of Steiner vertices used is still open. from a practical point of view. Purple points are features that will be moved to new locations in the target image. and is applicable to a number of common problems in 2D and 3D modeling. It is easy to see that many Steiner vertices might be needed in the worst case. Relaxation in its current form is impossible since it must be done on multiple resolution levels. © The Eurographics Association and Blackwell Publishers 2001. . An example is the precise location of a vertex in the kernel during the “kernel fix” procedure. Bottom line: Morph between (a) and (b) generated by algorithm of Floater and Gotsman [8] for morphing compatible triangulations. and their effect on the results is not fully clear yet. Algorithm 3 produces a legal parametrization for all resolution levels of a multiresolution model. We are experimenting with this. The algorithm may generate Steiner vertices in the case that a simple solution does not exist. which is undesirable. (a) Source image with triangulation of control points. However. or the changing of the connectivity of a given 3D model (as in a remeshing or mesh optimization scenario) without having to modify the model’s texture coordinates. This is a subject of future research. Discussion and Conclusion From a theoretical point of view. (c) Result generated by SurfaceSuite package in an attempt to satisfy the constraints. it does not move too much from its original location. This will allow the use of common texture coordinates for two n-vertex 3D models with different connectivity graphs. A computational geometric problem which is closely related to the constrained embedding problem is that of compatible geometries: Given two n-vertex planar graph connectivities. 5. A number of heuristic parameters are used in our algorithm. and on the other hand. Surazhsky and Gotsman / Texture Mapping with Hard Constraints (a) (b) (c) Figure 10: Morphing using constrained parametrization. position n vertices in the plane. Acknowledgements This research was partially supported by European project HPRN-CT-99-00117 (MINGLE). as well as with ways of guiding the parametrization by incorporating hard constraints in this scenario as well.Eckstein. Note the tear (discontinuity) in the image. Our method generates continuous piecewise-affine parametrizations of 3D meshes containing Steiner vertices. on the one hand. so that. this parametrization leaves much to be desired in terms of its quality. including multiresolution texture mapping and image morphing. This seems to be the first algorithm to deal with hard constraints in a systematic manner. as it increases the complexity of the mapping. We have presented an efficient algorithm for the generation of a parametrization of a 3D mesh in the presence of hard constraints. Right now we position it somewhere along the line joining the kernel centroid with the original location. (b) Target image with new triangulation satisfying constraints generated by our method.

263-274. [13] Levy and J. Interactive texture mapping. 2000. Stuetzle. Soc. © The Eurographics Association and Blackwell Publishers 2001. [2] [3] [4] [5] [6] [7] [8] [9] [10] C. Dobkin. L. Hoppe. 1997. ACM SIGGRAPH Conference Proceedings. T. Garland and P. [17] Sven Technologies. Borrel and A. Rappoport. How to draw a graph. P. Duchamp. pp. Surface parametrization for meshing by triangulation by flattening. Proceedings of the 9th International Meshing Roundtable.An efficient global parametrization method. Reisfeld. 16:26-37. Simple constrained deformations for geometric modeling and interactive design. ACM SIGGRAPH Conference Proceedings. ACM SIGGRAPH Conference Proceedings. Wenger. Curve and Surface Design Conference Proceedings. Iglesias. pp. Surazhsky. Floater and C. Merging polyhedral shapes with scattered features. Lounsbery. pp. Bennis. Available at http://www. Journal of Computational and Applied Mathematics. T. 1994. M. Kimmel and N. M. Vezien and G. 3:27-35. Heckbert. The Visual Computer. H. Gotsman. ACM Transactions on Graphics. 1998. Verroust. London Math. Computer Science Department. C. 1963. Hormann. 1991. Computers and Graphics. M. Surface simplification using quadric error metrics. 25(1):67-75. Mallet. Proc. 1993. 209-216. Maillot. [15] J. Technical Report CIS-2000-01. Israel. Guaranteed intersection-free polygon morphing. Surface Suite Pro. Computer Aided Geometric Design.com/products/surfacesuite/ [18] W. J. Seidel and D. 1999. M. How to morph tilings injectively. ACM SIGGRAPH Conference Proceedings. Kiryati. 153-162. 101:117-129. 161-172. Zigelman. Lee. [16] A. 1998.Technion. pp. M. Schroder. pp. P. Computer Graphics Forum. ACM SIGGRAPH Conference Proceedings. 14:231-250. G. Texture mapping using surface flattening via multidimensional scaling". Yahia and A. [11] K. [14] J. H. Embedding planar graphs with fixed vertex locations. 237246. Floater. Surazhsky and Gotsman / Texture Mapping with Hard Constraints References [1] N. pp. Alexa. Aronov. 1995. MAPS: Multiresolution adaptive parameterization of surfaces. Eck. Tutte. Springer-Verlag. S. Non-distorted texture mapping for sheared triangulated meshes. [12] W.. . M. pp. Souvaine. Image warping using few anchor points and radial functions. ACM SIGGRAPH Conference Proceedings.avatarmaker. R. F. Computational Geometry: Theory and Applications. 13(2):137155. Parameterization and smooth approximation of surface triangulation. 1997. W. 27-34. 1998. T. DeRose. Sheffer and E. 1999. and W. 95-104. 2001. Arad and D. 1993. 2000. pp. L. On compatible triangulations of simple polygons. Gotsman and V. 13:743-768. Piecewise surface flattening for non-distorted texture mapping. Greiner. R. [19] G. 1995. MIPS . B. Inc. 173-182. Saint-Malo. Lecture Notes in Computer Science 1547. M. 14(1):35-46. pp. de Sturler. Proceedings of Graph Drawing '98. Pach and R. 343-352. Cowsar and D. Sweldens. Multiresolution analysis of arbitrary meshes. S.Eckstein.

Sign up to vote on this title
UsefulNot useful