Non-Distorted Texture Mapping Using Angle Based Flattening

Size: px
Start display at page:

Download "Non-Distorted Texture Mapping Using Angle Based Flattening"

Transcription

1 Non-Distorted Texture Mapping Using Angle Based Flattening A. Sheffer and E. de Sturler Abstract: This article introduces a new method for surface parameterization for texture mapping. In the first step of the algorithm we compute a planar triangulation of the faceted surface, using an Angle Based Flattening (ABF) formulation. This provides a mapping function from a three-dimensional surface to the plane. The ABF formulation defines the flattening problem as a constrained minimization problem in terms of angles (only). After generating the flat triangulation we compute a mapping from the flat triangulation to a rectangular region. The mapping minimizes the distortion of distances and areas in the parameterization with respect to the original three-dimensional surface. The texture mapping function is generated by combining the two mapping functions. The method is more general and robust than previous methods and is guaranteed to generate a valid solution. It can handle any surface for which a connected, valid, two-dimensional parameterization exists, including surfaces with large curvature gradients. It does not require the boundary of the flat two-dimensional domain to be predefined or convex. The flattening step of the algorithm uses the necessary and sufficient constraints for a valid two-dimensional triangulation. As a result, the existence of a theoretical solution to the flattening procedure is guaranteed. The second step of the algorithm aims at the preservation of distances in the combined mapping, resulting in a minimal distortion texture mapping. Keywords: texture mapping, parameterization, triangulation, angle based flattening (ABF), constrained optimization. 1. INTRODUCTION Texture is an essential component of computer generated images. To create a texture on a threedimensional surface model, a texture mapping procedure is used. Texture mapping provides a projection function from a three-dimensional surface to a two-dimensional texture pattern. Such mapping corresponds to a two-dimensional parameterization of the three-dimensional surface. To minimize the distortion of the texture, the parameterization function has to preserves the surface metric structures as much as possible. Parameterization of three-dimensional surfaces has many other applications as well, including finiteelement surface meshing [Sheffer and de Sturler 2000a; Marcum and Gaiter 1999], surface reconstruction [Floater 1997], multiresolutional analysis[eck et al. 1995], formation of ship hulls, generation of clothing patterns [McCartney et al. 1999], and metal forming. When the surface is represented using an analytic description, this description can often be used to provide the parameterization. However, many computer graphics models are represented by a triangular tessellation and the analytic representation of the surface is often not available. A triangulated mesh is the natural description of surfaces constructed from scattered data such as input from laser range scanners or sampling on a regular three-dimensional grid. An algorithm for two-dimensional parameterization or flattening of tessellated surfaces first constructs a two-dimensional mesh with a similar connectivity to the three-dimensional surface. Then, a parametric function is defined between the two-dimensional mesh facets and their three-dimensional counterparts. ACM Journal Name, Vol. V, No. N, Month 20YY, Pages 1 0??.

2 2 Several approaches for parameterization of tessellated surfaces have been suggested. In [McCartney et al. 1999] the authors suggest a heuristic approach for triangulation flattening. The method is based on optimal local positioning of projected nodes, based on a sequential addition of the nodes. Similar ideas were suggested in [Samek et al. 1986] and [Bennis et al. 1991]. The methods are efficient and produce good results for nearly planar surfaces. However, they do not guarantee the preservation of the metric structures in the two-dimensional mesh or even the validity of the mesh. Eck et al.[eck et al. 1995] suggest the use of harmonic maps to generate the two-dimensional projection of the three-dimensional mesh. The algorithm produces approximations of good quality, and provides an accurate mapping function. A major disadvantage of the method is that it requires the boundary of the two-dimensional mesh to be predefined and convex. Another drawback is that the method does not guarantee the validity of the resulting flat mesh (i.e. it can generate inverted elements). Floater [Floater 1997] describes a parameterization method which computes the positions of the nodes in the flat mesh using the solution of a linear system based on convex combinations. Floater was the first, to our knowledge, to formally define what types of surfaces can be parameterized and to provide a parameterization method which is provably correct for any such surface. The method also guarantees that the resulting flat mesh is valid. However, similarly to the algorithm in [Eck et al. 1995] the method requires the boundary of the two-dimensional mesh domain to be predefined and convex. Marcum [Marcum and Gaiter 1999] introduces the use of finite-element techniques to compute the locations of the flat mesh nodes. The method computes the boundary as part of the solution, using an iterative procedure that alternatingly computes the boundary while keeping the interior fixed and vice versa. However, no validity guarantees are given for this method. A lot of research on computing parameterizations of tessellated surfaces has been done in the context of computer graphics, since parameterization is required to generate non-distorted texture mappings [Foley et al. 1992]. Some papers like [Haker et al. 2000] involve a mapping to a sphere, which provides good parameterization for closed surfaces, but cannot handle surfaces which have boundaries. Zigelman et al. [Zigelman et al. 2000] provide a method for flattening surfaces by using multi-dimensional scaling. It computes the two-dimensional domain boundaries as part of the solution. The method does not guarantee the validity of the resulting flat mesh. Levy and Mallet [Levi and Mallet 1998] suggest a method which provides user control on the spread of the distortion across the flattened mesh. The method uses some of the formulations introduced in [Floater 1997], and as a result has similar limitations. Contribution In [Sheffer and de Sturler 2000a] we presented a new method for the parameterization of tessellated three-dimensional surfaces via a mapping to a two-dimensional domain. The method was developed in the context of finite-element surface meshing. The suggested procedure is based on the observation that a planar triangular mesh is defined by the angles within each triangle, up to global scaling, rotation or translation. Based on this observation, our method formulates the flattening problem solely in terms of the planar triangulation angles. The algorithm minimizes the relative distortion of the planar angles with respect to their counterparts in the three-dimensional surface, while satisfying a set of constraints that ensure the validity of the flat mesh. This formulation yields a constrained minimization problem defined entirely in terms of flat mesh angles; the locations of the flat mesh nodes do not play a role. The solution of this problem provides the set of angles which determine the flat triangulation. We refer to this new method as the Angle Based Flattening or ABF algorithm. The ABF formulation does not require the two-dimensional boundary to be predefined and does not place any restrictions on the shape of the boundary or the surface curvature. The solution method based on this formulation is provably correct; see [Sheffer and de Sturler 2000b; 2000a]. The result of the procedure is a valid two-dimensional mesh, which maintains the original surface connectivity and minimizes the distortion of the mesh angles

3 3 resulting from the mapping to a plane. This minimizes the shape distortion of the mapping. In this work we adopt the proposed method for use in texture mapping. The ABF procedure is used as the first step in generating a parameterization suitable for texture mapping. We need a second step to ensure the preservation of lengths, which we describe below. In this paper we provide several examples of texture mapping using the developed algorithm. The main advantages of our method are: (1) The method provably provides a valid parameterization for any surface for which a parameterization exists. (2) The method minimizes the distortion of both shape and length caused by the parameterization. (4) We compute the boundary of the two-dimensional domain as part of the parameterization algorithm; we do not need to define the boundary in advance. (5) The two-dimensional domain can have any shape; specifically, it does not have to be convex. (6) The robustness of the method is not affected by the input mesh quality due to the direct use of angles in the formulation of the flattening algorithm (part 1 of our parameterization for texture mapping). (7) The ABF formulation avoids the problem of scaling to work on meshes with different feature sizes, i.e. the tolerances and error measurements do not need to be modified when different mesh element sizes are used. 2. ALGORITHM OVERVIEW In order to preserve the surface metric structures during parameterization both angle and length distortion have to be minimized. For a general surface there is no mapping to the plane which fully preserves distances or areas [Ahlfors and Sario 1960]. Neither is there a mapping to the plane that for a faceted surface with non-zero curvature fully preserves angles. Hence, we suggest a method which strives to minimize both types of distortion. The first step of the algorithm minimizes the angular distortion and the second minimizes the distances distortion. Based on Riemann s theorem [Ahlfors and Sario 1960], for a smooth surface there exists a mapping to the plane which is conformal, i.e., it preserves the surface angles. Such a mapping is also guaranteed to locally preserve the shape and the metric structures. In general, however, a conformal mapping does not exist for a faceted (non smooth). Hence, the first part of our algorithm computes a mapping from the three-dimensional surface to the plane which approximates a conformal mapping. The method finds the optimal two-dimensional boundary for the mapping based on the shape preservation (angle minimization) criteria. As observed earlier, the angles in a two-dimensional triangulated mesh fully define the mesh metric structures (up to a global scaling factor). Hence we can formulate the mesh flattening problem using the flat mesh angles as the variables. In the first step of the algorithm the mapping to the plane is computed through a constrained minimization problem based on the angle based flattening formulation (Section 3). The constraints are the necessary and sufficient conditions for a valid two-dimensional mesh, and we minimize the (relative) deviation of the angles from their optimal two-dimensional projections. This step is guaranteed to provide a valid parameterization which minimizes the angular distortion. Since the preservation of lengths is also important for texture mapping, a second mapping which minimizes length distortion has to be applied. After providing a flat parameterization using the ABF algorithm we compute a mapping from the bounding box of the flat projection to a rectangular region in the plain. The mapping is designed to minimize the distortion of the distances and areas with respect to the original three-dimensional surface. The computation is based on applying a mesh smoothing procedure to a Cartesian grid. The smoothing uses a sizing function which is based on the ratios between the lengths of edges in the three-dimensional surface and their counterparts in the flat surface. It is described in detail in Section 4. The texture mapping function is defined by the product of the two mapping functions. We will now discuss each parameterization stage in detail.

4 4 3. ANGLE BASED FLATTENING This section describes the angle based flattening algorithm, which provides the first component of the texture mapping function. First, it formulates the flattening procedure in terms of angles, defining a constrained minimization problem. Then, it discusses the numerical solution of the problem. Finally the locations of the flat mesh nodes are computed based on the angles. 3.1 Definition of the Constrained Minimization Problem We use the following notation to define the objective function to be minimized and the constraints. The index i always indicates faces, the index j indicates angles inside a face, and the index k indicates nodes. f i, i = 1... P, are the triangulation faces (either in the flat mesh or in the original mesh, as will be clear from the context). α j i, i = 1... P, j = 1, 2, 3, are the flat mesh angles; the angles in a face are numbered counterclockwise in increasing order. The vector of all angles is denoted α. β j i, i = 1... P, j = 1, 2, 3, are the corresponding original mesh angles. N k, k = 1... M, are the mesh nodes, where k = 1... M int (< M) indexes the interior nodes. α j(k) i is the angle in face f i at node N k. is the angle in the original mesh corresponding to α j(k) i. β j(k) i In the following, we implicitly assume the obvious relations among the indices that derive from the connectivity of the mesh. So when we write i βj(k) i, the index i runs only over those faces that contain node N k. The sum is therefore over all angles adjacent to node N k Objective Function. The objective function (to be minimized) is defined by F (α) = N i=1 j=1 3 (α j i φj i )2 w j i (1) where φ j i is the optimal angle for αj i in the two-dimensional mesh, and the wj i > 0 are weights. Our standard initial choice for the weights is w j i = (φj i ) 2. This makes the objective function measure the relative distortion of the angles rather than the absolute distortion. We derive the optimal angles φ j i from the angles β j i by computing a scaling factor per node: { j(k) β φ j i (k) = i β j(k) 2π i βj(k) i, N k is an interior node, i, N k is a boundary node, where N k is the mesh node to which the face f i is attached at the corner j. Since the input mesh is supposed to be valid, we assume that where ε 1 is an arbitrarily small (input) parameter. β j i ε 1 > 0, (3) Constraints. The following constraints are necessary and sufficient to ensure that the resulting mesh is valid. (1) g (1) i,j αj i ε 2 > 0, for i = 1... P, j = , and some ε 2 such that ε 1 ε 2 > 0 ; (2) g (2) i αi 1 + α2 i + α3 i π = 0, for i = 1... P ; (3) g (3) k i αj(k) i 2π = 0, for N k : k = 1... M int (interior nodes); (2)

5 (4) g (4) k if j(k) = 1. 5 Πi sin(αj(k)+1 i ) Π i sin(α j(k) 1 i ) 1 = 0, for N k: k = 1... M int, where j(k) + 1 = 1 if j(k) = 3 and j(k) 1 = 3 The first two constraints deal with the validity of individual faces. Constraint (1) maintains the orientation of a face (up or down) with respect to the mesh, and (2) ensures that each face is valid. Constraints (3) and (4) are necessary to ensure the topological validity of the mesh, because the connectivity of the mesh is not an explicit constraint. To explain this we introduce the following terminology. We define the wheel associated with an interior node as the set of all faces that share this interior node. We refer to the edges in the wheel connected to the interior node as the spokes. Constraint (3) guarantees that after fixing the position of an interior node and the direction of one spoke, going over all spokes in counterclockwise order around the wheel, all shared edges (spokes) of neighboring faces coincide. Constraint (4) guarantees that after fixing the length of one (arbitrary) spoke, going over all spokes in counterclockwise order around the wheel, that the length of the last spoke (coinciding with the first) agrees with the length of the first spoke. Note that, since we only compute angles, the lengths of the intermediate spokes can be made to agree by stretching or shrinking the faces appropriately. So we only need one constraint. Going over all interior nodes, it is easy to see that the interior of the mesh is valid. The necessity of the third constraint is obvious. The necessity of the fourth constraint is best illustrated by Figure 1, where the constraint is violated. Since the connectivity of the mesh is not explicit in the computation of the angles of all faces, we must make sure that the (arbitrarily chosen) first face in a wheel and the last face agree on the length of the shared edge. The fourth constraint is derived as follows. Consider an interior node as shown in Figure 1, and assume we fix the edge length l 1. Now from the angles α 1 1 and α 2 1 in face f 1 we can compute l 2 using the relation l 1 = sin α2 1 l 2 sin α1 1. (4) Using l 2 and the angles α 1 2 and α 2 2 in face f 2 we can compute l 3 to obtain an equation analogous to (4) Combining (4) and (5) we can relate l 3 to l 1 l 2 = sin α2 2 l 3 sin α2 1. (5) l 1 = l 1 l 2 = sin α2 1 sin α2 2 l 3 l 2 l 3 sin α1 1 sin α2 1. (6) Applying (4) for each face as we go in counterclockwise direction around the wheel, we can compute l 4, l 5,..., l 7. However, for the mesh to be valid we need l 7 = l 1. Using an equation analogous to (6) to relate l 7 to l 1 we get l 1 = l 1 l2 l6 = sin α2 1 l 7 l 2 l 3 l 7 sin α1 1 sin α2 2 sin α2 1 sin α2 6 sin α6 1 = 1, (7) which demonstrates the necessity of our fourth constraint. Going over the mesh faces and interior nodes, it is easy to see that if the constraints are satisfied the interior of the mesh is valid. Note that our constraints do not avoid potential crossing of the boundary edges. We discuss this concern in Section Solution of the Constrained Minimization Problem We solve the constrained minimization problem as follows. As argued in Section 5, for any valid input to our algorithm a valid planar mesh exists. Since the optimal angles φ j i are strictly positive and our objective

6 6 l 5 l 4 l 3 l 6 l 2 α j l 7 α i l 1 α α 1 2 l 1 l 2... sin( ) = sin( ) l 1 α 1 l 2 α 2 l 7 sin( α1 ) α =... i l1 sin( α 2 ) α j sin( ) sin( ) Fig. 1. Incompatibility of edge length in a wheel. function measures the distance between the angles α j i and the optimal angles φj i, we may prevent the algorithm from making angles too small by increasing the weight in the objective function for those angles rather than explicitly preventing the algorithm from moving outside the feasible set. This corresponds to a change in the norm that measures the distance to our optimal angles. Moreover, because of their simple form, the inequality constraints are very easy to check. Therefore, we formulate the optimization problem without explicitly taking the inequality constraints into account. If the optimization algorithm makes a certain angle too small we reject the iterate, adjust the weight of that angle, and continue. We use a standard Lagrange multiplier formulation for the optimization problem with the equality constraints. The auxiliary objective function then becomes F (α) + N i=1 M int λ i g (2) i (α) + k=1 µ k g (3) k Mint (α) + k=1 ν k g (4) k (α). (8) We use Newton s method to solve for a stationary point of the auxiliary function that satisfies the equality constraints. We modify Newton s method as indicated above to make sure we satisfy the inequality constraints. In most of our examples Newton s method converges in a few iterations and we do not need to adapt the weights. The sparse linear systems of equations that arise in Newton s method are solved using a sparse direct solver from the SuperLU package [Demmel et al. 1999; Demmel et al. 1999]. 3.3 Node Placement After the algorithm computes the angles of the projected mesh, we compute the placement of the mesh nodes on the z = 0 plane. As stated earlier the angles of a two-dimensional mesh define the mesh up to a linear transformation (translation, rotation or scaling). Hence, by placing the end nodes of a single mesh edge in the plane, we fully define the placement of the other nodes, based on the mesh angles. The procedure is done as follows. Choose a mesh edge e 1 = (N 1 a, N 1 b ). Map N 1 a to (0, 0, 0). Map N 1 b to ( e1, 0, 0). Push e 1 on the stack S. While S not empty, pop an edge e = (N a, N b ). For each face f i = (N a, N b, N c ) containing e: If f i is marked as set continue.

7 7 If N c is not yet projected to the z = 0 plane, compute it s position based on N a, N b and the face angles α 1 i, α2 i and α3 i. Mark f i as set, push (N a, N c ) and (N b, N c ) on the stack. The node placement gives us a parameterization function t 1 from the three-dimensional surface to a flat domain. Figure 2 shows two examples of applying the flattening procedure to three-dimensional surfaces. The generated textures are shown in Figure 7. (a) (b) (c) (d) Fig. 2. Flat triangulation examples. (a)(b) Folded plane (nearly developable surface). (a) Original model. (b) Flat triangulation. (c)(d) Human face. (c) Original model. (d) Flat triangulation. 3.4 Boundary Intersections The set of constraints defined in Section 3.1 guarantees the validity of the flat mesh at any interior node. However it does not prevent the flat surface from having self-intersections at the boundary. Boundary intersections make the mapping from the surface in R 3 to R 2 a many to one mapping instead of one to one. This makes the inverse mapping invalid, and hence can cause difficulties for some applications. However for texture mapping only the R 3 to R 2 mapping is used, providing the texture value for each point on the three-dimensional surface. The mapping in case of boundary overlaps remains continuous and smooth and therefore it preserves the texture patterns. Hence, for texture mapping purposes the intersections can simply be ignored. A texture for a model with intersecting two-dimensional projection is shown in Figure 3. Note that this is not true when the mapping folds over on the interior, as this causes folding of the texture pattern as well. For other applications, such as surface meshing where the mapping has to be one to one, an intersection removal procedure [Sheffer and de Sturler 2000a] can be used. The suggested approach handles selfintersections as a post-processing step. First, the method generates a flat surface mesh by solving the

8 8 (a) (b) (c) Fig. 3. Texture mapping for a spiral surface with non unique two-dimensional mapping. (a) Original surface (110 elements). (b) Flat parameterization containing boundary intersections. (c) Final texture. constrained minimization problem (Equation 8). Then, the mesh is tested for intersections of boundary edges. If an intersection exists additional constraints are added to the system of equations above. The method then solves the new constrained system of equations using the previous solution as the initial guess for the solver. The constraints are computed so as to remove the intersection between the edges by increasing the angles on the interior loop generated by the intersection (Figure 4). θ 1 θ θ 2 3 θ 1 θ 2 θ 3 e 1 e 2 e 1 e 2 Fig. 4. Removing a boundary intersection. The intersecting edges are pulled apart by increasing the size of the boundary angles in the interior loop created by the intersection. 4. LENGTH PRESERVING MAPPING IN R 2 After the flat triangulation is generated, the mapping t 1 from the three-dimensional surface to R 2 can be computed. For every point in the three-dimensional surface we define its image under t 1 as the point with the same barycentric coordinates in the flat mesh triangle as the original had in the corresponding surface triangle. This mapping minimizes the angular distortion, but it may not preserve lengths or areas accurately. To improve length (distance) preservation we compute an additional mapping t 2 from R 2 to R 2 as explained below. 4.1 Sizing Function To compute the mapping t 2, we first compute a sizing function representing the (isotropic) distortion of length, i.e., linear distortion, at any point on the flat mesh. The sizing function S is computed as follows. For each edge e = (N k, N l ), compute the distortion ratio as R k,l = 2D e 3D e, the ratio of the edge length in the flat mesh to the edge length in the original surface.

9 9 For each N k, k = 1... M, compute the distortion ratio at the node, R k, as the average of the distortions computed over the edges containing N k. For each point p we locate the mesh triangle f i = (N a, N b, N c ) it belongs to. We compute the linear distortion S(p) using the barycentric coordinates of p in f i. For p = N a u + N b v + N c w, u + v + w = 1 we set S(p) = R a u + R b v + R c w. 4.2 Mapping A texture mapping function T defines a mapping from the three-dimensional surface to a rectangular domain in R 2. If t 1 is used as this function, then the linear distortion of the mapping will be approximately S. To reduce the distortion, an additional mapping t 2 from R 2 to R 2 needs to be introduced with linear distortion roughly equal to S 1. The combined mapping will then have the desired property of near zero linear distortion. To compute such t 2 we consider the inverse problem of finding t 1 2 and inverting it. To achieve this the following procedure was developed. Let F be the flat triangulation. 1. Compute the bounding box B of F. 2. Generate a uniform Cartesian grid G 1 for the bounding box. 3. Generate a copy G 2 of the grid G 1, and embed F in G Adapt G 2 by grid smoothing using the sizing function S defined on F as explained below. (The mapping from G 1 to G 2 gives us the desired t 1 2, i.e. a mapping with linear distortion S.) 5. Define t 2 : R 2 R 2 by mapping any point on G 2 to a point on the corresponding triangle in G 1 at the same barycentric coordinates. The steps of the procedure are shown in Figure 5. The flat triangulation, Figure 5-(b), is embedded in the smoothed grid, Figure 5-(e). We define the texture mapping function T as: T t 2 t 1 : R 3 R 2 (9) Because of the use of the additional sizing based mapping t 2, the final texture mapping function preserves lengths fairly accurately. 4.3 Smoothing Mesh smoothing is a procedure which changes a mesh specifications (size/element shape) by changing the locations of the mesh nodes, without changing the mesh connectivity [Owen 1998]. In our application we use the smoothing procedure to modify the mesh sizing. We start with an inital uniform grid and modify it to conform to the sizing function defined above. There are several methods [Canann et al. 1998] for smoothing two-dimensional meshes. We use Laplacian smoothing [Field 1988] for its simplicity. The procedure to modify G 2 to conform to the sizing function S is as follows. Note that the smoothing algorithm uses only the Cartesian grid edges and ignores the mesh diagonals. 1. For each edge e = (N a, N b ) G 2 compute the desired edge length (up to a global scaling factor): (Outside of F, S is set to 1). l(e) = S(N a) + S(N b ) 2 2. Apply Laplacian smoothing to adjust the edge lengths to the sizing function: (10)

10 10 (a) (b) (c) (d) (e) (f) Fig. 5. Texture mapping for a cat head model. (a) The head (256 elements). (b) Flat parameterization. (c) Texture using only t 1 (without sizing function). (d) Uniform grid G 1 of the bounding box. (e) Smoothed grid G 2. (f) Final texture using T. 2.1 For each interior node N G 2 in turn, 2.2 Repeat 2.1 while d > ɛ. compute N = 1 e=(n,n ) l(e) N 1 e=(n,n ) l(e) compute d = max(d, N N ), and set N = N 3. Recompute the desired lengths and repeat the smoothing (goto 1.), until the lengths l(e) or the node locations no longer change. As discussed in the next section the procedure converges to a mesh which conforms to the sizing function. For the texture mapping we use the mapping function from the smoothed grid G 2 to the original uniform, Cartesian grid G 1.,

11 5. ALGORITHM VALIDITY 11 To show that the presented algorithm is valid we need to prove that both parts of the algorithm provide valid parameterization functions t 1 and t 2. We will only outline such a proof here. In [Sheffer and de Sturler 2000a] we prove the correctness of the ABF procedure, which provides the first step of the texture mapping. It shows that given valid input the algorithm is guaranteed to converge to a valid flat triangulation that minimizes angular distortion. This section briefly repeats the main points of the proof and the definition of a valid input to the flattening procedure. 5.1 Valid Input Definition To define the input to the algorithm and prove the existence of a solution to the constrained minimization problem defined earlier, we use the following standard definitions from graph theory [Marshall 1971]. A (simple) graph is defined as G = (V, E) where V = {i : i = 1... N} are the graph nodes and E the graph edges. E = {(i, j), i j} is a subset of all unordered pairs of nodes. A planar embedding of a graph G is defined as follows: each node i is mapped to a point in R 2, each edge (i, j) is mapped to a curve whose endpoints are i and j, the only intersections between curves are at the common endpoints. A graph G is said to be planar if it has a planar embedding. A valid input to the algorithm is a straight line embedding in R 3 of a triangulated planar graph. By definition, if a triangulated surface is not an embedding of a planar graph it does not have a valid twodimensional parameterization, since a parameterization is a planar embedding. Intuitively, for a surface to be an embedding of a planar graph it has to be a manifold, have a single boundary loop and no tunnels. Figure 6 shows a surface mesh which is not an embedding of a planar graph. To test if an input set is valid we use the planarity testing algorithm by Hopcroft and Tarjan [Hopcroft and Tarjan 1974], which runs in linear time (in the mesh size). Fig. 6. A manifold surface with a single boundary loop, which is not an embedding of a planar graph. In practice, we do allow input meshes which have more than one boundary loop, allowing a single outside boundary and multiple interior boundary loops. In such a case, the interior loops are triangulated by connecting their boundary nodes prior to starting the minimization procedure (e.g. Figure 10(b)). 5.2 Validity of the ABF Algorithm As described above the constraints defined in Section 3.1, are sufficient to guarantee the validity of the flat triangulation. Hence, if the minimization algorithm converges to a solution, the resulting mesh is guaranteed to be valid. Therefore all that remains to show is that the solution space for the minimization procedure is not empty and that a robust Newton type algorithm [J. E. Dennis and Schnabel 1996] will

12 12 converge to a minimum in the feasible space. Fary s Theorem [Fary 1948] states that every planar graph has an embedding in R 2 with straight edges. This means that for every valid input to our algorithm a valid flat triangulation exists. Since our constraints for a valid triangulation are necessary, the solution space for the minimization procedure is not empty. A compactness argument shows that our objective function has at least one local minimum on the closure of the constrained set. In that case, if the nonlinear function is smooth, globally convergent extensions of Newton s method are guaranteed to find a solution [J. E. Dennis and Schnabel 1996]. A demonstration of the smoothness properties provided in [Sheffer and de Sturler 2000a] concludes our discussion. 5.3 Validity of Texture Mapping The second part of the texture mapping algorithm computes the function t 2 from a smoothed grid to a uniform one. Given a fixed domain boundary, Laplacian smoothing is guaranteed to converge [Field 1988], and since the sizing function is continuous the iterative smoothing is guaranteed to converge as well. For a convex domain Laplacian smoothing is also guaranteed to provide valid meshes (with no inverted elements) [Field 1988]. Hence, the second part of the algorithm is guaranteed to converge to a valid mesh. Concluding, both steps of the algorithm are guaranteed to converge to valid solutions and combining the two mappings together provides a mapping which is valid. The new mapping appears to minimize both angular and area/length distortions. It is a classical result in differential geometry [Ahlfors and Sario 1960], that it is not possible to map a general surface to a plane without some distortion of the distances. It is also impossible to map a faceted surface with non-zero local curvature to a plane without some angular distortion. Hence at best a compromise can be made between length preservation and conformality of the map, minimizing the two types of distortion. This is what the presented method tries to achieve. 6. EXAMPLES (a) (b) Fig. 7. Textures generated for the models in Figure 2 Throughout the paper the texture mapping procedure is demonstrated on several examples of varying complexity. The properties of our examples are summarized in Table I. The number of iterations in the second stage (the computation of t 2 ) measures the outer iterations, involving the computation of the edge lengths (steps (1) (3)). We measure both angular and length distortion of the flat surface with regard to the original mesh. We use F (α) 3P (Equation 1) with the weights wj i w j i = (φj i ) 2 to measure angular distortion. We use normalized edge length ratio 1 {e} set to the initial choice of e ( 2D e 3D e 1)2,

13 13 where the node locations in two dimensions are computed using T. In both cases the division by number of angles or edges is done to normalize the error, making it independent of mesh size. Model Num. Runtime Num. t 1 Num. t 2 Distortion Distortion faces (sec.) iterations iterations (angle) (length) Folded Plane e-7 2.5e-6 Face Cat Head Balls Dome Clown Full Cat Cat with Seams Table I. Flattening examples data. Figure 7 shows the texture mapping for the models in Figure 2. Figure 7(a) shows the texture generated for a nearly developable surface. It demonstrates the distortion minimization property where the resulting flat surface has near zero distortion compared to the original three-dimensional surface. Figure 7(b) shows the texture for the face model in 2(c). The checkered pattern emphasizes the preservation of both angles and distances in the mapping. In Figure 5 we show a model of a cat s head (cut around the neck). The model is quite complex and has a large overall curvature, hence the distortion is relatively high. The figure shows the difference between using the result of the first step directly for the texture mapping and using the combined mapping. Adding the smoothing step dramatically reduces the distance and area distortion without affecting the angular deformation. Figure 8 shows another example emphasizing the need for the smoothing step. The dome shaped surface also demonstrates the robustness of our method in handling badly shaped triangles. The original surface contains multiple sliver, triangles which are likely to cause problems for flattening methods based on node locations, but they are not a problem for our method which uses angles as variables. Figure 9 displays a surface build from three spheres positioned at 120 around a joint axis. The spheres are cut at about quarter way up from the base, to create a surface which can be parameterized. The surface mesh is highly non-smooth with high local curvature changes and with multiple sliver triangles, but, despite this, the parameterization converges in a small number of iterations and gives good results. Note that despite the increase in model size (compared to the cat and dome models), the number of iterations required to obtain a solution does not increase. In Figure 10 we demonstrate the method s ability to handle surfaces with interior holes, and significant gradation in element sizes. An earlier example (Figure 3) shows the texture mapping for a surface, where the first step of the parameterization resulted in boundary intersections and non unique mapping to the plane. It demonstrates that this is not an obstacle for texture mapping which is concerned with having a valid mapping from three dimensions to a plane rather than the other way around. Finally, Figure 11 shows a complicated model of an entire cat (without the planar base). This example demonstrates the robustness of our method and its ability to handle highly complicated surfaces. For any flattening algorithm the distortion increases with the increase in the surface area to perimeter ratio as well with the increase in local and global curvature. As a result the texture distortion for a model as complicated as the entire cat tends to be high (Figure 11(c)). The main alternative for reducing the

14 14 (a) (b) (c) (d) (e) Fig. 8. Texture mapping for a dome shape. (a) Original surface (256 elements). (b) Flat parameterization (providing t 1 ). (c) Texture using only t 1 (without sizing function). (d) Smoothed grid G 2. (e) Final texture using T. distortion seems to be the introduction of seams in the model as shown in Figure 11(d). This reduces the texture distortion but introduces seams into the texture (Figure 11(f)). The seams were added using a fully automatic procedure which we are currently testing. 7. SUMMARY We have proposed a new method for texture mapping based on the combination of a recently proposed algorithm for flattening three-dimensional surfaces and an algorithm for mesh smoothing that takes into account a given sizing function. We have outlined the main properties and underlying theory of our algorithm. Our method can be applied to very general problems and has few restrictions. Specifically, it does not require the boundary to be predefined or convex. The surface flattening algorithm is based on minimizing the (relative) distortion of the mesh angles in each face subject to the necessary and sufficient conditions of a valid two-dimensional mesh. The mesh smoothing algorithm takes the sizing function that results from the flattening algorithm into account to reduce distortion of length and area. In our examples we demonstrate that the proposed method generates good texture maps for complex surfaces in a modest amount of time. Although we must solve a nonlinear system of equations, in practice the work involved is modest. For all our test cases convergence seemed to be very fast. The convergence seems loosely dependent on the

15 15 (a) (b) (c) Fig. 9. Texture mapping for 3 balls (non-smooth surface). (a) Original surface (1032 elements). (b) Flat parameterization (providing t 1 ). (c) Final texture using T. (a) (b) (c) (d) Fig. 10. Texture generation for a surface with holes. (a) The original model. (b) Model with the additional triangles filling the holes. (c) Flat triangulation of the model. (d) Texture.

16 16 (a) (b) (c) (d) (e) (f) Fig. 11. Texture mapping for a full cat model (without the planar base). (a) The model (671 elements). (b) Flat parameterization. (c) Generated texture. (d) The model with seams (in red). (e) Flat parameterization containing seams. (f) Final texture. curvature and level of complication of the three-dimensional mesh, which is to be expected. An extension of the algorithm we currently investigate is the automatic introduction of seams and surface subdivision as shown in Figure 11. Adding seams significantly reduces the texture distortion but introduces seam lines into the texture. The current research concentrates on two questions: how to introduce the shortest seams possible, while reducing the distortion to an acceptable level; and how to glue textures continuously across the seams, so they will not show. Another area of future research is the parameterization of very large models. For models with hundreds of thousands of elements, solving the flattening problem directly will likely be very expensive. We may significantly reduce the computation time for such surfaces by using a mesh simplification procedure to produce a mesh with fewer elements. The parameterization obtained for the simplified mesh, can then be adjusted to handle the original.

17 8. ACKNOWLEDGMENTS 17 The work reported here was supported, in part, by the Center for Process Simulation and Design (NSF DMS ), the Center for Simulation of Advanced Rockets (DOE LLNL B341494), and Sandia National Laboratories (SNL 16806). The authors would like to thank S. Har-Peled for his contribution to the development of the surface cutting procedure and John Hart for useful discussions and pointers to the literature. REFERENCES Ahlfors, L. V. and Sario, L Riemann Surfaces. Princeton University Press, Princeton, New Jersey. Bennis, C., Vézien, J. M., and Iglésias, G Piecewise surfaces flattening for non-distorted texture mappinng. Proc. SIGGRAPH 91 25, Canann, S. A., Tristano, J. R., and Staten, M. L An approach to combined laplacian and optimization-based smoothing for triangular, quadrilateral, and quad-dominant meshes. 7th International Meshing Roundtable, Demmel, J. W., Eisenstat, S. C., Gilbert, J. R., Li, X. S., and Liu, J. W. H A supernodal approach to sparse partial pivoting. SIAM J. Matrix Anal. Appl. 20(3), Demmel, J. W., Gilbert, J. R., and Li, X. S SuperLU user s guide. available from xiaoye/superlu/index.html. Eck, M., DeRose, T., Duchamp, T., Hoppe, H., Lounsbery, M., and Stuetzle, W Multiresolution analysis of arbitrary meshes. Computer Graphics (Annual Conference Series, SIGGRAPH 95), Fary, I On the straight line representations of planar graphs. Acta Sci. Math. 11, Field, D. A Laplacian smoothing and delaunay triangulations. Communications in Applied Numerical Methods 4, Floater, M. S Parametrization and smooth approximation of surface triangulations. Computer Aided Geometric Design 14, Foley, J., van Dam, A., Feiner, S., and Hughes, J Computer Graphics. Addison-Wesley Publishing, Massachusetts. Haker, S., Angenent, S., Tannenbaum, A., Kikinis, R., Sapiro, G., and Halle, M Conformal surface parameterization for texture mapping. IEEE Transactions on Visualization and Computer Graphics 6 (2), Hopcroft, J. and Tarjan, R Efficient planarity testing. Journal of ACM 21(4), J. E. Dennis, J. and Schnabel, R. E Numerical Methods for Unconstrained Optimization and Nonlinear Equations. SIAMpub, Philadelphia, PA , USA. Levi, B. and Mallet, J Non-distorted texture mapping for sheared triangulated meshes. Proc. SIGGRAPH 1998, Marcum, D. L. and Gaiter, J. A Unstructured surface grid generation using global mapping and physical space approximation. 8th International Meshing Roundtable, Marshall, C. W Applied Graph Theory. Wiley, New-York. McCartney, J., Hinds, B. K., and Seow, B. L The flattening of triangulated surfaces incorporating darts and gussets. Computer-Aided Design (CAD) 31, Owen, S. J A survey of unstructured mesh generation technology. 7th International Meshing Roundtable, Samek, M., Slean, C., and Weghorst, H Texture mapping and distortions in digital graphics. The Visual Computer 2(5), Sheffer, A. and de Sturler, E. 2000b. Surface parameterization for meshing by triangulation flattening. Proc. 9th International Meshing Roundtable, Sheffer, A. and de Sturler, E. 2000a. Surface parameterization for meshing using angle-based flattening. To appear in Engineering with Computers. Zigelman, G., Kimmel, R., and Kiryati, N Texture mapping using surface flattening via multi-dimensional scaling. CIS report CIS , submitted to IEEE Trans. on Visualization and Computer Graphics.

Parameterization of Faceted Surfaces for Meshing using Angle-Based Flattening

Parameterization of Faceted Surfaces for Meshing using Angle-Based Flattening Engineering with Computers (2001) 17: 326 337 2001 Springer-Verlag London Limited Parameterization of Faceted Surfaces for Meshing using Angle-Based Flattening A. Sheffer and E. de Sturler Computational

More information

Smoothing an Overlay Grid to Minimize Linear Distortion in Texture Mapping

Smoothing an Overlay Grid to Minimize Linear Distortion in Texture Mapping Smoothing an Overlay Grid to Minimize Linear Distortion in Texture Mapping ALLA SHEFFER Computer Science Department, Technion and ERIC DE STURLER Department of Computer Science, University of Illinois

More information

Spanning Tree Seams for Reducing Parameterization Distortion of Triangulated Surfaces

Spanning Tree Seams for Reducing Parameterization Distortion of Triangulated Surfaces Spanning Tree Seams for Reducing Parameterization Distortion of Triangulated Surfaces Alla Sheffer Department of Computer Science Technion, Haifa, Israel e-mail:sheffa@cs.technion.ac.il Abstract Providing

More information

generated for models from any source. For parameterization purposes the triangulation may be coarse and have lax quality constraints. An algorithm for

generated for models from any source. For parameterization purposes the triangulation may be coarse and have lax quality constraints. An algorithm for SURFACE PARAMETERIZATION FOR MESHING BY TRIANGULATION FLATTENING A. Sheer, E. de Sturler Computational Science and Engineering Program, University of Illinois at Urbana Champaign, Urbana, IL, 61801 e-mail:shea@uiuc.edu,

More information

Parameterization of Triangular Meshes with Virtual Boundaries

Parameterization of Triangular Meshes with Virtual Boundaries Parameterization of Triangular Meshes with Virtual Boundaries Yunjin Lee 1;Λ Hyoung Seok Kim 2;y Seungyong Lee 1;z 1 Department of Computer Science and Engineering Pohang University of Science and Technology

More information

Intrinsic Morphing of Compatible Triangulations. VITALY SURAZHSKY CRAIG GOTSMAN

Intrinsic Morphing of Compatible Triangulations. VITALY SURAZHSKY CRAIG GOTSMAN International Journal of Shape Modeling Vol. 9, No. 2 (2003) 191 201 c World Scientific Publishing Company Intrinsic Morphing of Compatible Triangulations VITALY SURAZHSKY vitus@cs.technion.ac.il CRAIG

More information

Parameterization II Some slides from the Mesh Parameterization Course from Siggraph Asia

Parameterization II Some slides from the Mesh Parameterization Course from Siggraph Asia Parameterization II Some slides from the Mesh Parameterization Course from Siggraph Asia 2008 1 Non-Convex Non Convex Boundary Convex boundary creates significant distortion Free boundary is better 2 Fixed

More information

Texture Mapping with Hard Constraints

Texture Mapping with Hard Constraints EUROGRAPHICS 2001 / A.Chalmers and T.-M.Rhyne Volume 20 (2001), Number 3 (Guest Editors) Texture Mapping with Hard Constraints Ilya Eckstein Vitaly Surazhsky Craig Gotsman Computer Science Department,

More information

Surface Parameterization

Surface Parameterization Surface Parameterization A Tutorial and Survey Michael Floater and Kai Hormann Presented by Afra Zomorodian CS 468 10/19/5 1 Problem 1-1 mapping from domain to surface Original application: Texture mapping

More information

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Preferred directions for resolving the non-uniqueness of Delaunay triangulations Preferred directions for resolving the non-uniqueness of Delaunay triangulations Christopher Dyken and Michael S. Floater Abstract: This note proposes a simple rule to determine a unique triangulation

More information

Multiresolution Computation of Conformal Structures of Surfaces

Multiresolution Computation of Conformal Structures of Surfaces Multiresolution Computation of Conformal Structures of Surfaces Xianfeng Gu Yalin Wang Shing-Tung Yau Division of Engineering and Applied Science, Harvard University, Cambridge, MA 0138 Mathematics Department,

More information

Texture Mapping using Surface Flattening via Multi-Dimensional Scaling

Texture Mapping using Surface Flattening via Multi-Dimensional Scaling Texture Mapping using Surface Flattening via Multi-Dimensional Scaling Gil Zigelman Ron Kimmel Department of Computer Science, Technion, Haifa 32000, Israel and Nahum Kiryati Department of Electrical Engineering

More information

Discrete Geometry Processing

Discrete Geometry Processing Non Convex Boundary Convex boundary creates significant distortion Free boundary is better Some slides from the Mesh Parameterization Course (Siggraph Asia 008) 1 Fixed vs Free Boundary Fixed vs Free Boundary

More information

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder]

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder] Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder] Preliminaries Recall: Given a smooth function f:r R, the function

More information

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 Lecture 25: Bezier Subdivision And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 1. Divide and Conquer If we are going to build useful

More information

IDETC POINT-BASED SHAPE MONITORING OF PLATE BENDING FOR LARGE-SCALE STORAGE TANKS

IDETC POINT-BASED SHAPE MONITORING OF PLATE BENDING FOR LARGE-SCALE STORAGE TANKS Proceedings of the ASME 2017 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference IDETC2017 August 6-9, 2017, Cleveland, Ohio, USA IDETC2017-68105

More information

Cut-and-Paste Editing of Multiresolution Surfaces

Cut-and-Paste Editing of Multiresolution Surfaces Cut-and-Paste Editing of Multiresolution Surfaces Henning Biermann, Ioana Martin, Fausto Bernardini, Denis Zorin NYU Media Research Lab IBM T. J. Watson Research Center Surface Pasting Transfer geometry

More information

Parameterization with Manifolds

Parameterization with Manifolds Parameterization with Manifolds Manifold What they are Why they re difficult to use When a mesh isn t good enough Problem areas besides surface models A simple manifold Sphere, torus, plane, etc. Using

More information

Lecture 2 September 3

Lecture 2 September 3 EE 381V: Large Scale Optimization Fall 2012 Lecture 2 September 3 Lecturer: Caramanis & Sanghavi Scribe: Hongbo Si, Qiaoyang Ye 2.1 Overview of the last Lecture The focus of the last lecture was to give

More information

Möbius Transformations in Scientific Computing. David Eppstein

Möbius Transformations in Scientific Computing. David Eppstein Möbius Transformations in Scientific Computing David Eppstein Univ. of California, Irvine School of Information and Computer Science (including joint work with Marshall Bern from WADS 01 and SODA 03) Outline

More information

Topological Issues in Hexahedral Meshing

Topological Issues in Hexahedral Meshing Topological Issues in Hexahedral Meshing David Eppstein Univ. of California, Irvine Dept. of Information and Computer Science Outline I. What is meshing? Problem statement Types of mesh Quality issues

More information

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight Three-Dimensional Object Reconstruction from Layered Spatial Data Michael Dangl and Robert Sablatnig Vienna University of Technology, Institute of Computer Aided Automation, Pattern Recognition and Image

More information

On a nested refinement of anisotropic tetrahedral grids under Hessian metrics

On a nested refinement of anisotropic tetrahedral grids under Hessian metrics On a nested refinement of anisotropic tetrahedral grids under Hessian metrics Shangyou Zhang Abstract Anisotropic grids, having drastically different grid sizes in different directions, are efficient and

More information

Research Proposal: Computational Geometry with Applications on Medical Images

Research Proposal: Computational Geometry with Applications on Medical Images Research Proposal: Computational Geometry with Applications on Medical Images MEI-HENG YUEH yueh@nctu.edu.tw National Chiao Tung University 1 Introduction My research mainly focuses on the issues of computational

More information

Parallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece

Parallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece Parallel Computation of Spherical Parameterizations for Mesh Analysis Th. Athanasiadis and I. Fudos, Greece Introduction Mesh parameterization is a powerful geometry processing tool Applications Remeshing

More information

Voronoi Diagram. Xiao-Ming Fu

Voronoi Diagram. Xiao-Ming Fu Voronoi Diagram Xiao-Ming Fu Outlines Introduction Post Office Problem Voronoi Diagram Duality: Delaunay triangulation Centroidal Voronoi tessellations (CVT) Definition Applications Algorithms Outlines

More information

GAUSS-BONNET FOR DISCRETE SURFACES

GAUSS-BONNET FOR DISCRETE SURFACES GAUSS-BONNET FOR DISCRETE SURFACES SOHINI UPADHYAY Abstract. Gauss-Bonnet is a deep result in differential geometry that illustrates a fundamental relationship between the curvature of a surface and its

More information

SOLVING PARTIAL DIFFERENTIAL EQUATIONS ON POINT CLOUDS

SOLVING PARTIAL DIFFERENTIAL EQUATIONS ON POINT CLOUDS SOLVING PARTIAL DIFFERENTIAL EQUATIONS ON POINT CLOUDS JIAN LIANG AND HONGKAI ZHAO Abstract. In this paper we present a general framework for solving partial differential equations on manifolds represented

More information

Parameterization. Michael S. Floater. November 10, 2011

Parameterization. Michael S. Floater. November 10, 2011 Parameterization Michael S. Floater November 10, 2011 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to generate from point

More information

Digital Geometry Processing Parameterization I

Digital Geometry Processing Parameterization I Problem Definition Given a surface (mesh) S in R 3 and a domain find a bective F: S Typical Domains Cutting to a Disk disk = genus zero + boundary sphere = closed genus zero Creates artificial boundary

More information

Parameterization of triangular meshes

Parameterization of triangular meshes Parameterization of triangular meshes Michael S. Floater November 10, 2009 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to

More information

A New Smoothing Algorithm for Quadrilateral and Hexahedral Meshes

A New Smoothing Algorithm for Quadrilateral and Hexahedral Meshes A New Smoothing Algorithm for Quadrilateral and Hexahedral Meshes Sanjay Kumar Khattri Department of Mathematics, University of Bergen, Norway sanjay@mi.uib.no http://www.mi.uib.no/ sanjay Abstract. Mesh

More information

Lecture 2 Unstructured Mesh Generation

Lecture 2 Unstructured Mesh Generation Lecture 2 Unstructured Mesh Generation MIT 16.930 Advanced Topics in Numerical Methods for Partial Differential Equations Per-Olof Persson (persson@mit.edu) February 13, 2006 1 Mesh Generation Given a

More information

A TESSELLATION FOR ALGEBRAIC SURFACES IN CP 3

A TESSELLATION FOR ALGEBRAIC SURFACES IN CP 3 A TESSELLATION FOR ALGEBRAIC SURFACES IN CP 3 ANDREW J. HANSON AND JI-PING SHA In this paper we present a systematic and explicit algorithm for tessellating the algebraic surfaces (real 4-manifolds) F

More information

Geometric structures on manifolds

Geometric structures on manifolds CHAPTER 3 Geometric structures on manifolds In this chapter, we give our first examples of hyperbolic manifolds, combining ideas from the previous two chapters. 3.1. Geometric structures 3.1.1. Introductory

More information

Monotone Paths in Geometric Triangulations

Monotone Paths in Geometric Triangulations Monotone Paths in Geometric Triangulations Adrian Dumitrescu Ritankar Mandal Csaba D. Tóth November 19, 2017 Abstract (I) We prove that the (maximum) number of monotone paths in a geometric triangulation

More information

A Singular Example for the Averaged Mean Curvature Flow

A Singular Example for the Averaged Mean Curvature Flow To appear in Experimental Mathematics Preprint Vol. No. () pp. 3 7 February 9, A Singular Example for the Averaged Mean Curvature Flow Uwe F. Mayer Abstract An embedded curve is presented which under numerical

More information

Greedy Routing with Guaranteed Delivery Using Ricci Flow

Greedy Routing with Guaranteed Delivery Using Ricci Flow Greedy Routing with Guaranteed Delivery Using Ricci Flow Jie Gao Stony Brook University Joint work with Rik Sarkar, Xiaotian Yin, Wei Zeng, Feng Luo, Xianfeng David Gu Greedy Routing Assign coordinatesto

More information

Lecture 2.2 Cubic Splines

Lecture 2.2 Cubic Splines Lecture. Cubic Splines Cubic Spline The equation for a single parametric cubic spline segment is given by 4 i t Bit t t t i (..) where t and t are the parameter values at the beginning and end of the segment.

More information

Hyperbolic structures and triangulations

Hyperbolic structures and triangulations CHAPTER Hyperbolic structures and triangulations In chapter 3, we learned that hyperbolic structures lead to developing maps and holonomy, and that the developing map is a covering map if and only if the

More information

Simplicial Hyperbolic Surfaces

Simplicial Hyperbolic Surfaces Simplicial Hyperbolic Surfaces Talk by Ken Bromberg August 21, 2007 1-Lipschitz Surfaces- In this lecture we will discuss geometrically meaningful ways of mapping a surface S into a hyperbolic manifold

More information

Final Project, Digital Geometry Processing

Final Project, Digital Geometry Processing Final Project, Digital Geometry Processing Shayan Hoshyari Student #: 81382153 December 2016 Introduction In this project an adaptive surface remesher has been developed based on the paper [1]. An algorithm

More information

Approximating Polygonal Objects by Deformable Smooth Surfaces

Approximating Polygonal Objects by Deformable Smooth Surfaces Approximating Polygonal Objects by Deformable Smooth Surfaces Ho-lun Cheng and Tony Tan School of Computing, National University of Singapore hcheng,tantony@comp.nus.edu.sg Abstract. We propose a method

More information

On the perimeter of k pairwise disjoint convex bodies contained in a convex set in the plane

On the perimeter of k pairwise disjoint convex bodies contained in a convex set in the plane On the perimeter of k pairwise disjoint convex bodies contained in a convex set in the plane Rom Pinchasi August 2, 214 Abstract We prove the following isoperimetric inequality in R 2, conjectured by Glazyrin

More information

Surface Mesh Generation

Surface Mesh Generation Surface Mesh Generation J.-F. Remacle Université catholique de Louvain September 22, 2011 0 3D Model For the description of the mesh generation process, let us consider the CAD model of a propeller presented

More information

Parameterization of Meshes

Parameterization of Meshes 2-Manifold Parameterization of Meshes What makes for a smooth manifold? locally looks like Euclidian space collection of charts mutually compatible on their overlaps form an atlas Parameterizations are

More information

2) For any triangle edge not on the boundary, there is exactly one neighboring

2) For any triangle edge not on the boundary, there is exactly one neighboring Triangulating Trimmed NURBS Surfaces Chang Shu and Pierre Boulanger Abstract. This paper describes techniques for the piecewise linear approximation of trimmed NURBS surfaces. The problem, called surface

More information

A GENTLE INTRODUCTION TO THE BASIC CONCEPTS OF SHAPE SPACE AND SHAPE STATISTICS

A GENTLE INTRODUCTION TO THE BASIC CONCEPTS OF SHAPE SPACE AND SHAPE STATISTICS A GENTLE INTRODUCTION TO THE BASIC CONCEPTS OF SHAPE SPACE AND SHAPE STATISTICS HEMANT D. TAGARE. Introduction. Shape is a prominent visual feature in many images. Unfortunately, the mathematical theory

More information

arxiv: v1 [math.na] 20 Sep 2016

arxiv: v1 [math.na] 20 Sep 2016 arxiv:1609.06236v1 [math.na] 20 Sep 2016 A Local Mesh Modification Strategy for Interface Problems with Application to Shape and Topology Optimization P. Gangl 1,2 and U. Langer 3 1 Doctoral Program Comp.

More information

THE FORCE DENSITY METHOD: A BRIEF INTRODUCTION

THE FORCE DENSITY METHOD: A BRIEF INTRODUCTION Technical Report TR-NCCA-2011-02 THE FORCE DENSITY METHOD: A BRIEF INTRODUCTION Richard Southern The National Centre for Computer Animation Bournemouth Media School Bournemouth University Talbot Campus,

More information

Multi-Scale Free-Form Surface Description

Multi-Scale Free-Form Surface Description Multi-Scale Free-Form Surface Description Farzin Mokhtarian, Nasser Khalili and Peter Yuen Centre for Vision Speech and Signal Processing Dept. of Electronic and Electrical Engineering University of Surrey,

More information

04 - Normal Estimation, Curves

04 - Normal Estimation, Curves 04 - Normal Estimation, Curves Acknowledgements: Olga Sorkine-Hornung Normal Estimation Implicit Surface Reconstruction Implicit function from point clouds Need consistently oriented normals < 0 0 > 0

More information

On Minimum Weight Pseudo-Triangulations

On Minimum Weight Pseudo-Triangulations On Minimum Weight Pseudo-Triangulations Oswin Aichholzer Franz Aurenhammer Thomas Hackl Bettina Speckmann Abstract In this note we discuss some structural properties of minimum weight pseudo-triangulations.

More information

Shape Modeling and Geometry Processing

Shape Modeling and Geometry Processing 252-0538-00L, Spring 2018 Shape Modeling and Geometry Processing Discrete Differential Geometry Differential Geometry Motivation Formalize geometric properties of shapes Roi Poranne # 2 Differential Geometry

More information

Pebble Sets in Convex Polygons

Pebble Sets in Convex Polygons 2 1 Pebble Sets in Convex Polygons Kevin Iga, Randall Maddox June 15, 2005 Abstract Lukács and András posed the problem of showing the existence of a set of n 2 points in the interior of a convex n-gon

More information

Manipulating the Boundary Mesh

Manipulating the Boundary Mesh Chapter 7. Manipulating the Boundary Mesh The first step in producing an unstructured grid is to define the shape of the domain boundaries. Using a preprocessor (GAMBIT or a third-party CAD package) you

More information

13.472J/1.128J/2.158J/16.940J COMPUTATIONAL GEOMETRY

13.472J/1.128J/2.158J/16.940J COMPUTATIONAL GEOMETRY 13.472J/1.128J/2.158J/16.940J COMPUTATIONAL GEOMETRY Lecture 23 Dr. W. Cho Prof. N. M. Patrikalakis Copyright c 2003 Massachusetts Institute of Technology Contents 23 F.E. and B.E. Meshing Algorithms 2

More information

Assignment 4: Mesh Parametrization

Assignment 4: Mesh Parametrization CSCI-GA.3033-018 - Geometric Modeling Assignment 4: Mesh Parametrization In this exercise you will Familiarize yourself with vector field design on surfaces. Create scalar fields whose gradients align

More information

Generalized barycentric coordinates

Generalized barycentric coordinates Generalized barycentric coordinates Michael S. Floater August 20, 2012 In this lecture, we review the definitions and properties of barycentric coordinates on triangles, and study generalizations to convex,

More information

Comparison and affine combination of generalized barycentric coordinates for convex polygons

Comparison and affine combination of generalized barycentric coordinates for convex polygons Annales Mathematicae et Informaticae 47 (2017) pp. 185 200 http://ami.uni-eszterhazy.hu Comparison and affine combination of generalized barycentric coordinates for convex polygons Ákos Tóth Department

More information

Topology Changes for Surface Meshes in Active Contours

Topology Changes for Surface Meshes in Active Contours Topology Changes for Surface Meshes in Active Contours Jochen Abhau University of Innsbruck, Department of Computer Science FSP Conference Vorau, November 2006 Outline 1 Introduction 2 Topological Adaptation

More information

Lecture notes for Topology MMA100

Lecture notes for Topology MMA100 Lecture notes for Topology MMA100 J A S, S-11 1 Simplicial Complexes 1.1 Affine independence A collection of points v 0, v 1,..., v n in some Euclidean space R N are affinely independent if the (affine

More information

Geometric structures on manifolds

Geometric structures on manifolds CHAPTER 3 Geometric structures on manifolds In this chapter, we give our first examples of hyperbolic manifolds, combining ideas from the previous two chapters. 3.1. Geometric structures 3.1.1. Introductory

More information

Surface Reconstruction. Gianpaolo Palma

Surface Reconstruction. Gianpaolo Palma Surface Reconstruction Gianpaolo Palma Surface reconstruction Input Point cloud With or without normals Examples: multi-view stereo, union of range scan vertices Range scans Each scan is a triangular mesh

More information

NEXT-GENERATION SWEEP TOOL: A METHOD FOR GENERATING ALL-HEX MESHES ON TWO-AND-ONE-HALF DIMENSIONAL GEOMTRIES

NEXT-GENERATION SWEEP TOOL: A METHOD FOR GENERATING ALL-HEX MESHES ON TWO-AND-ONE-HALF DIMENSIONAL GEOMTRIES NEXT-GENERATION SWEEP TOOL: A METHOD FOR GENERATING ALL-HEX MESHES ON TWO-AND-ONE-HALF DIMENSIONAL GEOMTRIES PATRICK M. KNUPP PARALLEL COMPUTING SCIENCES DEPARTMENT SANDIA NATIONAL LABORATORIES M/S 0441,

More information

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

Chapter 6. Curves and Surfaces. 6.1 Graphs as Surfaces

Chapter 6. Curves and Surfaces. 6.1 Graphs as Surfaces Chapter 6 Curves and Surfaces In Chapter 2 a plane is defined as the zero set of a linear function in R 3. It is expected a surface is the zero set of a differentiable function in R n. To motivate, graphs

More information

All the Polygons You Can Eat. Doug Rogers Developer Relations

All the Polygons You Can Eat. Doug Rogers Developer Relations All the Polygons You Can Eat Doug Rogers Developer Relations doug@nvidia.com Future of Games Very high resolution models 20,000 triangles per model Lots of them Complex Lighting Equations Floating point

More information

CS 468 (Spring 2013) Discrete Differential Geometry

CS 468 (Spring 2013) Discrete Differential Geometry Lecturer: Adrian Butscher, Justin Solomon Scribe: Adrian Buganza-Tepole CS 468 (Spring 2013) Discrete Differential Geometry Lecture 19: Conformal Geometry Conformal maps In previous lectures we have explored

More information

Guaranteed-Quality All-Quadrilateral Mesh Generation with Feature Preservation

Guaranteed-Quality All-Quadrilateral Mesh Generation with Feature Preservation Guaranteed-Quality All-Quadrilateral Mesh Generation with Feature Preservation Xinghua Liang, Mohamed S. Ebeida, and Yongjie Zhang Department of Mechanical Engineering, Carnegie Mellon University, USA

More information

SURFACE FAIRING FOR SHIP HULL DESIGN

SURFACE FAIRING FOR SHIP HULL DESIGN SURFACE FAIRING FOR SHIP HULL DESIGN Xoán A. Leiceaga Eva Soto GED, Universidad de Vigo, Vigo, España leiceaga@uvigo.es Oscar E. Ruiz Carlos A. Vanegas Laboratorio CAD/CAM/CAE, Universidad EAFIT, Medellín,

More information

COMPUTING CONSTRAINED DELAUNAY

COMPUTING CONSTRAINED DELAUNAY COMPUTING CONSTRAINED DELAUNAY TRIANGULATIONS IN THE PLANE By Samuel Peterson, University of Minnesota Undergraduate The Goal The Problem The Algorithms The Implementation Applications Acknowledgments

More information

An Efficient Paving Method of Pure Quad Mesh Generation

An Efficient Paving Method of Pure Quad Mesh Generation 2016 International Conference on Intelligent Manufacturing and Materials (ICIMM 2016) ISBN: 978-1-60595-363-2 An Efficient Paving Method of Pure Quad Mesh Generation Yongcai Liu, Wenliang Chen and Yidong

More information

THE DNA INEQUALITY POWER ROUND

THE DNA INEQUALITY POWER ROUND THE DNA INEQUALITY POWER ROUND Instructions Write/draw all solutions neatly, with at most one question per page, clearly numbered. Turn in the solutions in numerical order, with your team name at the upper

More information

CURVILINEAR MESH GENERATION IN 3D

CURVILINEAR MESH GENERATION IN 3D CURVILINEAR MESH GENERATION IN 3D Saikat Dey, Robert M. O'Bara 2 and Mark S. Shephard 2 SFA Inc. / Naval Research Laboratory, Largo, MD., U.S.A., dey@cosmic.nrl.navy.mil 2 Scientific Computation Research

More information

arxiv: v1 [cs.cg] 11 Sep 2007

arxiv: v1 [cs.cg] 11 Sep 2007 Unfolding Restricted Convex Caps Joseph O Rourke arxiv:0709.1647v1 [cs.cg] 11 Sep 2007 September 11, 2007 Abstract This paper details an algorithm for unfolding a class of convex polyhedra, where each

More information

CLASSIFICATION OF SURFACES

CLASSIFICATION OF SURFACES CLASSIFICATION OF SURFACES JUSTIN HUANG Abstract. We will classify compact, connected surfaces into three classes: the sphere, the connected sum of tori, and the connected sum of projective planes. Contents

More information

Automatic hybrid mesh generation for the boundary face method

Automatic hybrid mesh generation for the boundary face method Boundary Elements and Other Mesh Reduction Methods XXXVI 139 Automatic hybrid mesh generation for the boundary face method Cheng Huang & Jianming Zhang State Key Laboratory of Advanced Design and Manufacturing

More information

A Reduction of Conway s Thrackle Conjecture

A Reduction of Conway s Thrackle Conjecture A Reduction of Conway s Thrackle Conjecture Wei Li, Karen Daniels, and Konstantin Rybnikov Department of Computer Science and Department of Mathematical Sciences University of Massachusetts, Lowell 01854

More information

Morphing Planar Graphs in Spherical Space

Morphing Planar Graphs in Spherical Space Morphing Planar Graphs in Spherical Space Stephen G. Kobourov and Matthew Landis Department of Computer Science University of Arizona {kobourov,mlandis}@cs.arizona.edu Abstract. We consider the problem

More information

MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces

MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces David L. Finn Today, we continue our discussion of subdivision surfaces, by first looking in more detail at the midpoint method and

More information

implicit surfaces, approximate implicitization, B-splines, A- patches, surface fitting

implicit surfaces, approximate implicitization, B-splines, A- patches, surface fitting 24. KONFERENCE O GEOMETRII A POČÍTAČOVÉ GRAFICE ZBYNĚK ŠÍR FITTING OF PIECEWISE POLYNOMIAL IMPLICIT SURFACES Abstrakt In our contribution we discuss the possibility of an efficient fitting of piecewise

More information

G 2 Interpolation for Polar Surfaces

G 2 Interpolation for Polar Surfaces 1 G 2 Interpolation for Polar Surfaces Jianzhong Wang 1, Fuhua Cheng 2,3 1 University of Kentucky, jwangf@uky.edu 2 University of Kentucky, cheng@cs.uky.edu 3 National Tsinhua University ABSTRACT In this

More information

APPROXIMATING THE MAXMIN AND MINMAX AREA TRIANGULATIONS USING ANGULAR CONSTRAINTS. J. Mark Keil, Tzvetalin S. Vassilev

APPROXIMATING THE MAXMIN AND MINMAX AREA TRIANGULATIONS USING ANGULAR CONSTRAINTS. J. Mark Keil, Tzvetalin S. Vassilev Serdica J. Computing 4 00, 3 334 APPROXIMATING THE MAXMIN AND MINMAX AREA TRIANGULATIONS USING ANGULAR CONSTRAINTS J. Mark Keil, Tzvetalin S. Vassilev Abstract. We consider sets of points in the two-dimensional

More information

05 - Surfaces. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Daniele Panozzo

05 - Surfaces. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Daniele Panozzo 05 - Surfaces Acknowledgements: Olga Sorkine-Hornung Reminder Curves Turning Number Theorem Continuous world Discrete world k: Curvature is scale dependent is scale-independent Discrete Curvature Integrated

More information

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9.

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9. II.4 Surface Simplification 37 II.4 Surface Simplification In applications it is often necessary to simplify the data or its representation. One reason is measurement noise, which we would like to eliminate,

More information

DISCRETE DIFFERENTIAL GEOMETRY

DISCRETE DIFFERENTIAL GEOMETRY AMS SHORT COURSE DISCRETE DIFFERENTIAL GEOMETRY Joint Mathematics Meeting San Diego, CA January 2018 DISCRETE CONFORMAL GEOMETRY AMS SHORT COURSE DISCRETE DIFFERENTIAL GEOMETRY Joint Mathematics Meeting

More information

THE preceding chapters were all devoted to the analysis of images and signals which

THE preceding chapters were all devoted to the analysis of images and signals which Chapter 5 Segmentation of Color, Texture, and Orientation Images THE preceding chapters were all devoted to the analysis of images and signals which take values in IR. It is often necessary, however, to

More information

Geometric Modeling and Processing

Geometric Modeling and Processing Geometric Modeling and Processing Tutorial of 3DIM&PVT 2011 (Hangzhou, China) May 16, 2011 6. Mesh Simplification Problems High resolution meshes becoming increasingly available 3D active scanners Computer

More information

Collars and Intestines: Practical Conforming Delaunay Refinement

Collars and Intestines: Practical Conforming Delaunay Refinement Collars and Intestines: Practical Conforming Delaunay Refinement Alexander Rand and Noel Walkington Carnegie Mellon University Summary. While several existing Delaunay refinement algorithms allow acute

More information

An Interface-fitted Mesh Generator and Polytopal Element Methods for Elliptic Interface Problems

An Interface-fitted Mesh Generator and Polytopal Element Methods for Elliptic Interface Problems An Interface-fitted Mesh Generator and Polytopal Element Methods for Elliptic Interface Problems Long Chen University of California, Irvine chenlong@math.uci.edu Joint work with: Huayi Wei (Xiangtan University),

More information

Programming, numerics and optimization

Programming, numerics and optimization Programming, numerics and optimization Lecture C-4: Constrained optimization Łukasz Jankowski ljank@ippt.pan.pl Institute of Fundamental Technological Research Room 4.32, Phone +22.8261281 ext. 428 June

More information

Assignment 8; Due Friday, March 10

Assignment 8; Due Friday, March 10 Assignment 8; Due Friday, March 10 The previous two exercise sets covered lots of material. We ll end the course with two short assignments. This one asks you to visualize an important family of three

More information

Aspect-Ratio Voronoi Diagram with Applications

Aspect-Ratio Voronoi Diagram with Applications Aspect-Ratio Voronoi Diagram with Applications Tetsuo Asano School of Information Science, JAIST (Japan Advanced Institute of Science and Technology), Japan 1-1 Asahidai, Nomi, Ishikawa, 923-1292, Japan

More information

Research Article Polygon Morphing and Its Application in Orebody Modeling

Research Article Polygon Morphing and Its Application in Orebody Modeling Mathematical Problems in Engineering Volume 212, Article ID 732365, 9 pages doi:1.1155/212/732365 Research Article Polygon Morphing and Its Application in Orebody Modeling Hacer İlhan and Haşmet Gürçay

More information

Simple Mesh Examples to Illustrate Specific Finite Element Mesh Requirements

Simple Mesh Examples to Illustrate Specific Finite Element Mesh Requirements Simple Mesh Examples to Illustrate Specific Finite Element Mesh Requirements Peter Fleischmann, Robert Kosik, Bernhard Haindl, and Siegfried Selberherr Institute for Microelectronics, TU Vienna, Gu6hausstrafie

More information

Measuring Lengths The First Fundamental Form

Measuring Lengths The First Fundamental Form Differential Geometry Lia Vas Measuring Lengths The First Fundamental Form Patching up the Coordinate Patches. Recall that a proper coordinate patch of a surface is given by parametric equations x = (x(u,

More information

Conformal Flattening ITK Filter

Conformal Flattening ITK Filter =1 Conformal Flattening ITK Filter Release 0.00 Yi Gao 1, John Melonakos 1, and Allen Tannenbaum 1 July 10, 2006 1 Georgia Institute of Technology, Atlanta, GA Abstract This paper describes the Insight

More information

Determining Differences between Two Sets of Polygons

Determining Differences between Two Sets of Polygons Determining Differences between Two Sets of Polygons MATEJ GOMBOŠI, BORUT ŽALIK Institute for Computer Science Faculty of Electrical Engineering and Computer Science, University of Maribor Smetanova 7,

More information

Guidelines for proper use of Plate elements

Guidelines for proper use of Plate elements Guidelines for proper use of Plate elements In structural analysis using finite element method, the analysis model is created by dividing the entire structure into finite elements. This procedure is known

More information