cs 523: computer graphics, spring 2011 shape modeling
TRANSCRIPT
![Page 1: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/1.jpg)
CS 523: Computer Graphics, Spring 2011
Shape Modeling
Sketch-based Interfaces and
Algorithms for shape creation
and editing
3/29/2011Andrew Nealen, Rutgers, 2011 1
![Page 2: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/2.jpg)
Overview
� Teddy
[Igarashi et al. 1999]
� Sketch based mesh
editing [Nealen et al 2005]
� FiberMesh
[Nealen et al. 2007]
� SilSketch
[Zimmermann et al. 2008]
Andrew Nealen, Rutgers, 2011 3/29/2011 2
![Page 3: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/3.jpg)
Primary Goal
� Find a possible solution to the
human “video out” problem
Machine Human
Video in
Video out ?
3/29/2011 3Andrew Nealen, Rutgers, 2011
![Page 4: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/4.jpg)
The Main Question
� How can we convey a mental model of shape
to a digital computer ?
Machine Human
Video in
Video out ?
3/29/2011 4Andrew Nealen, Rutgers, 2011
![Page 5: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/5.jpg)
MotivationModel Creation
� Digital 3D model creation from scratch is hard
� Common workflow(s)� Create clay model
+ scan� Laser scanner
� Position tracking
� Create coarse 3D model + refine� Subdivision surfaces
� Parametric patches
� Detail maps
3/29/2011 5Andrew Nealen, Rutgers, 2011
![Page 6: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/6.jpg)
Problem
� How to construct 3D surface from 2D sketch?
� Infer the missing depth information
� Construct a discrete surface
� What rule(s) to use?
Andrew Nealen, Rutgers, 2011 3/29/2011 6
![Page 7: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/7.jpg)
Background
� Study on Human perception of 3D shape from
2D drawings [Hoffman 2004]
Andrew Nealen, Rutgers, 2011 3/29/2011 7
![Page 8: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/8.jpg)
Specific Algorithms
� Level-set method [Williams 91]
� Heuristic mesh construction [Igarashi 99]
� Volumetric construction [Owada 03]
� Convolution surface [Alexe 05]
� Blob tree (Implicit surface) [Schmidt 05]
� Mass-spring system [Karpenko 06]
� Optimization [Nealen 07]
Andrew Nealen, Rutgers, 2011 3/29/2011 8
![Page 9: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/9.jpg)
Level-set Method[Williams 91]
� Compute implicit representation of the
contour
Andrew Nealen, Rutgers, 2011 3/29/2011 9
![Page 10: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/10.jpg)
Teddy
Andrew Nealen, Rutgers, 2011 3/29/2011 10
![Page 11: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/11.jpg)
Heuristic Mesh ConstructionTeddy
3/29/2011 11Andrew Nealen, Rutgers, 2011
![Page 12: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/12.jpg)
1. Find axes 2. Elevate axes
3. Wrap polygon and axes
Heuristic Mesh ConstructionTeddy
3/29/2011 12Andrew Nealen, Rutgers, 2011
![Page 13: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/13.jpg)
Input 2D polygon
Heuristic Mesh ConstructionTeddy
3/29/2011 13Andrew Nealen, Rutgers, 2011
![Page 14: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/14.jpg)
Constrained Delaunay Triangulation
Heuristic Mesh ConstructionTeddy
3/29/2011 14Andrew Nealen, Rutgers, 2011
![Page 15: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/15.jpg)
Discrete chordal axis [Prasad 97]
Heuristic Mesh ConstructionTeddy
3/29/2011 15Andrew Nealen, Rutgers, 2011
![Page 16: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/16.jpg)
Before trimming After trimming
Heuristic Mesh ConstructionTeddy
3/29/2011 16Andrew Nealen, Rutgers, 2011
![Page 17: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/17.jpg)
Lift the axes, put quarter ovals on the
internal edges, and generate mesh.
Heuristic Mesh ConstructionTeddy
3/29/2011 17Andrew Nealen, Rutgers, 2011
![Page 18: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/18.jpg)
Teddy
� Results
� Fast and first of its kind
� Meshes are of low quality
Andrew Nealen, Rutgers, 2011 3/29/2011 18
![Page 19: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/19.jpg)
Sketch-based mesh editing
Andrew Nealen, Rutgers, 2011 3/29/2011 19
![Page 20: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/20.jpg)
MotivationModel Modification
� Digital 3D model modification is nontrivial
� Multiresolution mesh editing /w subdivision
3/29/2011 20Andrew Nealen, Rutgers, 2011
![Page 21: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/21.jpg)
MotivationModel Modification
� Digital 3D model modification is nontrivial
� Laplacian / Poisson mesh editing /w handle
Affine Handle
[Sorkine et al. 2004]
[Botsch and Kobbelt 2004]
3/29/2011 21Andrew Nealen, Rutgers, 2011
![Page 22: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/22.jpg)
• A sketch-based interface...
– Feature modification
(object-space silhouettes)
– Feature creation
(sharp features, ridges, ravines)
• ... For detail-preserving mesh editing
– Adjust remaining geometry around the modified/created feature
such that shape characteristics are preserved
Ideas and Contributions
3/29/2011 22Andrew Nealen, Rutgers, 2011
![Page 23: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/23.jpg)
� Silhouette sketching• Feature sketching• Sketching a shape can be interpreted as
inverse Non-Photorealistic Rendering
• A sketch-based
modeling interface
which uses silhouettes
and sketches as input,
and produces contours,
ridges and ravines
Ideas and Contributions
3/29/2011 23Andrew Nealen, Rutgers, 2011
![Page 24: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/24.jpg)
Inspiration and Motivation
� The (affine) handle metaphor
� Used in (almost) every editing tool
� Nice, but can be unintuitive for
specific editing tasks
� Laplacian Mesh Editing
� Preserve local detail after
imposing editing constraints
[Sorkine et al. 04]
[Sorkine et al. 04] [Zhou
et al. 05]
[Botsch and Kobbelt 04]
3/29/2011 24Andrew Nealen, Rutgers, 2011
![Page 25: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/25.jpg)
• Discrete Laplacians
=L x δδδδ
n
δδδδcotangent : wij = cot αij + cot βij
( , )
( , )
1i i ij j
i j Eij
i j E
ww ∈
∈
= − ∑∑
δ x x
Mesh Modeling Framework
![Page 26: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/26.jpg)
Mesh Modeling Framework
� Surface reconstruction
=L x δδδδ
L
L
y
z
x
δδδδz
δδδδy
δδδδxn
δδδδcotangent : wij = cot αij + cot βij
( , )
( , )
1i i ij j
i j Eij
i j E
ww ∈
∈
= − ∑∑
δ x x
3/29/2011 26Andrew Nealen, Rutgers, 2011
![Page 27: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/27.jpg)
Implicitly compute Ti
transformations by comparing 1-
rings of the deformed and non-
deformed mesh
For the details see:
Laplacian Mesh Editing
[Sorkine et al. 04]
δδδδz
δδδδy
δδδδx
0
• Implicit transformations
y
z
xn
=
Ti (Rotation/Scale)
L
L
LL/Ti
L/Ti
L/Ti
Ti
Ti
Mesh Modeling Framework
![Page 28: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/28.jpg)
Mesh Modeling Framework
� Surface reconstruction
y
z
xn
=
c1
1
1
1
fix
L/Ti
L/Ti
L/Ti
Ti
Ti
0
3/29/2011 28Andrew Nealen, Rutgers, 2011
![Page 29: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/29.jpg)
c1
Mesh Modeling Framework
� Editing operations
y
z
xn
=
1
1
1
fixedit
c2
1
1
1
L/Ti
L/Ti
L/Ti
Ti
Ti
0
3/29/2011 29Andrew Nealen, Rutgers, 2011
![Page 30: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/30.jpg)
δδδδz
δδδδy
δδδδx
0
c1
• Least-Squares solution
y
z
xn
=
1
1
1
fixw
1w
1edit
c2
1
1
1w
2w
2
wLi
wLi
L
L
LL/Ti
L/Ti
L/Ti
Ti
Ti
A x = b
ATA x = bAT
(ATA)-1x = bAT
Normal Equations
Mesh Modeling Framework
![Page 31: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/31.jpg)
• Using silhouettes as handles
– Detect object space silhouette
– Project to screen space
and parametrize [0,1]
– Parametrize sketch [0,1]
– Find correspondences
Silhouette Sketching
![Page 32: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/32.jpg)
• Using silhouettes as handles
– Detect object space silhouette
– Project to screen space
and parametrize [0,1]
– Parametrize sketch [0,1]
– Find correspondences
– Use as positional constraints
while retaining depth value
Silhouette Sketching
![Page 33: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/33.jpg)
Silhouette Sketching
� What is a good silhouette?
vie
we
r
3/29/2011 33Andrew Nealen, Rutgers, 2011
![Page 34: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/34.jpg)
Silhouette Sketching
� What is a good silhouette?
vie
we
r
Illustrating Smooth Surfaces
[Hertzmann and Zorin 00]
3/29/2011 34Andrew Nealen, Rutgers, 2011
![Page 35: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/35.jpg)
c1
Silhouette Sketching
� On edge constraints
y
z
xn
=
1
1
1
fixw
1w
1edit
c2
1
1
1w
2w
2
wLi
wLi
edit
λ xi + (1-λ) xj
c3w3
w3
λλλλ 1−λλλλ
λλλλ 1−λλλλ
λλλλ 1−λλλλ
L/Ti
L/Ti
L/Ti
Ti
Ti
0
3/29/2011 35Andrew Nealen, Rutgers, 2011
![Page 36: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/36.jpg)
Silhouette Sketching
� Approximate sketching
� Balance weighting between detail and positional constraints
3/29/2011 36Andrew Nealen, Rutgers, 2011
![Page 37: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/37.jpg)
Silhouette Sketching
� Approximate sketching
� Balance weighting between detail and positional constraints
3/29/2011 37Andrew Nealen, Rutgers, 2011
![Page 38: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/38.jpg)
� We wish to influence (discrete) differential properties of
the mesh for arbitrary sketches
� Possible solution
� Cut existing polygons along the sketch and add new edges
� Our solution
� Adjust mesh geometry to lie under the sketch (as seen from the
camera), while preserving mesh topology and ensuring well
shaped triangles
Feature Sketching
3/29/2011 38Andrew Nealen, Rutgers, 2011
![Page 39: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/39.jpg)
� First: min cost edge path (close to sketch)
� Potentially jaggy appearance
screen
v1
v2
n
Geometry Adjustment
sketch
vO
(orthographic) viewer
(schematic) cross-section
3/29/2011 39Andrew Nealen, Rutgers, 2011
![Page 40: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/40.jpg)
tangent plane
vOC
n
Geometry Adjustment
� Second: projection onto sketch
screensketch
vSvSC
n
v1
v2
vO
(orthographic) viewer
3/29/2011 40Andrew Nealen, Rutgers, 2011
![Page 41: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/41.jpg)
tangent plane
vOC
n
Geometry Adjustment
� Second: projection onto sketch
� Approximates the sketch very well
� Can introduce badly shaped tri‘s
screensketch
vSvSC
n
v1
v2
vO
(orthographic) viewer
3/29/2011 41Andrew Nealen, Rutgers, 2011
![Page 42: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/42.jpg)
� Third: local mesh regularization
� Ask uniformly weighted Laplacian to become cotangent
weighted Laplacian, while fixing path vertices
vOC
n
Geometry Adjustment
v1
v2
screensketch
v´1
v´2
δδδδcotangent
δδδδumbrella
x = δδδδL
fix
=L x δδδδ
3/29/2011 42Andrew Nealen, Rutgers, 2011
![Page 43: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/43.jpg)
� Third: local mesh regularization
� Well shaped triangles and nice piecewise linear approximation
of the users sketch
vOC
n
Geometry Adjustment
screensketch
v´1
v´2
δδδδcotangent
x = δδδδL
fix
=L x δδδδ
3/29/2011 43Andrew Nealen, Rutgers, 2011
![Page 44: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/44.jpg)
� Edit: scale (or add to) Laplacians
vOC
n
Feature Edit
v´1
v´2
δδδδcotangent
3/29/2011 44Andrew Nealen, Rutgers, 2011
![Page 45: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/45.jpg)
Feature Edit
� Edit: scale (or add to) Laplacians
v´1
v´2
δδδδcotangent
n
3/29/2011 45Andrew Nealen, Rutgers, 2011
![Page 46: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/46.jpg)
Feature Edit
v´1
v´2
δδδδcotangent
n
3/29/2011 46Andrew Nealen, Rutgers, 2011
![Page 47: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/47.jpg)
c1
Laplacian Constraints
� Scale (or add to) Laplacians
y
z
xn
=
1
1
1
fixw
1w
1
wLi
wLi
L/Ti
L/Ti
L/Ti
Ti
Ti
0
δδδδz
δδδδy
δδδδx
ATA x = bAT
(ATA)-1x = bAT
Normal Equations
δδδδ
3/29/2011 47Andrew Nealen, Rutgers, 2011
![Page 48: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/48.jpg)
Contour Edit
n nv
nr
radial plane
nr
3/29/2011 48Andrew Nealen, Rutgers, 2011
![Page 49: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/49.jpg)
Contour Edit
n nv
nr
radial plane
nr
3/29/2011 49Andrew Nealen, Rutgers, 2011
![Page 50: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/50.jpg)
Contour Edit
radial curvature
Inflection line
3/29/2011 50Andrew Nealen, Rutgers, 2011
![Page 51: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/51.jpg)
Contour Edit
3/29/2011 51Andrew Nealen, Rutgers, 2011
![Page 52: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/52.jpg)
Editing Session Result
3/29/2011 52Andrew Nealen, Rutgers, 2011
![Page 53: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/53.jpg)
Problem: noisy Surface Silhouette
3/29/2011 53Andrew Nealen, Rutgers, 2011
![Page 54: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/54.jpg)
Discussion…
� The good...
� Intuitive, sketch-based User Interface for silhouette deformation
and feature creation/modification
� Fast model updates after sketch (Iterative Modeling)
� Preserves surface detail as much as possible
� ... and the not so good
� Object-Space sil‘s useless in the presence of heavy noise
� Editing differential properties can take time to learn
3/29/2011 54Andrew Nealen, Rutgers, 2011
![Page 55: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/55.jpg)
FiberMesh
Andrew Nealen, Rutgers, 2011 3/29/2011 55
![Page 56: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/56.jpg)
Problem Statement
� 3D modeling from scratch is difficult
• Sketching
Produces simple,
rough models
• Parametric patches
• Subdivision
surfaces
Initial patch layout
can be tedious
3/29/2011 56Andrew Nealen, Rutgers, 2011
![Page 57: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/57.jpg)
� Curves as the user interface
� The user‘s sketches are persistent, and used as a
modeling handles
� Topologically flexible = add / remove anywhere
� Fast surface construction by (nonlinear)
functional optimization
� Incorporates curve constraints
� Runs at interactive rates
FiberMeshOverview and Contributions
3/29/2011 57Andrew Nealen, Rutgers, 2011
![Page 58: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/58.jpg)
FiberMesh Demo
3/29/2011 58Andrew Nealen, Rutgers, 2011
![Page 59: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/59.jpg)
Algorithm Overview
� 3D curve deformation
� Surface optimization
Handle position Curve geometry
Curve geometry
Surface geometry
Please see paper for
details...
3/29/2011 59Andrew Nealen, Rutgers, 2011
![Page 60: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/60.jpg)
Surface Optimization ?
3/29/2011 60Andrew Nealen, Rutgers, 2011
![Page 61: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/61.jpg)
InspirationsCurve and Surface Optimization
• Minimal energy networks
[Moreton and Sequin1991]
• Functional optimization [Moreton
and Sequin 1992]
• Variational surface modeling
[Welch and Witkin 1992]
• Shape design with triangulated
surfaces [Welch and Witkin 1994]
• What defines „smooth“ ?
0)( =xkL
![Page 62: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/62.jpg)
Surface OptimizationDiscrete Differential Geometry
See work from
Polthier, Desbrun, Meyer, Alliez, Grinspun, Schröder, etc.
vi
vj
αβ
3/29/2011 62Andrew Nealen, Rutgers, 2011
![Page 63: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/63.jpg)
Surface OptimizationDiscrete Differential Geometry
� Laplacian operators
� Uniform Laplacian Lu(vi)
� Cotangent Laplacian Lc(vi)
� Mean curvature normal
vi
vj
α
β
Ai
3/29/2011 63Andrew Nealen, Rutgers, 2011
![Page 64: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/64.jpg)
Surface OptimizationTwo Important Observations !
� Laplacian operators
� Uniform Laplacian Lu(vi)
� Cotangent Laplacian Lc(vi)
� Mean curvature normal
� Cotangent Laplacian = mean curvature normal x vertex area (Ai)
� For nearly equal edge lengths
Uniform ≈ Cotangent
vi
vj
α
β
Ai
3/29/2011 64Andrew Nealen, Rutgers, 2011
![Page 65: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/65.jpg)
Surface OptimizationTwo Important Observations !
� Laplacian operators
� Uniform Laplacian Lu(vi)
� Cotangent Laplacian Lc(vi)
� Mean curvature normal
� Cotangent Laplacian = mean curvature normal x vertex area (Ai)
� For nearly equal edge lengths
Uniform ≈ Cotangent
vi
vj
α
β
Ai
3/29/2011 65Andrew Nealen, Rutgers, 2011
![Page 66: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/66.jpg)
Surface OptimizationLinear- or Nonlinear Optimization ?
� Linear variational methods [Botsch and Sorkine 2007]
� Instead: nonlinear optimization
� Inspired by a discrete fairing algorithm
� Geometric fairing of irregular meshes for free-form surface
design [Schneider and Kobbelt 2002]
result
3/29/2011 66Andrew Nealen, Rutgers, 2011
![Page 67: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/67.jpg)
Ite
rate
ve
rte
x
po
siti
on
s
Surface OptimizationOverview of a Single Step
Current geometry
Current curvatures
(scalar)
Target curvatures
(scalar)
Dif
fusi
on
(sm
oo
thin
g)
Sca
le u
nit
no
rma
l
ve
cto
rs
Resulting geometry
Positional constraints
• Linear system
• But: matrix recomputation
• Iterative procedure not
designed for
interactive response
Unit normals
Target mean
curvature
normals
= c · n
=c 0000Lc
3/29/2011 67Andrew Nealen, Rutgers, 2011
![Page 68: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/68.jpg)
Surface OptimizationOur Optimizations and Approximations
Current geometry
Current curvatures
(scalar)
Target curvatures
(scalar)
Dif
fusi
on
(sm
oo
thin
g)
Resulting geometry
Positional constraints
• Linear system
• Reuse matrix factorization
Sca
le u
nit
no
rma
l
ve
cto
rs
Ite
rate
ve
rte
x
po
siti
on
s
Target mean
curvature
normals
= c · n
=c 0000Lu
3/29/2011 68Andrew Nealen, Rutgers, 2011
![Page 69: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/69.jpg)
Surface OptimizationOur Optimizations and Approximations
Current geometry
Current curvatures
(scalar)
Target curvatures
(scalar)
Dif
fusi
on
(sm
oo
thin
g)
Resulting geometry
Positional constraints
• Linear system
• Reuse matrix factorization
So
lve
lea
st
squ
are
s
Sca
le u
nit
no
rma
l
ve
cto
rs
Target mean
curvature
normals
= c · n
=Lu
x ????
=c 0000Lu
3/29/2011 69Andrew Nealen, Rutgers, 2011
![Page 70: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/70.jpg)
Surface OptimizationOur Optimizations and Approximations
Current geometry
Current curvatures
(scalar)
Target curvatures
(scalar)
Dif
fusi
on
(sm
oo
thin
g)
Resulting geometry
Positional constraints
• Linear system
• Reuse matrix factorization
So
lve
lea
st
squ
are
s
Sca
le u
nit
no
rma
l
ve
cto
rs
=Lu
x δδδδc
Target mean
curvature
normals
= c · n
=c 0000Lu
3/29/2011 70Andrew Nealen, Rutgers, 2011
![Page 71: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/71.jpg)
Surface OptimizationOur Optimizations and Approximations
Current geometry
Current curvatures
(scalar)
Target curvatures
(scalar)
Dif
fusi
on
(sm
oo
thin
g)
Resulting geometry
Positional constraints
• Linear system
• Reuse matrix factorization
So
lve
lea
st
squ
are
s
Sca
le u
nit
no
rma
l
ve
cto
rs
Target cotan
Laplacians = δδδδc
= c · n · A
=Lu
x δδδδc
=c 0000Lu
3/29/2011 71Andrew Nealen, Rutgers, 2011
![Page 72: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/72.jpg)
vi
vj
α
β
Surface OptimizationRequirements for our Approximations
� We replace Lc with Lu in both steps
� This a viable approximation for:
3/29/2011 72Andrew Nealen, Rutgers, 2011
![Page 73: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/73.jpg)
vi
vj
α
β
� We replace Lc with Lu in both steps
� This a viable approximation for:
� (A) nearly equal edge
lengths (smooth metric)
� (B) nearly equal vertex
areas
Surface OptimizationRequirements for our Approximations
3/29/2011 73Andrew Nealen, Rutgers, 2011
![Page 74: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/74.jpg)
• Setting Lu(x) equal to δδδδc
improves inner fairness
• Smooth the edge lengths
• Constrain edge vectors
Surface OptimizationHow to Enforce (A) and (B)
=Lu
x δδδδc
[Nealen et al. 2006]
3/29/2011 74Andrew Nealen, Rutgers, 2011
![Page 75: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/75.jpg)
Surface OptimizationAdding Edge Vector Constraints to LS
Current geometry
Current curvatures
(scalar)
Target curvatures
(scalar)
Dif
fusi
on
(sm
oo
thin
g)
Resulting geometry
Positional constraints
So
lve
lea
st
squ
are
s
Sca
le v
ect
ors
Target δδδδc
= c · n · A
Target edge lengths(scalar)
Current edge lengths
(scalar)
Target edge vectors
Unit edge
vectors
3/29/2011 75Andrew Nealen, Rutgers, 2011
![Page 76: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/76.jpg)
Surface OptimizationA Single Step of the Optimization
Current geometry
Current curvatures
(scalar)
Target curvatures
(scalar)
Dif
fusi
on
(sm
oo
thin
g)
Resulting geometry
Positional constraints
So
lve
lea
st
squ
are
s
Sca
le v
ect
ors
Target δδδδc
= c · n · A
Target edge lengths(scalar)
Current edge lengths
(scalar)
Target edge vectors
3/29/2011 76Andrew Nealen, Rutgers, 2011
![Page 77: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/77.jpg)
Results
3/29/2011 77Andrew Nealen, Rutgers, 2011
![Page 78: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/78.jpg)
ResultsNovice User
15 min intructions + 20 minutes tryout3/29/2011 78Andrew Nealen, Rutgers, 2011
![Page 79: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/79.jpg)
Results2D Artist
15 min intructions + 10 minutes tryout3/29/2011 79Andrew Nealen, Rutgers, 2011
![Page 80: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/80.jpg)
Results2D Artist
... + 20 minutes tryout3/29/2011 80Andrew Nealen, Rutgers, 2011
![Page 81: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/81.jpg)
ResultsBase Model Creation
3/29/2011 81Andrew Nealen, Rutgers, 2011
![Page 82: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/82.jpg)
DiscussionTo be Improved...
� Takes a bit to learn the interface operations and their combinations
� Larger meshes would be nice
� Perhaps „freeze“ part of the meshIn general: entire mesh is optimized
� Multigrid / Multiresolution acceleration techniques
� Add more intuitive modeling operations:symmetry, vertex snapping, merging, etc.
3/29/2011 82Andrew Nealen, Rutgers, 2011
![Page 83: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/83.jpg)
SilSketch
Andrew Nealen, Rutgers, 2011 3/29/2011 83
![Page 84: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/84.jpg)
SilSketchDemo
3/29/2011 84Andrew Nealen, Rutgers, 2011
![Page 85: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/85.jpg)
SilSketchAlgorithm Overview
3/29/2011 85Andrew Nealen, Rutgers, 2011
![Page 86: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/86.jpg)
Sil Detection and SegmentationImage Space
3/29/2011 86Andrew Nealen, Rutgers, 2011
![Page 87: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/87.jpg)
Which Lines to Match Against ?
Depth
Discontinuities
Normal
Discontinuities
Combined
Discontinuities
Flat
Shaded
+
We Use
3/29/2011 87Andrew Nealen, Rutgers, 2011
![Page 88: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/88.jpg)
Some Segmentation Results
Resolve depth ambiguity3/29/2011 88Andrew Nealen, Rutgers, 2011
![Page 89: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/89.jpg)
Partial MatchingImage Space
3/29/2011 89Andrew Nealen, Rutgers, 2011
![Page 90: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/90.jpg)
Partial Matching
Input• Silhouette polyline(s)
• User stroke (polyline as well)
Criterions• Proximity
• Shape similarity
Shape Matching• Partial Matching of Polylines under Similarity
Transformations Cohen and Guibas [1997]
3/29/2011 90Andrew Nealen, Rutgers, 2011
![Page 91: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/91.jpg)
Handle deformation and ROIObject Space
3/29/2011 91Andrew Nealen, Rutgers, 2011
![Page 92: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/92.jpg)
Handle VerticesMoving from 2D to 3D
3/29/2011 92Andrew Nealen, Rutgers, 2011
![Page 93: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/93.jpg)
Region of Interest
3/29/2011 93Andrew Nealen, Rutgers, 2011
![Page 94: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/94.jpg)
Results
3/29/2011 94Andrew Nealen, Rutgers, 2011
![Page 95: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/95.jpg)
Editing Sequence (1)
3/29/2011 95Andrew Nealen, Rutgers, 2011
![Page 96: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/96.jpg)
Editing Sequence (2)
3/29/2011 96Andrew Nealen, Rutgers, 2011
![Page 97: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/97.jpg)
Editing Sequence Result
3/29/2011 97Andrew Nealen, Rutgers, 2011
![Page 98: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/98.jpg)
SilSketch Summary
� The human visual system uses silhouettes as the first index into its memory of shapes
� SilSketch leverages this human “shape database“
� This enables the creation of diverse shapes for non professionals
� Extends affine handle transformations to general handle warps
� Was added to the content creation pipeline at Disney Animation Studios
3/29/2011 98Andrew Nealen, Rutgers, 2011
![Page 99: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/99.jpg)
Many other works out there...
� Some research
� SKETCH [Zeleznik et al. 1996]
� Variational implicits [Karpenko et al. 2002]
� ShapeShop [Schmidt et al. 2005]
3/29/2011 99Andrew Nealen, Rutgers, 2011
![Page 100: CS 523: Computer Graphics, Spring 2011 Shape Modeling](https://reader036.vdocuments.net/reader036/viewer/2022062301/62a56233047c0b6d3477b8e5/html5/thumbnails/100.jpg)
Conclusions
� Further step(s) towards a human “video out“
3/29/2011 100Andrew Nealen, Rutgers, 2011