Title: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)
1Shape Modeling withPoint-Sampled GeometryMark
Pauly, Richard Keiser, Leif P. Kobbelt, Markus
Gross(ETH Zurich and RWTH Aachen)
2Abstract
- Modeling framework with point-sampled geometry
- Hybrid representation
- Point clouds
- Implicit surface with MLS
- General operations on models
- Booleans operations
- Deformations
3Surface representations
Introduction
- 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
4Hybrid surface
- Unstructured points
- Implicit surface
- Signed distance
- Normal defined
- Boolean operations
- Preserve shard edges
5Freeform modeling
- Global deformation
- Preserve the sampling density
- Tools
- Push, pull, twist and etc.
- Topology control
6A component in a modeling system
- Takes scanner inputs
- Rendering techniques
- QSplat Zwicker 01
- Rusinkiwicz 00
- Botsch 02
- Fast with free LOD
7Related 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
8Hybrid surface model
- Input points with attributes
- Moving least squares (MLS)
9Moving least squares
4. proj(r)qg(0,0)n
- Local reference domain
- Minimize to find H
- Minimize to find g
10MLS kernel function
- Small h cause Gaussian decay faster
- Small h means approximation more local
- MLS act as an low pass filter
11Adaptive MLS
- If the sampling of points is adaptive
- k ranges 620
12Boolean operations
- CSG in a binary tree.
- Computing the boolean operation
- Find
- New set of intersection curves
- Crisp curves
13Inside outside classification
14Optimization
- 90 can be approximated
- Else use MLS projection to find y
- Local coherence
- If x is within the sphere center at x, radius is
15Classification table
- Points in Q1 is picked from P1 only if
- p is outside of surface defined by P2
- Similarly for Q2
16Intersection curves
- A set of points for intersection curves
- Find points near the intersection using the
distance function - Closest point pairs (q1 in Q1, q2 in Q2)
- r in the intersection of the tangent planes
- Project r to new q1 and q2
- Repeat step 3 to 5 for 3 iterations
17Intersection curves diagram
18Adaptive refinement
- Match sample density
- Use a simple subdivision
- New p for the Newton iteration
19Rendering sharp creases
- Surface splatting Zwicker 01
- Surfel elliptical splat
- Intersection curve points
- Clip against two normals
20Sharp creases results
21Freeform deformation
- Bending, twisting, stretching, compressing
- Interactive speed
- Intuitive control
- Global operation
22Deformable regions
- Region zero not selected
- Region one handle
d00, d1x, tb(0/(0x))0
d0dist(p and x0)x, d10, tb(x/(x0))1
d0dist(p and x0)x, d1min(p and x1)y,
tb(x/(xy))
23Applying translation and rotation
24Blending function
25Rotation and twisting results
26Topology control
- Self intersections
- Collision detection
- Nearest point for each point in Xd
- Within the sphere collision free
27Collision handling
- Undo (disallow self intersections)
- Union (sharp edges)
- Blending
- Inter particle potential Szeliski 92
- Define a local neighborhood
28Topology results
29Dynamic sampling
- Cause Distortion and insufficient sampling
- Goal insert and remove points
- Feature Interpolate attributes
- Color
- Texture value
30Measuring 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
31Dynamic sampling results
32Filter operations
- Problem what to do with the new points
- Relaxation Turk 92
- Confined radius of influence
- Projection back to the tangent plane
33Interpolation (with Zombies)
- Scalar values
- Drifting happens when split happens
- Zombies are fixed
- Only used for the attributes
- Delete after each edit operation
34Interpolation results
35Downsampling
- Special case
- Shrink then grow
- Lost values cause blur
- Preserve old value
- Garbage collection
36Results and discussion
- Pointshop3D
- Multiresolution surface modeling
- Detail vectors Zorin 97
- Spectral decomposition Guskov 99
37(No Transcript)
3869,706 295,220
3969,268 222,955
4025,020 non-uniform
41100,269
42Implementation
- 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
43Dynamic 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
44Performance
- 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
45Conclusion 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