a sketch-based interface for detail-preserving mesh editing andrew nealen olga sorkine marc alexa...

40
A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Post on 19-Dec-2015

220 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

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

Page 2: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc 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

Page 3: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

• 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

Page 4: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

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!

Page 5: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

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]

Page 6: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

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

Page 7: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

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

Page 8: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

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

Page 9: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Mesh Modeling FrameworkMesh Modeling Framework

• Surface reconstruction

y

z

xn

=

c1

fix

L/Ti

L/Ti

L/Ti

Ti

Ti

0

Page 10: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

c1

Mesh Modeling FrameworkMesh Modeling Framework

• Editing operations

y

z

xn

=

fixedit

c2

L/Ti

L/Ti

L/Ti

Ti

Ti

0

Page 11: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

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

Page 12: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

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

Page 13: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

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

Page 14: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Silhouette SketchingSilhouette Sketching

• What is a good silhouette?

view

er

Page 15: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Silhouette SketchingSilhouette Sketching

• What is a good silhouette?

view

er

Illustrating Smooth Surfaces[Hertzmann and Zorin 00]

Page 16: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

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

Page 17: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Silhouette SketchingSilhouette Sketching

• Approximate sketching

– Balance weighting between detail and positional constraints

Page 18: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Silhouette SketchingSilhouette Sketching

• Approximate sketching

– Balance weighting between detail and positional constraints

Page 19: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

• 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

Page 20: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

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

Page 21: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

tangent plane

vOC

n

Geometry AdjustmentGeometry Adjustment

• Second: projection onto sketch

screensketchvSvSC

n

v1

v2

vO

(orthographic) viewer

Page 22: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

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

Page 23: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

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

Page 24: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

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

Page 25: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

vOC

n

Feature EditFeature Edit

• Edit: scale (or add to) Laplacians

v´1

v´2

cotangent

Page 26: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Feature EditFeature Edit

• Edit: scale (or add to) Laplacians

v´1

v´2

cotangent

n

Page 27: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Feature EditFeature Edit

v´1

v´2

cotangent

n

Page 28: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

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

Page 29: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Contour EditContour Edit

n nv

nr

radial plane

nr

Page 30: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Contour EditContour Edit

n nv

nr

radial plane

nr

Page 31: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Contour EditContour Edit

radial curvature Inflection line

Page 32: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Contour EditContour Edit

Page 33: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Editing Session (1)Editing Session (1)

Page 34: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Editing Session (2)Editing Session (2)

Page 35: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Editing Session (3)Editing Session (3)

Page 36: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Editing Session (4)Editing Session (4)

Page 37: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Editing Session ResultEditing Session Result

Page 38: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

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

Page 39: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Thank You!Thank You!

• Contact Information

Andrew [email protected]

Olga [email protected]

Marc [email protected]

Daniel [email protected]

Page 40: A Sketch-Based Interface for Detail-Preserving Mesh Editing Andrew Nealen Olga Sorkine Marc Alexa Daniel Cohen-Or

Noisy Surface SilhouetteNoisy Surface Silhouette