Upload
jasper-bridges
View
221
Download
4
Tags:
Embed Size (px)
Citation preview
Shape Modeling withPoint-Sampled Geometry
Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross(ETH Zurich and RWTH Aachen)
Abstract
• Modeling framework with point-sampled geometry
• Hybrid representation– Point clouds– Implicit surface with MLS
• General operations on models– Booleans operations– Deformations
Surface representations
• Implicit surfaces: level sets, RBF+ Topology defined– Non-intuitive to control– Rendering is slow
• Parametric surfaces: splines, subdivision surfaces, triangle meshes+ Simplicity– Extreme deformation– Connectivity information
Introduction
Hybrid surface
• Unstructured points
• Implicit surface– Signed distance– Normal defined
• Boolean operations– Preserve shard edges
Freeform modeling
• Global deformation– Preserve the sampling density
• Tools:– Push, pull, twist and etc.
• Topology control
A component in a modeling system
• Takes scanner inputs
• Rendering techniques– QSplat [Zwicker 01]– [Rusinkiwicz 00]– [Botsch 02]
• Fast with free LOD
Related work
• Points primitive– Szeliski and Tonnesen 92
• Oriented particles
• Physical simulation
– Witkin and Heckbert 94• Blend operation
• Limited deformations
• Freeform modeling– Chang and Rackwood 94
• Wires system
• Dynamically sampling– Welch and Witkin 94
• Trangle mesh
• Vertex split and edge collapse
– Kobbelt 00• Multiresolution
• Dynamic mesh connectivity
Hybrid surface model
• Input points with attributes
• Moving least squares (MLS)
Moving least squares
1. Local reference domain
2. Minimize to find H
3. Minimize to find g
4. proj(r)=q+g(0,0)n
MLS kernel function
• Small h cause Gaussian decay faster
• Small h means approximation more local
• MLS act as an low pass filter
Adaptive MLS
• If the sampling of points is adaptive
• k ranges [6:20]
Boolean operations
• CSG in a binary tree.
• Computing the boolean operation
1. Find
2. New set of intersection curves
3. Crisp curves
Inside outside classification
Optimization
• 90% can be approximated
• Else use MLS projection to find y
• Local coherence
– If x’ is within the sphere center at x, radius is
Classification table
• Points in Q1 is picked from P1 only if– p is outside of surface defined by P2– Similarly for Q2
Intersection curves
• A set of points for intersection curves
1. Find points near the intersection using the distance function
2. Closest point pairs (q1 in Q1, q2 in Q2)
3. r: in the intersection of the tangent planes
4. Project r to new q1 and q2
5. Repeat step 3 to 5 for 3 iterations
Intersection curves diagram
Adaptive refinement
• Match sample density
• Use a simple subdivision
• New p for the Newton iteration
Rendering sharp creases
• Surface splatting [Zwicker 01]
• Surfel: elliptical splat– Intersection curve points– Clip against two normals
Sharp creases results
Freeform deformation
• Bending, twisting, stretching, compressing
• Interactive speed
• Intuitive control
• Global operation
Deformable regions
• Region zero: not selected
• Region one: handle
d0=0, d1=x, t=b(0/(0+x))=0
d0=dist(p and x0)=x, d1=0, t=b(x/(x+0))=1
d0=dist(p and x0)=x, d1=min(p and x1)=y, t=b(x/(x+y))
Applying translation and rotation
• Demo
Blending function
Rotation and twisting results
Topology control
• Self intersections
• Collision detection– Nearest point for each point in Xd– Within the sphere: collision free
Collision handling
1. Undo (disallow self intersections)
2. Union (sharp edges)
3. Blending– Inter particle potential [Szeliski 92]– Define a local neighborhood
Topology results
Dynamic sampling
• Cause: Distortion and insufficient sampling
• Goal: insert and remove points
• Feature: Interpolate attributes– Color– Texture value
Measuring surface stretch
• u and v are on the tangent plane– Orthogonal– Unit length
• Local anisotropy– Ratio of the two eigenvalues
• Split a point into two
Dynamic sampling results
Filter operations
• Problem: what to do with the new points
• Relaxation [Turk 92]
• Confined radius of influence
• Projection back to the tangent plane
Interpolation (with Zombies)
• Scalar values
• Drifting happens when split happens
• Zombies are fixed– Only used for the attributes– Delete after each edit operation
Interpolation results
Downsampling
• Special case:– Shrink then grow– Lost values cause blur
• Preserve old value
• Garbage collection
Results and discussion
• Pointshop3D
• Multiresolution surface modeling– Detail vectors [Zorin 97]– Spectral decomposition [Guskov 99]
69,706 295,220
69,268 222,955
25,020 non-uniform
100,269
Implementation
• Closest points query:– Kd-tree– Building 300,000 points in 0.23 s– Querying 10 points in 4.5e-6 and 6.2e-6 s
Dynamic updates
• Boolean classification– Two static structure
• Free-form deformation– No update until an edit session is done
• Collision detection– Only for deformable region with the zero region– Cannot handle collision of deformable regions
• Dynamically sampling– [Linsen 02]– Dynamic update at insertions and relaxation
Performance
• No connectivity to update
• Handling one million points
• Pointshop3D software rendering– 50% of the total computation is rendering
• Software renderer [Botsch 02]
• Hardware renders [Rusinkiewicz 00]
Conclusion and future work
• A solid framework for modeling
• Provides basic operations
• Extends to traditional surface modeling techniques
• Efficiency and performance
• Future work:– Hairy or furry models, plants– Dynamic simulation