# www.math.zju.edu.cncagdSeminar2005_SpringSummer by ert554898

VIEWS: 2 PAGES: 57

• pg 1
```									Developable Surface
Fitting to Point Clouds
Martin Peternell
Computer Aided Geometric Design
21(2004) 785-803

Reporter: Xingwang Zhang
June 19, 2005
   Affiliation
   Institute of Discrete Mathematics and Geometry
   Vienna University of Technology
   Web
   http://www.geometrie.tuwien.ac.at/peternell
   People
   Helmut Pottmann
   Johannes Wallner
   etc.
Research Interests
   Classical Geometry
   Computer Aided Geometric Design
   Reconstruction of geometric objects
from dense 3D data
   Geometric Computing
   Industrial Geometry
Overview
   Problem
   Developable surfaces
   Blaschke model
   Reconstruction of Developable
Surfaces
   Q&A
Problem
   Given: scattered         Object: Construct a
data points from a        developable surface
developable surface       which fits best to
the given data
Ruled Surface
   A ruled surface x(u, v)  c(u)  ve(u)

c (u ) : directrix curve
e (u ) :   a generator
   Normal vector
n(u, v)  c(u)  e(u)  ve(u)  e(u)
Developable Surface
   Each generator all points have the same
tangent plane.
   Vectors c  e and e  e are linearly
dependent
   Equivalent condition
det(c, e, e)  0
Developable Surface
Three types of developable surfaces
Geometric Properties of
Developable Surface
   Gaussian curvature is zero
   Envelope of a one-parameter family of
planes
T (u ) : n4 (u )  n1 (u ) x  n2 (u ) y  n3 (u ) z  0
   Dual approach: T (u) is a curve in dual
projective 3-space.
Singular Point
   A singular point doesn’t possess a tangent
plane.
   Singular curve s(u )  x (u, vs ) is determined by
the parameter
( c  e )  (e  e )
vs                        .
(e  e ) 2
Three Different Classes
   Cylinder: singular curve degenerates to a
single point at infinity
   Cone: singular curve degenerates to a
single proper point, called vertex
   Tangent surface: tangent lines of a
regular space curve, called singular curve
Literature
   [Bodduluri, Ravani, 1993] duality between points and
planes in 3-D space
   [Pottmann, Farin, 1995] projective algorithm, dual
representation
   [Chalfant, Maekawa, 1998] optimization techniques
   [Pottmann, Wallner, 1999] a curve of dual projective 3-D
space
   [Chu, Sequin, 2002] boundary curve, de Casteljau
algorithm, equations
   [Aumann, 2003] affine transformation, de Casteljau
algorithm
General Fitting Technique
Find an n1 developable B-spline surface
b(u, v)   Ni (u)N j (v)bij
fitting unorganized data points pk
   Estimating parameter values (ui , v j )
   Solving a linear problem in the unknown
control points bij
Two Difficult Problems
   Sorting scattered data
   Estimation of data parameters
   Estimation of approximated direction of the
generating lines
   Guaranteeing resulting fitted surface is
developable
   Leading a highly non-linear side condition
in the control points
Contributions of this Paper
   Avoid the above two problems
   Reconstruction of a 1-parameter family of
planes close to the estimated tangent
planes of the given data points
   Applicable
   Nearly developable surfaces
   Better slightly distorted developable
surfaces
Blaschke Model
Blaschke Model
   An oriented plane in Hesse normal form:
E : n1 x  n2 y  n3 z  d  0, n12  n2  n3  1
2    2

   Defining Blaschke mapping:
b:E     b( E )  (n1 , n2 , n3 , d )  ( n, d )
   Blaschke cylinder:
B : u12  u2  u3  1
2    2
Incidence of Point and Plane
   A fixed point p  ( p1 , p2 , p3 ) , planes    E : n x  d  0
passing through this point
p1n1  p2 n2  p3n3  d  p  n  d  0
   Image points b( E )  (n1 , n2 , n3 , d ) lie in the
three space
H : p1u1  p2u2  p3u3  u4  0

   The intersection of H B is an ellipsoid.
Blaschke Images of a Pencil of Lines
and of Lines Tangent to a Circle

Back
Tangency of sphere and plane
    S oriented sphere with center m and signed
S : ( x  m)  r  0
2    2

   Tangent planes:
TS : n1m1  n2 m2  n3m3  d  n  m  d  r

   Blaschke image of tangent planes:
H : m1u1  m2u2  m3u3  u4  r  0
Offset operation
 Maps a surface F  3 (as set of tangent
planes) to its offset Fr at distance r
S is the offset surface of m at distance r
 Appearing in the Blaschke image B as

translation by the vector (0,0,0, r )
See Figure
Laguerre Geometry
   q  (q1 , q2 , q3 , q4 )  B   satisfy :
H : a0  u1a1  u2 a2  u3a3  u4 a4  0
    T = b 1 (q )inverse Blaschke image
   a4  0. T tangent to a sphere
1                         a0
m    (a1 , a2 , a3 ), r  
a4                        a4
   a4  0. T form a constant angle with the
direction vector a = (a , a , a )
1   2   3
The Tangent Planes of a
Developable Surface
   T (u) be a 1-parameter family of planes

T (u ) : n4 (u )  n1 (u ) x  n2 (u ) y  n3 (u ) z  0

   Generating lines: L(u )  T (u ) T (u )
   Singular curve: L(u )  T (u ) T (u ) T (u )
   Blaschke image b T (u)   b(D) is a curve on
the Blaschke cylinder B
Classification
Classification
   Cylinder: H : a1u1  a2u2  a3u3  0
   Cone: H : p1u1  p2u2  p3u3  u4  0
   Developable of constant slope: normal n(u)
form a constant angle with a fixed direction
H :   a1u1  a2u2  a3u3  0
   Tangent to a sphere:
H : r  u1m1  u2 m2  u3m3  u4  0
Recognition of Developable
Surfaces from Point Clouds
Estimation of Tangent Planes
    p , triangles   t j , adjacent points q k
   Estimating tangent plane T at p
   Best fitting data points q k , MIN dist (qk , T )
   Original surface with measurement point pi
developable, b(Ti ) form a curve-like region
on B
A Euclidean Metric in the Set
of Planes
   Distance dist ( E , F ) between E and F
E : e1 x  e2 y  e3 z  e4  0, F : f1 x  f 2 y  f 3 z  f 4  0
dist ( E , F )  i 1 (ei  fi )2
2        4

   Geometric meaning:
F : x  m  0 b(F )  (1, 0, 0, m) dist ( E , F )  r
b( E ) : intersection of B with sphere
(u1  1) 2  u2  u3  (u4  m) 2  r 2
2    2
Boundary Curves of Tolerance
Regions of Center Lines
A Cell Decomposition of the
Blaschke Cylinder
Tesselation of S 2 by subdividing an
icosahedral net
A Cell Decomposition of the
Blaschke Cylinder (continued)
   Cell structure on the Blaschke cylinder B
   20 triangles, 12 vertices, 2 intervals
   80 triangles, 42 vertices, 4 intervals
   320 triangles, 162 vertices, 8 intervals
   1280 triangles, 642 vertices, 16 intervals
Analysis of the Blaschke
Image
Analysis of the Blaschke
Image (continued)
   Check point cloud bi  b(Ti ) on            B      fitted well by
hyperplane H
H : h0  h1u1           h4u4  0, h12             h4  1
2

   Principal component analysis
c =   bi  / M            qi  bi  c

d (qi , H )  h  qi , h  (h1 , h2 , h3 , h4 )
Principal Component
Analysis (continued)
   Minimization                        M                     M
1                   1
F (h1 , h2 , h3 , h4 ) 
M
 d (qi , H )  M
i 1
2
 ( h  qi ) 2
i 1

   Eigenvalue problem
M
1
F (h)  hT  C  h,           C :
M
 qi  qiT
i 1

Eigenvalues:1  2  3  4
Deviations: 1   2   3   4
Principal Component
Analysis (continued)
   Four small eigenvalues: The Blaschke
image is a point-like cluster. The original
surface is planar.
   Two small eigenvalues: The Blaschke
image is a planar curve (conic). The
original surface is a cone or cylinder of
rotation.
   | h10  h20 |  a cone of rotation.
   | h10  h20 |  a cylinder of rotation.
Principal Component
Analysis (continued)
   One small eigenvalue and curve-like
Blaschke image. The original surface is
developable.
 |h 10 |     a general cone
 | h |  ,| h |  a general cylinder
10        14
 | h |  a developable of constant slope.
14

   One small eigenvalue and surface-like
Blaschke-image: The original surface is a
sphere.
Example

Analysis of the Blaschke image–Sphere
Example

Cylinder of rotation
Example

Approximation of a developable of constant slope
Example

General cylinder   Triangulated data points   Original Blaschke image
and approximation
Example

Triangulated data   Spherical image of the
Developable of   points and          approximation with
constant slope   approximation       control points.
Reconstruction of Developable
Surfaces from Measurements
Reconstruction
   Find a curve c (t )  B fitting best the tubular
region defined by b(Ti )
   Determine 1-parameter family of tangent
planes E (t ) determined by c (t )
   Compute a point-representation of the
corresponding developable approximation D*
of the data points
Parametrizing a Tubular
Region
   Determine relevant cells of B carrying points
Ci  (ai , bi , ci , di )
   Thinning of the tubular region: Find cells carrying
only few points and delete these cells and points
   Estimate parameter values for a reduced set of
points C k (by moving least squares: marching
through the tube)
   Compute an approximating curve c (t ) on B
w.r.t. points C k
Parametrizing a Tubular
Region (continued)
Curve Fitting

Blaschke image   approximating curve to thinned point cloud
Curve Fitting (continued)

support function (fourth coordinate)
A Parameterization of the
Developable Surface
   Approximating curve c (t )  (c1 , c2 , c3 , c4 )(t ) on B
determines the planes
E (t ) : c4 (t )  c1 (t ) x  c2 (t ) y  c3 (t ) z  0
   Compute planar boundary curves ki (t ) in H i
planes (bounding box):
ki (t )  E (t ) E (t ) H i
   Point representation of D :
x (t , u )  (1  u ) k1 (t )  uk2 (t )
Boundary Curves
Example

Projection of the   Approximating
Blaschke image      curve with control
polygon
Developable surface
approximating the data
points
Deviation
   Distance between estimated planes Ti , i  1, , N
and the approximation D *
1
d ( D, D*) 
2

N
i
dist 2 (Ti , E (ti ))
   Distance between measurements pi and the
approximation D *
1
d ( D, D*) 
2

N
i
dist 2 ( pi , E (ti ))
Nearly Developable

Nearly developable surface   Projection of the original Blaschke image
Nearly Developable
Approximation

developable approximation Thinned Blaschke image with approximating curve
Singular Points
   Singular points s (t )  E (t )                          E (t )      E (t )
1
n  c  c  c = (n1 , n2 , n3 , n4 )  s (t )          (n1 (t ), n2 (t ), n3 (t ))
n4 (t )

   Data Points pi satisfy pi  1
   Singular points have to satisfy s(t )  1
Singular curve s (t ) is in the outer region
of the bounding box.
Conclusions