a sketch-based interface for detail-preserving mesh editing andrew nealen olga sorkine marc alexa...
Post on 19-Dec-2015
220 views
TRANSCRIPT
A Sketch-Based Interface for Detail-Preserving Mesh EditingA Sketch-Based Interface for
Detail-Preserving Mesh Editing
Andrew NealenOlga SorkineMarc Alexa
Daniel Cohen-Or
Andrew NealenOlga SorkineMarc Alexa
Daniel Cohen-Or
• 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 Ideas and Contributions
• 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 Ideas and Contributions
Sketch-Based Interfaces and ModelingSketch-Based Interfaces and Modeling
• (Some) previous work
– SKETCH [Zeleznik et al. 96]
– Teddy [Igarashi et al. 99 and 03]
– Variational implicits [Karpenko et al. 02]
– Relief [Bourguignon et al. 04]
– Sketching mesh deformations [Kho and Garland 05]
– Parametrized objects [Yang et al. 05]
– Many, many more... and (hopefully) more to come!
Inspiration and MotivationInspiration 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]
Mesh Modeling FrameworkMesh Modeling Framework
• Discrete Laplacians
=L x
n
cotangent : wij = cot ij + cot ij
( , )( , )
1i i ij j
i j Eiji j E
ww
δ x x
Mesh Modeling FrameworkMesh 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 Eiji j E
ww
δ x x
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
Mesh Modeling FrameworkMesh Modeling Framework
• Implicit transformations
y
z
xn
=
Ti (Rotation/Scale)
L
L
LL/Ti
L/Ti
L/Ti
Ti
Ti
Mesh Modeling FrameworkMesh Modeling Framework
• Surface reconstruction
y
z
xn
=
c1
fix
L/Ti
L/Ti
L/Ti
Ti
Ti
0
c1
Mesh Modeling FrameworkMesh Modeling Framework
• Editing operations
y
z
xn
=
fixedit
c2
L/Ti
L/Ti
L/Ti
Ti
Ti
0
z
y
x
0
c1
Mesh Modeling FrameworkMesh Modeling Framework
• Least-Squares solution
y
z
xn
=
fixw1 w1edit
c2
w2 w2
wLi wLi
L
L
LL/Ti
L/Ti
L/Ti
Ti
Ti
A x = bATA x = bAT
(ATA)-1x = bAT
Normal Equations
Silhouette SketchingSilhouette Sketching
• Using silhouettes as handles
– Detect object space silhouette
– Project to screen space and parametrize [0,1]
– Parametrize sketch [0,1]
– Find correspondences
Silhouette SketchingSilhouette Sketching
• 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 constraintswhile retaining depth value
Silhouette SketchingSilhouette Sketching
• What is a good silhouette?
view
er
Silhouette SketchingSilhouette Sketching
• What is a good silhouette?
view
er
Illustrating Smooth Surfaces[Hertzmann and Zorin 00]
c1
Silhouette SketchingSilhouette Sketching
• On edge constraints
y
z
xn
=
fixw1 w1edit
c2
w2 w2
wLi wLi
edit
xi + (1-) xj
c3w3 w3
L/Ti
L/Ti
L/Ti
Ti
Ti
0
Silhouette SketchingSilhouette Sketching
• Approximate sketching
– Balance weighting between detail and positional constraints
Silhouette SketchingSilhouette Sketching
• Approximate sketching
– Balance weighting between detail and positional constraints
• 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 Feature Sketching
screen
v1
v2
n
Geometry AdjustmentGeometry Adjustment
• First: min cost edge path (close to sketch)
– Potentially jaggy appearance
sketch
vO
(orthographic) viewer
(schematic) cross-section
tangent plane
vOC
n
Geometry AdjustmentGeometry Adjustment
• Second: projection onto sketch
screensketchvSvSC
n
v1
v2
vO
(orthographic) viewer
tangent plane
vOC
n
Geometry AdjustmentGeometry Adjustment
• Second: projection onto sketch
– Approximates the sketch very well
– Can introduce badly shaped tri‘s
screensketchvSvSC
n
v1
v2
vO
(orthographic) viewer
vOC
n
Geometry AdjustmentGeometry Adjustment
• Third: local mesh regularization
– Ask uniformly weighted Laplacian to become cotangent weighted Laplacian, while fixing path vertices
v1
v2
screensketch
v´1
v´2
cotangent
umbrella
x = L
fix
=L x
vOC
n
Geometry AdjustmentGeometry Adjustment
• Third: local mesh regularization
– Well shaped triangles and nice piecewise linear approximation of the users sketch
screensketch
v´1
v´2
cotangent
x = L
fix
=L x
vOC
n
Feature EditFeature Edit
• Edit: scale (or add to) Laplacians
v´1
v´2
cotangent
Feature EditFeature Edit
• Edit: scale (or add to) Laplacians
v´1
v´2
cotangent
n
Feature EditFeature Edit
v´1
v´2
cotangent
n
c1
Laplacian ConstraintsLaplacian Constraints
• Scale (or add to) Laplacians
y
z
xn
=
fixw1 w1
wLi wLiL/Ti
L/Ti
L/Ti
Ti
Ti
0
z
y
x
ATA x = bAT
(ATA)-1x = bAT
Normal Equations
Contour EditContour Edit
n nv
nr
radial plane
nr
Contour EditContour Edit
n nv
nr
radial plane
nr
Contour EditContour Edit
radial curvature Inflection line
Contour EditContour Edit
Editing Session (1)Editing Session (1)
Editing Session (2)Editing Session (2)
Editing Session (3)Editing Session (3)
Editing Session (4)Editing Session (4)
Editing Session ResultEditing Session Result
Discussion…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
Thank You!Thank You!
• Contact Information
Andrew [email protected]
Olga [email protected]
Marc [email protected]
Daniel [email protected]
Noisy Surface SilhouetteNoisy Surface Silhouette