VIEWS: 2 PAGES: 57 POSTED ON: 3/8/2012 Public Domain
Developable Surface Fitting to Point Clouds Martin Peternell Computer Aided Geometric Design 21(2004) 785-803 Reporter: Xingwang Zhang June 19, 2005 About Martin Peternell 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 n1 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 radius r 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 Advantages Avoiding estimation of parameter values Avoiding estimation of direction of generators Guaranteeing approximation is developable Improving avoidance of singular points etc. Q&A Questions? Thanks all! Especial thanks to Dr Liu’s help