Martin Peternell, Geometric Modeling and Industrial ...Analysis of the Blaschke image 2 Let H i be...
Transcript of Martin Peternell, Geometric Modeling and Industrial ...Analysis of the Blaschke image 2 Let H i be...
Reconstruction of Developable Surfaces
Martin Peternell,
Geometric Modeling and Industrial Geometry Group,
TU Wien,
GMP 2004, Beijing, China 1
Overview
1. The Problem
2. Geometric Properties of Developable Surfaces
3. The Basic Concept
4. The Algorithm
5. Examples
GMP 2004, Beijing, China 2
ProblemGiven: Triangulated datapoints from a developablesurface
Object: Construct a devel-opable surface which fits bestto the given data
GMP 2004, Beijing, China 3
Literature
Hoschek, Schneider, Pottmann, Bodduluri, Ravani, Leopoldseder,Wallner, Redont, Farin, Aumann, Clements, Leon, ...
GMP 2004, Beijing, China 4
Geometric Properties of Developable Surfaces
There are three types of developables:
Cylinder Cone Surface formed by
tangent lines of space curves
• The Gauss curvature of a developable surfaces is zero.
• A developable surface S is envelope of its one-parameter familyof tangent planes
T (t) : d(t) + a(t)x + b(t)y + c(t)z = 0.
• Dual approach: T (t) is a curve in dual projective 3-space.
GMP 2004, Beijing, China 5
The Basic Concept
• The surface S is given by a data pointspi (measurements).
• Estimate tangent planes Ti at points pi.
• The estimated tangent planes Ti will lieclose to the true tangent planes T (t) ofthe surface S.
Idea: We compute a 1-parameter family of planes T (t) best fittingthe estimated tangent planes Ti.
GMP 2004, Beijing, China 6
Tangent planes of a Developable
• Tangent planes T (t) : d(t) + a(t)x + b(t)y + c(t)z = 0 of adevelopable surface S.
• Normalizationa2 + b2 + c2 = 1
of the normal vectors n(t) = (a(t), b(t), c(t)) of S and T (t).• The image curve
C(t) = (a, b, c, d)(t) ∈ R4
is a curve on the
• Blaschke-Cylinder
B : x21 + x2
2 + x23 = 1 ⊂ R4.
• The normal vectors n(t) of S form acurve on the unit sphere S2.
GMP 2004, Beijing, China 7
The Algorithm
• Compute estimates of the tangent planes
Ti : di + aix + biy + ciz = 0
at the data points pi. The points Ci = (ai, bi, ci, di) ∈ B ⊂ R4
should be arranged in a tubular region.
• Find a curve C(t) ⊂ B fitting best the tubular region definedby Ci.
• Determine the one-parameter family of tangent planes T (t)determined by C(t).
• Compute a point-representation of the correspondingdevelopable approximation S∗ of the data points.
• Avoid occurring singularities in the point representation.
GMP 2004, Beijing, China 8
Estimating tangent planes
There are different methods:
• Compute a plane of regression w.r.t. adja-cent points of each data point.
• Compute a linear function z = ax + by + c
w.r.t. adjacent points in the l2-sense (or inthe l1-sense).
• Compute a quadratic function w.r.t. adja-cent points and find the tangent plane atthe considered data point.
• . . .
GMP 2004, Beijing, China 9
Curve Fitting on the Blaschke-Cylinder
• Given: Estimated tangent planes
Ti : di + aix + biy + ciz = 0,
with a2i + b2
i + c2i = 1
and corresponding points Ci = (ai, bi, ci, di)on B (Blaschke cylinder).
• Object: Curve C(t) approximating the setof points Ci.
C(t) =∑
i
Bi(t)bi
GMP 2004, Beijing, China 10
Curve Fitting on the Blaschke-Cylinder 2
• Parametrization problem: How to estimate parameter values ofthe given points Ci?
• Data access on the Blasche cylinder?
• How to handle outliers?
GMP 2004, Beijing, China 11
Cell Structure on the Blaschke-Cylinder
• Tesselation of S2 by subdividing an ikosahedral net.
• Cell structure on the Blaschke-Cylinder B.
1. 20 triangles, 12 vertices, 2 intervals
2. 80 triangles, 42 vertices, 4 intervals
3. 320 triangles, 162 vertices, 8 intervals
4. 1280 triangles, 642 vertices, 16 intervals
5. 5120 triangles, 2562 vert., 32 intervals
GMP 2004, Beijing, China 12
Parametrizing a tubular region
• Determine relevant cells of B carryingpoints Ci = (ai, bi, ci, di).
• Thinning of the tubular region: Find cellscarrying only few points and delete thesecells and points.
• Estimate parameter values for a reducedset of points Ck (by moving least squares:marching through the tube).
• Compute an approximating curve C(t) onB w.r.t. points Ck.
GMP 2004, Beijing, China 13
Parametrizing a tubular region 2
Spherical image n = (a, b, c)(t) Support function (fourth coord. d(t))
GMP 2004, Beijing, China 14
Point Representation of the Approximation
• Approximating curve C(t) = (a, b, c, d)(t) on B determines theplanes
E(t) : d(t) + a(t)x + b(t)y + c(t)z = 0,
which envelope the approximation S∗.
• Generating lines L(t) of S∗ are
L(t) = E(t) ∩ E(t), with E(t) =d
dtE(t).
• Compute planar boundary curveski(t) in planes Hi (bounding box):
ki(t) = E(t) ∩ E(t) ∩Hi.
• Point representation of S∗:
x(t, u) = (1− u)k1(t) + uk2(t).
GMP 2004, Beijing, China 15
Example
Left: Triangulated data points of a developable. Middle & Right:Spherical image.
GMP 2004, Beijing, China 16
Example, cont.
Spherical image n = (a, b, c)(t)and support function d(t) of theapproximation S∗.
Approximating developable S∗
and data points.
GMP 2004, Beijing, China 17
Singular Points of a Developable
• Singular points
s(t) = E(t) ∩ E(t) ∩ E(t).
are corresponding to osculating planes
σ : c(t) + λc(t) + µc(t)
of the Blaschke image C = c(t).
• Let N = c ∨ c ∨ c = (n1, . . . , n4). ⇒ s(t) = 1n4
(n1, n2, n3).
• Data points pi satisfy ‖pi‖ < 1 (or |pi1|, |pi2|, |pi3| < 1)
• Singular curve s(t) has to satisfy
‖s(t)‖ > 1, ( or |s1|, |s2|, |s3| > 1).
Singular curve s is in the outer region of the bounding box.
GMP 2004, Beijing, China 18
Singular Points of a Developable
• The condition ‖s‖ > 1 is (highly) non-linear in thecontrol-points.
• C is a biarc, interpolating Hermiteelements Pj , Vj and Pj+1Vj+1. ⇒‖s‖ > 1 is a quadratic inequality inthe free parameter of the 1-par. so-lution.
• Pottmann and Wallner: Considerspecial parametrizations of devel-opable surfaces which make a con-trol of the singular curve easier.
GMP 2004, Beijing, China 19
Blaschke Images of Special Shapes
Commonly used geometric objects, like cones, cylinders and spherescan be characterized by their images of the estimated tangentplanes on the Blaschke cylinder B:
Objects in R3 Images in the Blaschke-Cylinder
as set of tangent planes as point sets
cones and cylinders of revolution planar intersections (conics on B)
general cones and cylinders curves on B lying in a 3-space
developables of constant slope
spheres surfaces on B lying in a 3-space
(ellipsoids)
GMP 2004, Beijing, China 20
Analysis of the Blaschke image
• Let Ti be reliable estimated tangent planes of a region R on theobject S.
• Let Rb be the Blaschke image ⊂ B of the considered region.
• Compute the ellipsoid of inertia (PCA) of Rb.(axes-hyperplanes and corresponding eigenvalues)
• Analyze the eigenvalues and eigenvectors
GMP 2004, Beijing, China 21
Analysis of the Blaschke image 2
Let Hi be the 3-spaces with respect to eigenvalues λi,
Hi : hi0 + hi1x1 + hi2x2 + hi3x3 + hi4x4 = 0.
• Four small eigenvalues: The Blaschke image is a point-likecluster. All estimated tangent planes are nearly identical.
⇒ The original surface R is planar.
• Two small eigenvalues: The Blaschke image is a planar curve(conic).
⇒ The original surface R is a cone or cylinder of rotation.
– |h10 − h20| > ε: R is a cone of rotation.
– |h10 − h20| ≤ ε: R is a cylinder of rotation.
GMP 2004, Beijing, China 22
Analysis of the Blaschke image 3
• One small eigenvalue and curve-like Blaschke-image:
⇒ The original surface R is developable.
– |h10| < ε: R is a general cone.
– |h10| < ε and |h14| < ε : R is a general cylinder. All planesare orthogonal to a fixed direction v.
– |h14| < ε : R is a developable of constant slope. All planesform a constant angle with a fixed direction v.
• One small eigenvalue and surface-like Blaschke-image:
⇒ The original surface R is a sphere.
GMP 2004, Beijing, China 23
Analysis of the Blaschke image–Sphere
Let Hi be the 3-spaces with respect to eigenvalues λi,
Hi : hi0 + hi1x1 + hi2x2 + hi3x3 + hi4x4 = 0, h14 � ε.
• S is a sphere (λ1 < ε): Its center and radiusare determined by
m =1
h14(h11, h12, h13) , r =
−h10
h14
Region 1 contains 4166 data points.
Eigenvalues 0.00004 0.18598 0.36039 0.36837
Eigenvector -0.0024 0.0116 -0.3500 0.9367
-0.2972 0.9547 -0.0041 -0.0141
0.0015 -0.0087 -0.9368 -0.3499
0.9548 0.2972 -0.0006 -0.0015
GMP 2004, Beijing, China 24
Cylinder and Cone of Rotation
Let Hi be the 3-spaces with respect to eigenvalues λi,
Hi : hi0 + hi1x1 + hi2x2 + hi3x3 + hi4x4 = 0, h14, h24 � ε.
If h14 < ε, then (hi1, hi2, hi3) = a is the axis of R.
• λ1, λ2 < ε ⇒ centers and radii of two spheres
m1 = 1h14
(h11, h12, h13) , r1 = −h10h14
m2 = 1h24
(h21, h22, h23) , r2 = −h20h24
, with
• |r1 − r2| < ε: R is a cylinder of rot. with axis and radius
a = m2 −m1, r = mean(r1, r2).
• |r1 − r2| � ε: R is a cone of rot. with vertex, axis and angle
v =1
r2 − r1(r2m1− r1m2), a = m2−m1, sinφ =
r2 − r1
‖m2 −m1‖.
GMP 2004, Beijing, China 25
Example: Cylinder of rotation
Region 1 contains 3553 data points.
Eigenvalues 0.00013 0.00024 0.48129 0.51860
Eigenvector 0.0245 0.0017 -0.9958 0.0881
0.1074 -0.9942 0.0014 0.0050
-0.0239 0.0026 0.0875 0.9959
0.9936 0.1075 0.0265 0.0212
GMP 2004, Beijing, China 26
Developable of Constant Slope
Let Hi be the 3-spaces with respect to eigenvalues λi,
Hi : hi0 + hi1x1 + hi2x2 + hi3x3 + hi4x4 = 0.
• λ1 < ε and curve-like Blaschke-image:
⇒ The original surface R is developable.
– |h14| < ε : R is a developable of constant slope. All planesform a constant angle with a fixed direction v.
Eigenvalues 0.0000 0.0028 0.1473 0.3175
Eigenvector 0.0013 0.9815 0.1849 0.0498
0.0006 0.1407 -0.8727 0.4675
1.0000 -0.0014 0.0004 -0.0002
-0.0002 -0.1299 0.4518 0.8826
GMP 2004, Beijing, China 27
Segmentation of Geometric Objects
• Estimate tangent planes Ti with respect to given triangulateddata points pi of the object S.
• Edge detection to perform a pre-segmentation of the object.
• Compute connected components of the object (w.r.ttriangulation).
• Compute Blaschke images T bi of the estimated tangent planes
Ti.
• Segmentation and analysis of the Blaschke image Sb.
GMP 2004, Beijing, China 28
Example: Simple composed object
Region 1 contains 1933 data points.
Eigenvalues: 0.00000 0.28204 0.37189 0.47503
Eigenvector 0.5705 -0.0035 0.0927 -0.8161
-0.2269 0.6355 0.7339 -0.0779
0.1618 -0.6957 0.6729 0.1926
0.7726 0.3349 0.0061 0.5393
Region 2 contains 1933 data points.
Eigenvalues: 0.00000 0.27870 0.36828 0.42823
Eigenvector: -0.4899 0.1305 0.1641 0.8462
-0.2408 0.5691 -0.7826 -0.0754
0.1718 -0.7100 -0.6005 0.3254
0.8201 0.3938 -0.0060 0.4152
Region 3 contains 811 data points.
Eigenvalues: 0.00000 0.00000 0.00001 0.00001
Eigenvector: .0052 -0.2686 0.9624 0.0410
0.0003 0.2839 0.1198 -0.9513
0.9992 -0.0361 -0.0149 -0.0124
0.0406 0.9198 0.2435 0.3051
GMP 2004, Beijing, China 29
Example: Simple composed object 2
Region 4 contains 822 data points.
Eigenvalues: 0.00000 0.00000 0.06475 0.46085
Eigenvector 0.1916 0.1297 -0.1339 0.9636
-0.5603 0.8283 0.0001 -0.0000
0.3355 0.2269 0.9138 0.0297
-0.7326 -0.4956 0.3834 0.2657
Region 5 contains 333 data points.
Eigenvalues: 0.00000 0.00000 0.00002 0.00006
Eigenvector: 0.0394 0.4624 0.5194 0.7175
0.9980 -0.0234 -0.0592 0.0032
0.0497 0.2202 0.7146 -0.6621
0.0067 -0.8586 0.4647 0.2166
Region 6 contains 153 data points.
Eigenvalues: 0.00000 0.00000 0.00001 0.00036
Eigenvector: -0.0473 0.5308 0.8455 -0.0327
0.0367 0.2322 -0.1807 -0.9550
0.9807 0.1684 -0.0475 0.0876
-0.1863 0.7975 -0.5002 0.2813
. . .
GMP 2004, Beijing, China 30
Future research
• Continuous transformations of developable surfaces.
• Treatment of nearly developable surfaces.
• Segmentation using both points pi and tangent planes Ti.
GMP 2004, Beijing, China 31
Thank You for Your attention!
GMP 2004, Beijing, China 32