45
Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Embed Size (px)

Citation preview

Page 1: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Shape Modeling withPoint-Sampled Geometry

Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross(ETH Zurich and RWTH Aachen)

Page 2: Shape Modeling with Point-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

Page 3: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

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

Page 4: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Hybrid surface

• Unstructured points

• Implicit surface– Signed distance– Normal defined

• Boolean operations– Preserve shard edges

Page 5: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Freeform modeling

• Global deformation– Preserve the sampling density

• Tools:– Push, pull, twist and etc.

• Topology control

Page 6: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

A component in a modeling system

• Takes scanner inputs

• Rendering techniques– QSplat [Zwicker 01]– [Rusinkiwicz 00]– [Botsch 02]

• Fast with free LOD

Page 7: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

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

Page 8: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Hybrid surface model

• Input points with attributes

• Moving least squares (MLS)

Page 9: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

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

Page 10: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

MLS kernel function

• Small h cause Gaussian decay faster

• Small h means approximation more local

• MLS act as an low pass filter

Page 11: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Adaptive MLS

• If the sampling of points is adaptive

• k ranges [6:20]

Page 12: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Boolean operations

• CSG in a binary tree.

• Computing the boolean operation

1. Find

2. New set of intersection curves

3. Crisp curves

Page 13: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Inside outside classification

Page 14: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

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

Page 15: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Classification table

• Points in Q1 is picked from P1 only if– p is outside of surface defined by P2– Similarly for Q2

Page 16: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

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

Page 17: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Intersection curves diagram

Page 18: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Adaptive refinement

• Match sample density

• Use a simple subdivision

• New p for the Newton iteration

Page 19: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Rendering sharp creases

• Surface splatting [Zwicker 01]

• Surfel: elliptical splat– Intersection curve points– Clip against two normals

Page 20: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Sharp creases results

Page 21: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Freeform deformation

• Bending, twisting, stretching, compressing

• Interactive speed

• Intuitive control

• Global operation

Page 22: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

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))

Page 23: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Applying translation and rotation

• Demo

Page 24: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Blending function

Page 25: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Rotation and twisting results

Page 26: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Topology control

• Self intersections

• Collision detection– Nearest point for each point in Xd– Within the sphere: collision free

Page 27: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Collision handling

1. Undo (disallow self intersections)

2. Union (sharp edges)

3. Blending– Inter particle potential [Szeliski 92]– Define a local neighborhood

Page 28: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Topology results

Page 29: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Dynamic sampling

• Cause: Distortion and insufficient sampling

• Goal: insert and remove points

• Feature: Interpolate attributes– Color– Texture value

Page 30: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

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

Page 31: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Dynamic sampling results

Page 32: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Filter operations

• Problem: what to do with the new points

• Relaxation [Turk 92]

• Confined radius of influence

• Projection back to the tangent plane

Page 33: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Interpolation (with Zombies)

• Scalar values

• Drifting happens when split happens

• Zombies are fixed– Only used for the attributes– Delete after each edit operation

Page 34: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Interpolation results

Page 35: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Downsampling

• Special case:– Shrink then grow– Lost values cause blur

• Preserve old value

• Garbage collection

Page 36: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

Results and discussion

• Pointshop3D

• Multiresolution surface modeling– Detail vectors [Zorin 97]– Spectral decomposition [Guskov 99]

Page 37: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)
Page 38: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

69,706 295,220

Page 39: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

69,268 222,955

Page 40: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

25,020 non-uniform

Page 41: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

100,269

Page 42: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

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

Page 43: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

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

Page 44: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

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]

Page 45: Shape Modeling with Point-Sampled Geometry Mark Pauly, Richard Keiser, Leif P. Kobbelt, Markus Gross (ETH Zurich and RWTH Aachen)

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