Sie sind auf Seite 1von 54

ESTIMATING CURVATURE ON TRIANGULAR MESHES

TIMOTHY D GATZKE & CINDY M GRIMM D. M. Department of Computer Science and Engineering Washington State University in St. Louis St
PRESENTED BY: PARDEEP KUMAR CIVIL AND ENVIRONMENTAL ENGINEERING DEPARTMENT UNIVERSITY OF CALIFORNIA, BERKELEY

Curvature

Parametric Representation of Surfaces


Curved surface described by a polynomial in terms f y p y of two parameters u and w,
P ( u , w ) = x ( u , w ) , y ( u , w ) , z ( u , w )

Jacobian of curved surface

( y, z ) ( z, x ) ( x, y ) Jx , Jy , Jz (u , w ) (u , w ) (u , w ) z u z w

y ( y, z ) u where = y (u , w ) w

Parametric Representation of Surfaces


Assumption: Three Jacobian are not all zeros at p same time
2 J x2 + J y + J z2 0

This assumption makes sure that curved surface:


Do not degenerate to a point or a curve, and Do not contain any singular points such a spikes.

Parametric Representation of Surfaces

u curve u-curve = P(u,w0) w-curve = P(u0,w)

Tangent Vectors at point P(u0,w0)

x ( u , w0 ) y ( u , w0 ) z ( u , w0 ) , , Pu = u u u u = uo x ( u 0 , w ) y ( u 0 , w ) z ( u 0 , w ) Pw = , , w w w w = wo

Parametric Representation of Surfaces


y ( u , w ) u Pu Pw = y ( u , w ) w z ( u , w ) u , z ( u , w ) w x (u , w ) u x (u , w ) w z ( u , w ) u , z ( u , w ) w x ( u , w ) u x ( u , w ) w y ( u , w ) u y ( u , w ) w u = uwo w=

( y, z ) ( z , x ) ( x, y ) = J x , J y , J z u = uo Pu Pw = , , w=w o ( u , w ) ( u , w ) ( u , w ) u = uwo w=
o

For F non-zero Jacobian condition to be true we must have cross product above to be non zero.

Parametric Representation of Surfaces


Curve in arbitrary direction on curved surface can be expressed in terms of parameter t as P(u(t),w(t)). du dw Tangent at P(u0 ,w0) d P = Pu + Pw
dt
t = t0

dt

t = t0

dt

t = t0

Parametric Representation of Surfaces


Unit Normal Vector: e =
Pu Pw = Pu Pw
2 J x2 + J y + J z2

( Pu

Pw )

Equation of Tangent Plane


R be position vector on tangent plane

( R - P (u

, w0 ) ) .e = 0,

( R - P (u

, w0 ) ) . ( Pu Pw ) = 0

Unit Tangent Vector


Define , u ( t ) = u ( t ) w ( t ) and curved surface P ( u ( t ) ) Pu Tangent vector P = Pu u + Pw w = [u w ] uA Pw Magnitude s of tangent vector , s = P ( t ) P ( t ) = P ( t )
2 T 2

Pu2 Pu Pw u Pu u 2 s = [u w ] [ Pu Pw ] = [u w ] 2 Pw w Pw w Pw Pu s 2 = uFu T , F = first fundamental matrix of surface. Unit Tangent Vector , t = P (t ) P (t ) = uA

( uFu )
T

1 2

Curvature of a Surface
Lets now use length ( s ) as parameter : Length of tangent , s = P 2 . P ' = 1. dP d P dt P P'= . = . ds d dt d ds s

Thus , Unit Tangent Vector , t = P ' g P ' ( s0 + s ) P ' ( s0 ) d 2P P" = lim . 2 s 0 ds s 1 s 1 P" ( s0 ) = lim = lim = s 0 s s 0 s P" ( s0 ) = n = t' P = s t + s t = s t + s 2 t' P = s t + s 2 n

Curvature of a Surface
Lets find P for curve u ( t ) = u ( t ) , w ( t ) on curved surface P ( u ( t ) ) P = Pu u + Pw w , d Pu dP u + Pu u + w w + Pw w = Puu u 2 + Puw uw + Pu u + Pww w 2 + Pwu wu + Pw w dt dt Taking inner product of unit normal e with both the expressions we get , P= e. P = s ( e.t ) + s 2 ( e.n ) = s 2 ( n.e ) e. P = ( e.Puu ) u 2 + ( e.Puw ) uw + ( e.Pu ) u + ( e.Pww ) w 2 + ( e.Pwu ) wu + ( e.Pw ) w
0 0 0

e.P eP e Puu e.Puw u = [u w ] = uGu T e.Pwu e.Pww w Equating two we get s 2 ( n.e ) = uGu T G = Second Fundamental Matrix of Curved S urfaces

Normal Curvature
Space curve u on curved surface P(u,w). Curve C i t C C: intersection of curved surface with plane containing ti f d f ith l t i i tangent vector and unit normal at P. Curvature of C is called normal curvature relative to (du/dt)A at point P P. Normal curvature is projected length of curvature vector of curve u to e.

Lets n be normal curvature , s 2 n = uGu T uGu T uGu T n = = 2 s uFu T F

Normal Curvature
Direction in which normal curvature takes an extreme value is called Principle Direction of Normal Curvature.

Let = u , = w , L = e.Puu , M = e.Puw = e.Pwu , N = e.Pww uGu T E = P , F = Pu . Pw , G = P . Then n = can be written as T uFu uFu T n = uGu T L 2 + 2 M + N 2 n ( E 2 + 2 F + G 2 ) = 0
2 u 2 w

Normal Curvature
To find extreme values set n n = 0 and = 0, to get

( L n E ) + ( M n F )

= 0, ( M n F ) + ( N n G ) = 0
2

Eliminating and from these equations gives :

( EG F )
2

2 n

( EN + GL 2 FM ) n + ( LN M

)=0

Roots of this quadratic equations , n max & n min are always real an d are maximum and minimum values of normal curvature called the principle curvatures. Total Curvature or Gaussian Curvature , K = n max n min Mean Curvature , H = G = F

n max + n min
2

Objective
Curvature C Estimation Methods for Triangular Meshes

Error in curvature and curvature directions

Set of Test Cases

Curvature Estimation Methods

Curvature Calculation Methods for Triangular Meshes

Fitting Methods

Discrete Estimation of Curvature and Curvature Directions

Estimation of Curvature tensor

Goal of Test Cases


Mesh Regularity Noise in the data
Accuracy and Stability d bl of Curvature Estimation Methods

Mesh Resolution

Introduction
Set of test cases to model mesh variations was f presented. Accuracy of curvature calculation methods for triangular meshes was assessed based on noise in the data, mesh resolution, regularity and valence. Statistical St ti ti l analysis was i l d d t address l i included to dd different aspects of curvature estimation error.

Curvature Estimation for Triangular Meshes

Basic Approaches
Surface fitting using analytic function that fits the f f g g y f f mesh locally. Discrete estimation of curvature and curvature directions. Estimation of Curvature tensor from which curvature and curvature di ti t d t directions can b be calculated.

Fitting Methods
Fitting methods vary depending on type of analytic g y p g yp f y function chosen for the fitting.
Function can be parametric or implicit. Fit f i function separately at each vertex. i l h Picking a local coordinate frame is useful.

Another discriminator is number of vertices fit fit.


Minimum number of vertices are picked depending on number of coefficients of the function being fit.

Fitting Methods
Local Coordinates
Origin at target vertex i.e. vertex where the curvature is being calculated. Normal at target vertex is one of the axis of the system. Normal can be calculates directly from the analytic function used. Average of unit normals of triangular faces that surround target vertex.

Parameterization
Represent surface as function of two parameters (u,v). p f f f p ( , ) F(u,v) = [x(u,v), y(u,v), z(u,v)] Simplest representation-Height function F(u,v) = [ , v, f(u,v)] ( , ) [u, , f( , )]

Fitting Methods
Representing curved surface: F(u,v) = [u, v, f(u,v)] p g f ( , ) , , f( , ) Parametric coordinates can be found by projecting the vertices onto the tangent plane. Quadric Fitting z i = f ( u i , vi ) =

Au i2 + Bu i vi + Cvi2 + Du i + Evi + F ,

Cubic fitting with normal


Main focus is to calculate curvature directions.

Implicit conic functions


axi2 + by i2 + cz i2 + dxi y i + ey i z i + fz i xi + gxi + hy i + jz i + k = 0

Quadratic Fitting Methods


Representing curved surface: F(u,v) = [u, v, f(u,v)]
z i = f ( u i , vi ) = Au i2 + Bu i vi + Cvi2 + Du i + Evi + F ,

If origin is located at target vertex constant term can be dropped. d d Dropping the linear term forces the normal to line up with the z-axis in local reference frame. z axis
Unit normal vector at origin , e = Fu Fv =

( Fu Fv )

1 f u ( 0, 0 ) + f v ( 0, 0 )
2 2 2

f u ( 0, 0 ) f v ( 0, 0 ) +1 1

G f ( 0, 0 ) f vv ( 0, 0 ) f uv ( 0, 0 ) Gaussian Curvature , K = = uu 2 2 2 F f u ( 0 0 ) + f v ( 0, 0 ) + 1 0, 0

Quadratic Fitting Methods


Quadratic surface passing through the origin

z = Au 2 + Buv + Cv 2 + Du + Ev Requirement that it passes through 5 points can be expressed by linear system: (U i , Vi , Z i ) , i = 1, 2,..5
U 12 ... U 52 U 1V1 ... U 5V5 V12 ... V52 U1 ... U5 A Z1 V1 B Z 2 ... C = Z 3 V5 D Z 4 E Z 5

If this system has unique solution, the unit normal and curvature at thi t h i l ti th it l d t t origin are given by
D 1 E and D2 + E2 +1 1

(D

AC B 2
2 2

+ E + 1)

Discrete Methods
Avoid computational cost associated with fi i id i l i d i h fitting algorithms. Do t i D not involve solving th l t square problems. l l i the least bl Only provide subset of gaussian, mean and principal curvature directions directions.

Discrete Methods
Spherical Image Method p g Angle Excess Method Angle Deficit Method g f Integral of Absolute Mean Curvature Method

Spherical Image Method


Non planar p yg Pi. p polygon Spherical image is approximated by spherical polygon ni. Curvature at O,

Ar ( n n n ) = Ar O A ( POP )
i o i +1 i i i +1 i

Angle Deficit Method


Non planar polygon Pi. Spherical image is approximated by spherical polygon ni,i+1. Join points on spherical g image with arcs. Area of spherical polygon is angle deficit of polygon,

2 i , i + 1

Area related to target point O


1 S i , i +1 3 i

Angle Deficit Method


K = 2 i , i + 1
i

Gaussian Curvature at O,

1 S i , i +1 3 i

Discrete Methods
Integral Formulation g Per Face Tensor Calculation

Evaluations

Evaluations
Test cases to highlight both detailed behavior of g g f curvature estimation methods and statistical error analysis. Detailed behavior test case defines mesh parameters to distinguish between noise and triangulation effects effects. Statistical analysis test case creates meshes containing vertices for range of valences, with both valences regular and irregular mesh regions.

Test Cases
Sphere : x 2 + y 2 + z 2 = 4 Cylinder C li d : x 2 + z 2 = 4 x Ellipsoid : 3
2

Elliptical Paraboloid : z = 2 x 2 + y 2
2

y z + + = 1 2 4

Hyperboloid : z = 0.4 ( x 2 - y 2 )

Test Cases
Elliptical Paraboloid : z = 2 x 2 + y 2 Monkey Saddle : z = 0.2 ( x 3 - 3 xy 2 ) 02 Cubic Polynomial : z = 0.15 ( x 3 + 2 x 2 y - xy + 2 y 2 )

Trignometric Function z = 0.1[ cos( x ) + cos( y ) ]

Exponential Function z = 0.1 e


2 x + y - y2

Detailed Mesh Parameters


To assess local curvature at a point on surface. p f Project the planar mesh onto surface of study. Center the mesh at target point. g p Mesh is regular N-ring neighborhood, N = {1,2,3}

Detailed Mesh Parameters


1. 2. 3. 4. 5. 6. 7.

Number of vertices in first ring, n. The scale, . Target vertex displacement, dRT. Adjacent vertex displacement, dRA. Target vertex displacement, dT, towards adjacent vertex. t d dj t t Adjacent vertex displacement, dA, towards/away from target vertex. Adjacent vertex displacement, d, towards a neighboring adjacent vertex.

Statistical Analysis Case


Create a mesh
1. 2. 3.

72 interior vertices (112 total), Valence ranging from three to ten, and Containing b h obtuse and non-obtuse triangles. C i i both b d b i l

Experimental Results

Curvature Estimation Based on Fitting

Curvature Estimation Based on Fitting

Curvature Estimation Based on Fitting

Curvature Estimation Using Discrete Methods

Curvature Estimation Using Discrete Methods

Curvature Estimation Using Discrete Methods

Curvature Estimation Using Curvature Tensor

Curvature Estimation Using Curvature Tensor

Curvature Estimation Using Curvature Tensor

Statistical Analysis Results


Considering both Gaussian and Mean Curvature, most accurate methods:
1. 2. 2 3. 4. 5.

The cubic fit with exact normal Two ring Two-ring quadric planar fit fit, Two-ring conic fit, Two-ring quadric natural fit, and Cubic fit i h l l d C bi fi with calculated normal. l

Cubic fit with calculate normal under-predicts the curvature magnitude, where as two ring conic fit predictions are larger.

Discussion

Discussion
Accuracy of conic fitting methods is very dependent on type of surface being fit. Two ring fitting methods are superior than one ring methods. th d One ring methods are highly noise sensitive. Cubic fit is more promising, but calculating normal promising using weighted face average in quite sensitive. Principal curvature directions are more stable and less p sensitive to mesh regularity than curvature magnitude. Fitting methods based on two ring neighborhood is recommended th th d d than three ring, t avoid i i to id increased cost. d t

Discussion
Discreet curvature methods are
Computationally fast. Sensitive to valence, noise and mesh regularity. Limited Li i d to regular meshes. l h

Fitting with conics is more stable in local coordinate system at the vertex vertex. Two-ring fit parameterized by natural flattening technique has similar performance to two-ring two ring planar fit

Thank You