Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck University of Darmstadt* *now at ICEM Systems Hugues Hoppe Microsoft Research SIGGRAPH 96 S Surface reconstruction points P surface S surface reconstruction Reverse engineering Traditional design (wood,clay) Virtual environments Previous work surface topological type arbitrary simple [Schumaker93], … [Hoppe-etal92], [Turk-Levoy94], ... implicit [Sclaroff-Pentland91], ... [Moore-Warren91], [Bajaj-etal95] subdivision - [Hoppe-etal94] B-spline [Schmitt-etal86], [Forsey-Bartels95],... [Krishnamurthy-96], [Milroy-etal95], ... [Milroy-etal95],... smooth meshes Problem statement reconstruction procedure points P B-spline surface S automatic procedure surface of arbitrary topological type S smooth G1 continuity error tolerance e Main difficulties S: arbitrary topological type require network N of B-spline patches 3 Difficulties: N single B-spline patch 1) Obtaining N 2) Parametrizing P over N 3) Fitting with G1 continuity Comparison with previous talk KrishnamurthyLevoy EckHoppe patch network N curve painting automatic partitioning parametrized P hierarchical remeshing harmonic maps continuity stitching step G1 construction Overview of our procedure 5 steps: 1) Initial parametrization of P over mesh M0 2) Reparam. over triangular complex KD 3) Reparam. over quadrilateral complex K 4) B-spline fitting 5) Adaptive refinement (1) Find an initial parametrization a) construct initial surface: dense mesh M0 b) parametrize P over M0 Using: [Hoppe-etal92] P [Hoppe-etal93] M0 (2) Reparametrize over domain KD Use parametrization scheme of [Eck-etal95]: a) partition M0 into triangular regions b) parametrize each region using a harmonic map M0 partitioned M0 base mesh KD Harmonic map [Eck-etal95] triangular region planar triangle map minimizing metric distortion Reparametrize points M0 KD using harmonic maps (3) Reparametrize over K Merge faces of KD pairwise cast as graph optimization problem KD K Graph optimization harmonic map two D regions planar square For each pair of adjacent D regions, let edge cost = harmonic map “distortion” Solve MAX-MIN MATCHING graph problem K reparametrize P using harmonic maps (4) B-spline fitting Use surface spline scheme of [Peters94]: G1 surface tensor product B-spline patches low degree Other similar schemes [Loop94], [Peters96], … Fitting using Overview of [Peters94] scheme 2 Doo-Sabin subdiv. K M c affine affine construction Mx df B-spline bases S optimization (Details: linear constraints, reprojection, fairing, …) (5) Adaptively refine the surface Goal: make P and S differ by no more than e Strategy: adaptively refine K 4 face refinement templates K K# S# e: 1.02% 0.74% Reconstruction results S P 20,000 points 29 patches e= 1.20% rms = 0.20% Reconstruction results 29 patches e= 1.20% rms = 0.20% 156 patches e= 0.27% rms = 0.03% Approximation results S0 P 70,000 triangles S# 30,000 points 153 patches e= 1.44% rms = 0.19% Analysis KrishnamurthyLevoy patch network N parametrized P curve painting EckHoppe automatic partitioning hierarchical remeshing harmonic maps continuity stitching step G1 construction refinement displac. map no yes yes no Future work Semi-automated layout of patch network Allowing creases and corners in B-spline construction Error bounds on surface approximation have: d(P,S)<e want: d(S0,S)<e