430 likes | 887 Views
Multiresolution Analysis for Surfaces of Arbitrary Topological Type. Michael Lounsbery Alias | wavefront Tony DeRose Pixar Joe Warren Rice University. Overview. Applications Wavelets background Construction of wavelets on subdivision surfaces Approximation techniques
E N D
Multiresolution Analysis for Surfaces of Arbitrary Topological Type • Michael Lounsbery • Alias | wavefront • Tony DeRose • Pixar • Joe Warren • Rice University
Overview • Applications • Wavelets background • Construction of wavelets on subdivision surfaces • Approximation techniques • Hierarchical editing
Subdivision surfaces • Each subdivision step: • Split • Average • What happens if we run it backwards?
Wavelet applications • Surface compression • Level of detail for animation • Multiresolution editing of 3D surfaces
Simple wavelet example Scalingfunctions: scales & translates Wavelet functions: scales & translates
Simple wavelet example Scalingfunctions: scales & translates Wavelet functions: scales & translates
Nested linear spaces • Define linear spaces spanned by • Hierarchy of nested spaces for scaling functions
Orthogonality • Wavelets are defined to be orthogonal to the scaling functions
Wavelet properties • Close approximation • Least-squares property from orthogonality • Can rebuild exactly • Large coefficients match areas with more information • Efficient • Linear time decomposition and reconstruction
Wavelet approximation example Figure courtesy of Peter Schröder & Wim Sweldens
Wavelet applications • Data compression • Functions • 1-dimensional • Tensor-product • Images • Progressive transmission • Order coefficients from greatest to least (Certain et al. 1996)
Constructing wavelets • 1. Choose a scaling function • 2. Find an inner product • 3. Solve for wavelets
Extending wavelets to surfaces: Why is it difficult? • Translation and scaling doesn’t work • Example: can’t cleanly map a grid onto a sphere • Need a more general formulation • Nested spaces <-> refinable scaling functions • Inner product
Refinability • A coarse-level scaling function may be defined in terms of finer-level scaling functions
Surfaces of Arbitrary Topological Type • Explicit patching methods • Smooth • Integrable • No refinability • Subdivision surfaces
Computing inner products • Needed for constructing wavelets orthogonal to scaling functions • For scaling functions and • Numerically compute?
Computing inner products • is matrix of inner products at level • Observations • Recurrence relation between matrices • Finite number of distinct entries in matrices • Result: solve finite-sized linear system for inner product
Constructing wavelets Our wavelet:
Surface approximation • 1. Select subset of wavelet coefficients • 2. Add them back to the base mesh • Selection strategies • All coefficients >e • guarantee
Approximating surface data • Scalar-based data is stored at vertices • Treat different fields separately • Storage • Decomposition • “Size” of wavelet coefficient is weighted blend • Examples • 3D data: surface geometry • Color data: Planetary maps
Original: 32K triangles Reduced: 10K triangles Reduced: 4K triangles Reduced: 240 triangles
Color data on the sphere Original at 100% Reduced to 16% Plain image Image with mesh lines
Smooth transitions • Avoids jumps in shape • Smoothly blend wavelet additions • Linear interpolation
Remeshing • We assume simple base mesh • Difficult to derive from arbitrary input • Eck et al. (1995) addresses
Hierarchical editing • Can edit at different levels of detail • (Forsey & Bartels 1988, Finkelstein et al. 1994) Original shape Wide-scale edit Finer-scale edit
Summary • Wavelets over subdivision surfaces • Refinable scaling functions • Exact inner products are possible • Locally supported wavelets • Efficient • Many potential applications