Estimating normal vectors and curvatures by centroid weights

Similar documents
Normals of subdivision surfaces and their control polyhedra

GAUSS-BONNET FOR DISCRETE SURFACES

(Discrete) Differential Geometry

Fathi El-Yafi Project and Software Development Manager Engineering Simulation

Parameterization of triangular meshes

CS 177 Homework 1. Julian Panetta. October 22, We want to show for any polygonal disk consisting of vertex set V, edge set E, and face set F:

Model-based segmentation and recognition from range data

CS 523: Computer Graphics, Spring Shape Modeling. Differential Geometry of Surfaces

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

Multi-Scale Free-Form Surface Description

CS 523: Computer Graphics, Spring Differential Geometry of Surfaces

Euler s Theorem. Brett Chenoweth. February 26, 2013

Construction and smoothing of triangular Coons patches with geodesic boundary curves

04 - Normal Estimation, Curves

Research in Computational Differential Geomet

Isoparametric Curve of Quadratic F-Bézier Curve

Curve and Surface Basics

Salient Point SUSAN 3D operator for triangles meshes

Shape Control of Cubic H-Bézier Curve by Moving Control Point

Face-based Estimations of Curvatures on Triangle Meshes

Surfaces: notes on Geometry & Topology

Computing Curvature CS468 Lecture 8 Notes

Estimating Curvatures and Their Derivatives on Triangle Meshes

Parameterization. Michael S. Floater. November 10, 2011

SOLVING PARTIAL DIFFERENTIAL EQUATIONS ON POINT CLOUDS

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

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

A new 8-node quadrilateral spline finite element

Shape Modeling and Geometry Processing

Normals of subdivision surfaces and their control polyhedra

Scale Space and PDE methods in image analysis and processing. Arjan Kuijper

Adaptive and Smooth Surface Construction by Triangular A-Patches

CS354 Computer Graphics Surface Representation IV. Qixing Huang March 7th 2018

Quasi-Quartic Trigonometric Bézier Curves and Surfaces with Shape Parameters

Estimating affine-invariant structures on triangle meshes

BS-Patch: Constrained Bezier Parametric Patch

CHAPTER 6 Parametric Spline Curves

Geometry and Gravitation

A VERTICAL LOOK AT KEY CONCEPTS AND PROCEDURES GEOMETRY

Mathematics NC Math 3 Scope and Sequence 176 Instructional Days (Traditional) 88 Instructional Days (Block) 9 Units

ZIG-ZAG INVOLUTES, UP-DOWN PERMUTATIONS, AND SECANT AND TANGENT

Lectures in Discrete Differential Geometry 3 Discrete Surfaces

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

Motivation. Parametric Curves (later Surfaces) Outline. Tangents, Normals, Binormals. Arclength. Advanced Computer Graphics (Fall 2010)

Geometric Features for Non-photorealistiic Rendering

DISCRETE DIFFERENTIAL GEOMETRY: AN APPLIED INTRODUCTION Keenan Crane CMU /858B Fall 2017

Improved Curvature Estimation on Triangular Meshes

AQA GCSE Maths - Higher Self-Assessment Checklist

Hyplane Polyhedral Models of Hyperbolic Plane

Planar quad meshes from relative principal curvature lines

A GEOMETRIC APPROACH TO CURVATURE ESTIMATION ON TRIANGULATED 3D SHAPES

Measuring Lengths The First Fundamental Form

The Course Structure for the MCA Programme

Deficient Quartic Spline Interpolation

Planar Symmetry Detection by Random Sampling and Voting Process

FREE-FORM SURFACE DESIGN: SUBDIVISION + SMOOTHING (4) 20 STEPS OF NEW ALGORITHM WITH = 0:33 = 0:34 FREE-FORM SURFACE DESIGN: SUBDIVISION + SMOOTHING (

Surface Curvature Estimation for Edge Spinning Algorithm *

INFO0948 Fitting and Shape Matching

MATHEMATICS SYLLABUS SECONDARY 5th YEAR

Surface Reconstruction. Gianpaolo Palma

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

Geometric Modeling Mortenson Chapter 11. Complex Model Construction

Parameterization of Triangular Meshes with Virtual Boundaries

Minicourse II Symplectic Monte Carlo Methods for Random Equilateral Polygons

Bezier Curves. An Introduction. Detlef Reimers

Triangle Graphs and Simple Trapezoid Graphs

A New Class of Quasi-Cubic Trigonometric Bezier Curve and Surfaces

SUBDIVISION ALGORITHMS FOR MOTION DESIGN BASED ON HOMOLOGOUS POINTS

MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces

Evaluation of Loop Subdivision Surfaces

Geodesic Paths on Triangular Meshes

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville

p y = 0 x c Figure : Stereographic projection. r p p y = 0 c p Figure : Central projection. Furthermore, we will discuss representations of entire sph

X Std. Topic Content Expected Learning Outcomes Mode of Transaction

ECE 600, Dr. Farag, Summer 09

INF3320 Computer Graphics and Discrete Geometry

Image Coding with Active Appearance Models

4 Visualization and. Approximation

Are isophotes and reflection lines the same?

Ganado Unified School District Pre-Calculus 11 th /12 th Grade

7 Fractions. Number Sense and Numeration Measurement Geometry and Spatial Sense Patterning and Algebra Data Management and Probability

Reparametrization of Interval Curves on Rectangular Domain

#97 Curvature Evaluation of Faceted Models for Optimal Milling Direction

Assignment 5: Shape Deformation

Anna Porazilová THE SHORTEST PATH. 1 Introduction 25. KONFERENCE O GEOMETRII A POČÍTAČOVÉ GRAFICE

: Find the values of the six trigonometric functions for θ. Special Right Triangles:

Numerical Treatment of Geodesic Differential. Equations on a Surface in

CCSSM Curriculum Analysis Project Tool 1 Interpreting Functions in Grades 9-12

Effect of Subdivision of Force Diagrams on the Local Buckling, Load-Path and Material Use of Founded Forms

8.B. The result of Regiomontanus on tetrahedra

SUPPLEMENTARY FILE S1: 3D AIRWAY TUBE RECONSTRUCTION AND CELL-BASED MECHANICAL MODEL. RELATED TO FIGURE 1, FIGURE 7, AND STAR METHODS.

Parallel and perspective projections such as used in representing 3d images.

Ganado Unified School District Trigonometry/Pre-Calculus 12 th Grade

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2

What is a vector in hyperbolic geometry? And, what is a hyperbolic linear transformation?

Focusing properties of spherical and parabolic mirrors

Adaptive osculatory rational interpolation for image processing

Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1

Accurate Trajectory Control for Five-Axis Tool-Path Planning

Lagrange Multipliers and Problem Formulation

Transcription:

Computer Aided Geometric Design 21 (2004) 447 458 www.elsevier.com/locate/cagd Estimating normal vectors and curvatures by centroid weights Sheng-Gwo Chen, Jyh-Yang Wu Department of Mathematics, National Chung Cheng University, Chia-Yi 621, Taiwan, ROC Received 20 February 2004; received in revised form 20 February 2004; accepted 20 February 2004 Available online 10 March 2004 Abstract The tensors of curvature play an important role in differential geometry. In surface theory (1990), it is determined by the derivative of unit normal vectors of tangent spaces of the underlying surface. However every geometric object in computation is a discrete model. We can only approximate them. In estimating the curvature on polyhedral surfaces, how to approximate normal vectors is a crucial step. Chen and Schmitt (1992) and Taubin (1995) described two simple methods to estimate the principal curvatures. The weights they choose is related to the triangle areas. But this choice not the best. Max (1999) presented a new kind of weight to estimate the normal vector. In this paper, we will present a new set of weights from duality and gravity. We choose the centroid weights to approximate normal vectors and estimate the principle curvatures. This will lead to a better estimation than the area-weights. Our results are also comparable with Max s weights. 2004 Elsevier B.V. All rights reserved. Keywords: Centroid weight; Normal vector; Principal curvature 1. Introduction The tensors of curvature on differentiable manifolds are important invariants in differential geometry. When the dimension is two, the tensors of curvature are determined by Gaussian curvatures and Mean curvatures. In fact, Gaussian curvatures and Mean curvatures come from the determinant and trace of the derivative of the normal vectors, respectively. From the theory of linear algebra, we know these values depend on the eigenvalues of the derivative of the normal vectors. Since the 1990s, people presented many methods and different ideas to estimate the Gaussian curvatures and Mean curvatures on various kinds of surfaces (1989), but only a few people investigated the tensors of curvature from the viewpoint of principal curvatures on polyhedral surfaces. * Corresponding author. E-mail addresses: csg.chen@msa.hinet.net (S.-G. Chen), jywu@math.ccu.edu.tw (J.-Y. Wu). 0167-8396/$ see front matter 2004 Elsevier B.V. All rights reserved. doi:10.1016/j.cagd.2004.02.003

448 S.-G. Chen, J.-Y. Wu / Computer Aided Geometric Design 21 (2004) 447 458 In (1992) Chen and Schmitt described an algorithm to estimate principal curvatures and principal directions from polyhedral surfaces. Their main idea lies in a clever choice of suitable coordinates. This allow them to solve the Euler formula on this coordinate system by least square method. Their result is quite good. However, the form of principal curvature is complicated. In (1995) Taubin improved Chen and Schmitt s algorithm. He used integration to avoid the trigonometric functions in Euler formula, and used summation instead of the integration in Euler formula. This new idea improves the form of principal curvatures. The error in Taubin s algorithm comes from the following three parts: (1) the evaluation of the normal vector, (2) the Taylor expansion of normal curvatures and (3) the estimate for the integration of Euler formula. In (2001) Page, Koschan, Paik, and Abidi described a new reformulation of Taubin s algorithm. They used the method of normal voting to evaluate the curvatures on triangle mesh. Even though their method slightly improves Taubin s algorithm, their form and analysis are still complicated. In (1999) Max s weights improve this estimation method effectively. 2. Estimation of curvatures on surfaces Before we discuss the approximation of the normal curvature, let us recall the Euler formula. Theorem (Do Carmo, 1976). The tensors of curvature on regular surfaces in R 3 always satisfies the Euler formula for normal curvatures. Given two principal directions, e 1,e 2, every normal curvature k Tθ along the tangent vector T θ satisfies k Tθ = k 1 cos 2 θ + k 2 sin 2 θ, where k 1,k 2 are principal curvatures and θ is the angle between the tangent vector T θ and the coordinate vector e 1. An important task in CAGD is to define and estimate differential objects like the tangent vector, normal vector and curvatures in discrete terms. Here, we present some natural methods to approximate these values. First, we introduce some notation. Consider a triangulated surface S represented as a pair of lists {V,F}, wherev ={ 1 i n V } is the list of vertices and F ={f k 1 k n F } is the list of triangles. We assume S is oriented and consistent. Choose a vertex S. We say v j is a neighbor of if there exists a triangle f k such that f k and v j f k. Denote the area of the triangle f k by f k.the set of triangles that contain the vertex will be denoted by F i. If the triangle f k is in F i, we say f k is incident to, and the number of element of F i will denoted by F i. Next, let we estimate the unit normal vector N vi at the vertex in S ={V,F} by f N vi = k F i ω kn fk f k F i w kn fk, where the weights ω k is positive, and N fk is the unit normal vector of the triangle f k. The unit tangent vector T ij is obtained from the projection of the vector v j onto the tangent plane N vi. T ij = N,v j N vi (v j ) N vi,v j N vi (v j ).

S.-G. Chen, J.-Y. Wu / Computer Aided Geometric Design 21 (2004) 447 458 449 Finally, we need to evaluate the normal curvature k ij along the tangent vector T ij at the vertex.for this, let us consider a curve x(s) to be a normal section on surface S in R 3 by arc-length parameter. From the Taylor expansion of x(s), wehave x(s) = x(0) + x (0)s + x (0)s 2 + O ( s 3). 2! Assume p = x(0) and T = x (0). Because x(s) is a normal section with arc-length parameter, x (0) = k p (T )N where N is the unit normal vector on S at x(0). Hence, x(s) = p + Ts+ 1 2 k p(t )Ns 2 + O ( s 3). This yields 2 N,x(s) p = k p (T )s 2 + O ( s 3). (1) The Taylor expansion gives again, ( ) x(s) p,s(x) p = Ts,Ts +O s 3. Therefore, we have x(s) p 2 = s 2 + O ( s 3). From Eqs. (1) and (2), we obtain 2 N, (x(s) p) = k x(s) p 2 p (T ) + O(s). Hence, 2 N, (x(s) p) k p (T ) = lim. s 0 x(s) p 2 Set q = x(s). Whens approaches to 0, we have the normal curvature k p (T ) 2 N,(q p) k p (T ). (3) q p 2 Hence we can approximate the normal curvature k ij along the tangent vector T ij at by Eq. (3). Hence, k ij = 2 N,v j. v j 2 (2) 3. Survey of old algorithm 3.1. Chen and Schmitt s algorithm (1992) In (1992) Chen and Schmitt described an algorithm to estimate the principal curvatures by Euler formula. Their main idea is to choose a suitable coordinate system {r 1,r 2 } such that the formula become k Tθ = k 1 cos 2 (θ + θ 0 ) + k 2 sin 2 (θ + θ 0 ). This formula can be rewritten as k Tθ = C 1 cos 2 θ + C 2 cos θ sin θ + C 3 sin 2 θ

450 S.-G. Chen, J.-Y. Wu / Computer Aided Geometric Design 21 (2004) 447 458 for some constants C 1, C 2, C 3 and θ is the angle between the tangent vector T θ and the first coordinate vector r 1. Then they choose r 1 = T i1 and estimate the constants C 1, C 2, C 3 by least square method: min ( ) C 1 cos 2 θ ij + C 2 sin θ ij cos θ ij + C 3 sin 2 θ ij kij 2 j where θ ij is the angle between r 1 and T ij. The principal curvatures can be solved from the constants C 1, C 2, C 3 via the relations k 1 cos 2 θ 0 + k 2 sin 2 θ 0 = C 1, 2(k 2 k 1 ) cos θ 0 sin θ 0 = C 2, k 1 sin 2 θ 0 + k 2 cos 2 θ 0 = C 3. Therefore, the principal curvatures k 1, k 2 can be obtained and principal directions also can be computed by { T1 = cos( θ 0 )r 1 + sin( θ 0 )r 2, T 2 = sin( θ 0 )r 1 + cos( θ 0 )r 2, where {r 1,r 2 } is the chosen coordinate system. 3.2. Taubin s algorithm (1995) Although Chen and Schmitt s idea is very simple, the formula for principal curvatures are complicated. In (1995) Taubin present a simpler algorithm to estimate these principal curvatures and principal directions on polyhedral surfaces. He integrated the Euler formula from π to π, and obtained matrix M vi = 1 2π π π k (T θ )T θ T t θ ( m 11 M vi = T t m 12 m 21 m 22 dθ. Moreover, ) T where T =[e 1,e 2 ] is the 2 2 matrix given by principal directions. From this formula, we get m 12 = m 21 = 0, m 11 = 3 8 k1 + 1 8 k2,andm 22 = 1 8 k1 + 3 8 k2. Thus we have the principal curvatures { k 1 vi = 3m 11 m 22, kv 2 i = 3m 22 m 11. Taubin approximated normal vectors by choosing the weight proportional to the areas of triangle surfaces: f N vi = k F i f k N fk f k F i f k N fk. Once those values are obtained, the only problem in Taubin s algorithm is to estimate the integrate M vi. Taubin s idea is to use M vi = ij v j V i w ij k ij T ij T t

S.-G. Chen, J.-Y. Wu / Computer Aided Geometric Design 21 (2004) 447 458 451 to approximate the matrix M vi, where the weight w ij is proportional to the sum of the triangle areas of all triangles that are incident to both v j and. In Taubin s paper, the matrix M vi can be transfer to the form 0 0 0 0 m 11 m 12. 0 m 21 m 22 The matrix ( m 11 m 12 ) m 21 m 22 can be diagonalized by rotation angle θ and obtain the eigenvalue T 1 and T 2 of matrix M vi. Then the corresponding principal directions are { T1 = cos θ T 1 + sin θ T 2, T 2 = sin θ T 1 + cos θ T 2, where T 1, T 2 are eigenvectors of M vi 4. The centroid-weight algorithm The algorithm that we shall present is based on Taubin s algorithm. However, we shall estimate normal vectors, tangent vectors, and normal curvatures in a different way by using centroid weights due to the following observation. Observation. In the formula of the normal vector N vi with area-weights, if two triangles f k1 and f k2 have the same normal vectors and equal areas, then they will have equal contributions for the resulting normal vector N vi, see Fig. 1. However, we know from the theory of curvatures of regular surfaces, f k1 and f k2 should have different effect on normal vectors and also on curvatures estimation, since the farthest point p 1 in f k1 is closer to an the farthest point p 2 in f k2. This seems to indicate that the area-weights need to be improved to reflect this observation. Therefore, we try to search for better weights ω in order to improve the area weights. We use the viewpoint of duality. Consider the neighbors of a vertex v as in Fig. 2. Fig. 1. If f k1 = f k2, they have the same effects under area-weight.

452 S.-G. Chen, J.-Y. Wu / Computer Aided Geometric Design 21 (2004) 447 458 Fig. 2. The problem of duality. We first represent the triangle f k by a point g k in f k. The natural candidate for g k is the centroid. Since the product kd 2 of the curvature k and the distance d is a scaling variant, this suggests that we can choose the weights: 1 ω k = g k. 2 Note also that g k is nothing but the center of mass the triangle f k and it is determined by v j f k v j g k =. 3 The new weight 1 ω k = g k 2 is called the centroid-weights to reflect its mathematical or physical meaning. Indeed, the centroid weights also work for any polyhedron models, not just for triangular meshes. The centroid weight we shall use is proportional to the square of the inverse of the distance from vertex to the centroid point g k of the triangle f k. Namely, we give 1 ω k = g k 2 where g k = ( v j f k v j )/3. Then, we have the normal vector f N vi = k F i ω kn fk f k F i ω kn fk, the tangent vector T ij = N,v j N vi (v j ) N vi,v j N vi (v j ), and normal curvatures k ij = 2 N,v j. v j 2 Finally, we also estimate the matrix M vi in Taubin s algorithm by using the centroid weights ω ij = f k (F i F j ) 1 g k 2 v h V i ( f k (F i F h ) 1 g k 2 )

S.-G. Chen, J.-Y. Wu / Computer Aided Geometric Design 21 (2004) 447 458 453 and get M vi = w ij k ij T ij Tij t. v j inv i After the method of diagonalization, we yield the principal curvatures and their corresponding directions as in the Taubin s forms by replacing area weights by centroid weights. 5. Computational results In Chen, Schmitt and Taubin s algorithms, we can rewrite the formula to estimate the normal vector N vi and the matrix M vi more generally. f N vi = k F i w kn fk f k F i w kn fk, M vi = w ij T ij Tij t v j V i with ω k > 0andω ij > 0 Hence, in order to obtain good estimations of N vi and M vi, the key problem is to choosing good weights in these formulas. In their algorithms, they choose these weights proportional to the area of triangle surfaces. However, there exists a problem when two triangles with the same areas have different shapes as pointed out in the observation. In fact, they should have different effects on the estimation of normal vectors and principal curvatures. However, such two triangles will contribute equally in the area-weight methods. To improve this, the centroid weights w k provide a better choice. Especially, when we evaluate the normal vector by using the centroid weight, the result improves very dramatically. Here we present some computational results. In Figs. 3 6, we test Taubin s method and the centroid method to estimate the normal vector and Gaussian curvature on the unit sphere and the torus. The x-axis in Figs. 3 and 4 represents the index of vertex on these polyhedrons which are permuted by the error of the centroid method. Let {S i } n i=1 be a set of polyhedron which come from the unit sphere (the left of Fig. 3 and Fig. 4) and torus (the right of Fig. 4). The number of vertex on S i is increasing when i increases. In Figs. 5 and 6, we estimate the normal vector and Gaussian curvature on {S i } n i=1 and observe average error for each S i. The x-axis in Figs. 5 and 6 represents the index i of S i. Obviously, the centroid weight method is more stable than Taubin s method. In these tests, we estimate the error by the formula: ErrorofNormalVector= 1.0 N,N N vi N and Error Curvature = k k vi k. In (1999) Max presented several kinds of weight to estimate the normal vector. Here, let us denote these weights by: ω i = θ i is the angle weight, ω i = 1 V i V i+1 is the edge weight, ω 1 i = is Vi V i+1

454 S.-G. Chen, J.-Y. Wu / Computer Aided Geometric Design 21 (2004) 447 458 Fig. 3. The error of sphere with 24 vertices. Fig. 4. The error of sphere with 760 vertices.

S.-G. Chen, J.-Y. Wu / Computer Aided Geometric Design 21 (2004) 447 458 455 Fig. 5. The error of normal vector of sphere and torus. Fig. 6. The error of Gaussian curvature of sphere. the sqrt_edge weight, ω i = sin θ i V i V i+1 is the Max s weight and ω i = 1 is unweight. The details of these weights can be found in Max s paper (Max, 1999). In Figs. 7 9, we test these estimates of the normal vectors and Gaussian curvature in random polynomial graphs, that is x(u,v) = ( u, v, f (u, v) ) with m i f(u,v)= c i,j u i v j, i=2 j=0 where the coefficient c i,j is a random number in the interval [ 0.5, 0.5]. We estimate the normal vector and Gaussian curvature at the point p = x(0, 0) on 65,535 random surfaces. For each surface, we choose 50,000 random partitions into triangles surrounding p and compute the average of these errors, then compare those average numbers in Figs. 6 and 7. The set of neighbors of the point p in our tests is constructed by {( ri cos θ i,r i sin θ i,f(r i cos θ i,r i sin θ i ) ) i {1, 2,...,n} }

456 S.-G. Chen, J.-Y. Wu / Computer Aided Geometric Design 21 (2004) 447 458 Fig. 7. The graph of the error of random polynomial surfaces. where {θ 0,θ i,...,θ n } is a partition of [0, 2π] such that θ j+1 θ j π for each j {0, 1,...,n 1} and r i,θ j,n,mare random positive numbers with r i (0, 0.01], θ j [0, 2π], n {3, 4,...,9}, m {2, 3,...,6}. Fig. 6 describes the histogram of the RMS errors. Obviously, the centroid weight and Max s weight (Max, 1999) are better than other kinds of weights. The centroid weights, Max s weights and 1/edges weights have the same statistical style, see Fig. 7. In Fig. 9, the x-axis represent the value r which controls the ratio of the partition of [0, 2π] and the partition of [0, 2π] is determined by:

S.-G. Chen, J.-Y. Wu / Computer Aided Geometric Design 21 (2004) 447 458 457 Fig. 8. The graph of the error of Gaussian curvature of random polynomial surfaces.

458 S.-G. Chen, J.-Y. Wu / Computer Aided Geometric Design 21 (2004) 447 458 Fig. 9. The graph of the error of normal vectors of uniform partition of polynomial surfaces. First, we choose a random partition {p i } n i=0 of the close interval [0, 1] with p i <p j as i<j. Then the partition is {θ i } n i=0 with θ i = 2π(0.01r+p i) for each i = 1, 2,...,nand θ 0.01r+1 0 = 0. When r approaches, the partition is uniform. The centroid weights better than the others weights when the partition of [0, 2π] becomes more and more uniform, see Fig. 9. References Chen, X., Schmitt, F., 1992. Intrinsic surface properties from surface triangulation. In: Proceedings of the European Conference on Computer Version, pp. 739 743. Do Carmo, M., 1976. Differential Geometry of Curves and Surfaces. Prentice Hall, Englewood Cliffs, NJ. Max, N., 1999. Weights for computing vertex normals from facet normals. J. Graphics Tools 4 (2), 1 6. Farin, G., 1990. Curves and Surfaces for Computer Aided Geometric Design, second ed. Academic Press, New York. Flynn, P.J., Jain, A.K., 1989. On reliable curvature estimation. In: Proceedings of the International Conference on Computer Vision and Pattern Recognition, pp. 110 116. Page, D.L., Koschan, A., Sun, Y., Paik, J., Abidi, M.A., 2001. Robust crease detection and curvature estimation of piecewise smooth surfaces from triangle mesh approximations using normal voting, Computer Vision and Recognition 2001, CVPR 2001. In: Proceedings of the 2001 IEEE Computer Society Conference, vol. 1. Taubin, G., 1995. Estimating the tensor of curvature of a surface from a polyhedral approximation. In: Proceedings of the Fifth International Conference on Computer Vision, pp. 902 907.