Parameteric Curves Discrete Differential Geometry

7
Discrete Differential Geometry, Technion - Spring 2008 1 Discrete Differential Geometry Discrete Differential Geometry Discrete Differential Geometry, Technion - Spring 2008 2 Parameteric Curves C(t)=(x(t),y(t)) Trajectory in the plane over time. Examples: C(t) = (t,t), t[0,) C(t) = (2t,2t), t[0,) C(t) = (t 2 ,t 2 ), t[0,) C(t) = (cos(t),sin(t)), t[0,2π). C(t) = ((t 2 -1)/(t 2 +1),2t/(t 2 +1)), t(-,) x(t) x(t) y(t) y(t) C(t) C(t) x(t) x(t) y(t) y(t) C(t) C(t) Discrete Differential Geometry, Technion - Spring 2008 3 Tangent vector to curve C(t)=(x(t),y(t)) is T=C’(t): In arc-length parameterization: Differential Properties of Curves Tangent Vector () () () ( , ) dC t T C t dt x t y t = = =⎡ () ' 1 T C t = = () dC t T dt = ( ) C t Discrete Differential Geometry, Technion - Spring 2008 4 Curvature is an intrinsic property Independent of parameterization Corresponds to radius of osculating circle R=1/k Measures curve bend Differential Properties of Curves Curvature

Transcript of Parameteric Curves Discrete Differential Geometry

Page 1: Parameteric Curves Discrete Differential Geometry

Discrete Differential Geometry, Technion - Spring 2008 1

Discrete Differential GeometryDiscrete Differential Geometry

Discrete Differential Geometry, Technion - Spring 2008 2

Parameteric Curves

C(t)=(x(t),y(t))Trajectory in the plane over “time”.

Examples:C(t) = (t,t), t∈[0,∞) C(t) = (2t,2t), t∈[0,∞) C(t) = (t2,t2), t∈[0,∞)

C(t) = (cos(t),sin(t)), t∈[0,2π).C(t) = ((t2-1)/(t2+1),2t/(t2+1)), t∈(-∞,∞)

x(t)x(t)

y(t)y(t) C(t)C(t)

x(t)x(t)

y(t)y(t)

C(t)C(t)

Discrete Differential Geometry, Technion - Spring 2008 3

Tangent vector to curve C(t)=(x(t),y(t)) is T=C’(t):

In arc-length parameterization:

Differential Properties of CurvesTangent Vector

( ) ( ) ( )( ,)dC tT C tdt

x t y t′ ′′= = = ⎡ ⎤⎣ ⎦

( )' 1T C t= =

( )dC tT

dt=

( )C t

Discrete Differential Geometry, Technion - Spring 2008 4

Curvature is an intrinsic propertyIndependent of parameterization

Corresponds to radius of osculating circle R=1/k

Measures curve bend

Differential Properties of CurvesCurvature

Page 2: Parameteric Curves Discrete Differential Geometry

Discrete Differential Geometry, Technion - Spring 2008 5

Curvature of C(t)=(x(t),y(t))

In arc-length parameterization:

( ) ( )( )'( ) ''( ) '( ) ''( )

( ) 3/ 22 2

x t y t y t x tk t

x t y t

−=

′ ′+

( ) ''( )k t C t=

Differential Properties of CurvesCurvature

1( )( )

k tR t

=

( )C t

Discrete Differential Geometry, Technion - Spring 2008 6

Tangent plane to S(u,v) spanned by two partials of S

Normal to surfacePerpendicular to tangent plane

Any vector in tangent plane is tangent to S(u,v)

( , ) ( , ),S u v S u vu v

∂ ∂∂ ∂

S Snu v

→ ∂ ∂= ×∂ ∂

( , )S u v

( , )S u vu

∂∂

( , )S u vv

∂∂

Differential Properties of SurfacesTangent Plane

Discrete Differential Geometry, Technion - Spring 2008 7

Average face normals around vertex

Problem: does not reflect face “influence”

Normal Estimation on MeshOption 1

Discrete Differential Geometry, Technion - Spring 2008 8

Weighed average of face normals around vertex Using face area or angles at vertex

Normal Estimation on MeshOption 2

Page 3: Parameteric Curves Discrete Differential Geometry

Discrete Differential Geometry, Technion - Spring 2008 9

Estimate tangent plane and take normal to that

Center the dataVertex + neighbors

Compute covariance matrix

Tangent plane Spanned by two eigenvectors of A with largest eigenvalues

Normal Eigenvector with smallest eigenvalueOrientation?

2

2

2

i i i i ii i i

i i i i ii i i

i i i i ii i i

x x y x z

A x y y y z

x z y z z

⎛ ⎞⎜ ⎟⎜ ⎟

= ⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

∑ ∑ ∑∑ ∑ ∑∑ ∑ ∑

← −

← −

← −

( )

( )

( )

i i i

i i i

i i i

x x Avg x

y y Avg y

z z Avg z

Normal Estimation on MeshOption 3

Discrete Differential Geometry, Technion - Spring 2008 10

Normal curvature of surface Defined for each tangential direction Normal direction + tangent direction = normal planeIntersection Normal plane + surface = curve Curvature

Differential Properties of SurfacesCurvature

Discrete Differential Geometry, Technion - Spring 2008 11

Principal curvatures Kmin & KmaxMaximum and minimum of normal curvature

Differential Properties of SurfacesCurvature

Discrete Differential Geometry, Technion - Spring 2008 12

Principal curvatures Kmin & KmaxMaximum and minimum of normal curvature

Correspond to two orthogonal tangent directionsPrincipal directions

Not necessarily partial derivative directions

Independent of parameterization

Differential Properties of SurfacesCurvature

Page 4: Parameteric Curves Discrete Differential Geometry

Discrete Differential Geometry, Technion - Spring 2008 13

Surface Curvature Examples

IsotropicIsotropic

Equal in all directionsEqual in all directions

spherical planar

kkminmin=k=kmaxmax > 0> 0kkminmin=k=kmax max = 0= 0

AnisotropicAnisotropic

2 distinct principal directions

elliptic parabolic hyperbolic

kkmax max > 0> 0

kkmin min > 0> 0

kmin = 0

kkmax max > 0> 0

kkmin min < 0< 0

kkmax max > 0> 0

Discrete Differential Geometry, Technion - Spring 2008 14

Principal Directions

min min curvaturecurvature

max max curvaturecurvature

Discrete Differential Geometry, Technion - Spring 2008 15

Curvature

Typical measures:Gaussian curvature

Mean curvature

min maxK k k=

2maxmin kkH +

=

Discrete Differential Geometry, Technion - Spring 2008 16

Gauss-Bonnet Theorem

For ANY closed manifold surface with Euler number χ=2-2g

2K =∫ πχ

( )K∫ ( )K=∫ ( )K=∫ 4= π

Page 5: Parameteric Curves Discrete Differential Geometry

Discrete Differential Geometry, Technion - Spring 2008 17

Gauss-Bonnet TheoremExample

Spherekmin = kmax = 1/rK = kminkmax = 1/r 2

Manipulate sphereNew positive + negative curvatureCancel out!

22

14 4K rr

= ⋅ =∫ π π

Discrete Differential Geometry, Technion - Spring 2008 18

Curvature on Mesh

Approximate curvature of (unknown) underlying surface

Continuous approximationApproximate surfaceCompute continuous differential measures

Discrete approximationApproximate differential measures for mesh

Discrete Differential Geometry, Technion - Spring 2008 19

Approximate surface by quadratic

At each mesh vertex - use surrounding trianglesCompute normal at vertex

Typically average face normals

Compute tangent plane

Compute local coordinate system vertex = (0,0,0)

For each neighbor vertex Compute location in local systemRelative to vertex and tangent plane

(0,0,0)(x1,y1,z1)

z1

Quadratic ApproximationLocal coordinates

Discrete Differential Geometry, Technion - Spring 2008 20

Find quadratic function approximating vertices

To find coefficients use least squares fit

2 2( , , ) 0F x y z ax bxy cy z= + + − =

2min ( , , )i i ii

F x y z∑

Quadratic ApproximationLeast squares fit

Page 6: Parameteric Curves Discrete Differential Geometry

Discrete Differential Geometry, Technion - Spring 2008 21

To find coefficients use least squares fit

Linear system

Least-squares approximation is:

( )22 2min i i i i ii

ax bx y cy z+ + −∑

⎟⎟⎟

⎜⎜⎜

⎛=

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

nnnnn z...z

cba

yyxx.........yyxx 1

22

2111

21

⎟⎟⎟

⎜⎜⎜

⎛=

⎟⎟⎟

⎜⎜⎜

⎛=

⎟⎟⎟

⎜⎜⎜

=

nnnnn z...z

b ,cba

X ,yyxx.........yyxx

A1

22

2111

21

bA)AA(X TT 1−≈

=

Quadratic ApproximationLeast squares fit

Discrete Differential Geometry, Technion - Spring 2008 22

Given quadratic surface F, its principal curvatures kmin and kmax are real roots of:

Mean curvature: H = (kmin + kmax)/2

Gaussian curvature: K = kmin kmax

2 2( ) 0k a c k ac b− + + − =

If If bb=0, then =0, then k k = = aa, , cc..

Quadratic ApproximationCurvature

Discrete Differential Geometry, Technion - Spring 2008 23

Discrete ApproximationPolyhedral Curvature

Treat mesh as polyhedron with rounded corners with infinitesimally small radius

Derive discrete properties from integrals across vertex region

Convention – associate half of edge and third of triangle with vertexNormalize surface area to unit

Discrete Differential Geometry, Technion - Spring 2008 24

Mean Curvature

Supported on edges only.Integral of curvature on circular arc is central angle

For entire vertex region

Mean curvature at vertex (Ai triangle area)

1 1 22

k arclength RR R

β π βπ

= = =∫

1 1|| || || ||2 2i i i i

i iH e eβ β= =∑ ∑∫

3 || ||2 i i

ii

H eA

β= ∑∑

β R

dihedral angledihedral angle

Page 7: Parameteric Curves Discrete Differential Geometry

Discrete Differential Geometry, Technion - Spring 2008 25

Gaussian Curvature

Supported on vertices only.Simple estimate:

Weighted estimate:

Gauss-Bonnet theorem holds:

2= −∑v ii

K π α

3 (2 )2

= −∑∑v iii

i

KA

π α

2 2⎡ ⎤= − ==⎢ ⎥⎣ ⎦∑ ∑ ∑v i

v v iK π α πχ

Discrete Differential Geometry, Technion - Spring 2008 26

Example: Gaussian Curvature

Approximation always results in some noiseSolution

Truncate extreme valuesCan result from division by very small area

Smooth More later

Discrete Differential Geometry, Technion - Spring 2008 27

Example: Mean Curvature