CS 523: Computer Graphics, Spring 2011 Shape Modeling

100
CS 523: Computer Graphics, Spring 2011 Shape Modeling Sketch-based Interfaces and Algorithms for shape creation and editing 3/29/2011 Andrew Nealen, Rutgers, 2011 1

Transcript of CS 523: Computer Graphics, Spring 2011 Shape Modeling

Page 1: CS 523: Computer Graphics, Spring 2011 Shape Modeling

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

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

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

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

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

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

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

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

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

Teddy

Andrew Nealen, Rutgers, 2011 3/29/2011 10

Page 11: CS 523: Computer Graphics, Spring 2011 Shape Modeling

Heuristic Mesh ConstructionTeddy

3/29/2011 11Andrew Nealen, Rutgers, 2011

Page 12: CS 523: Computer Graphics, Spring 2011 Shape Modeling

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

Input 2D polygon

Heuristic Mesh ConstructionTeddy

3/29/2011 13Andrew Nealen, Rutgers, 2011

Page 14: CS 523: Computer Graphics, Spring 2011 Shape Modeling

Constrained Delaunay Triangulation

Heuristic Mesh ConstructionTeddy

3/29/2011 14Andrew Nealen, Rutgers, 2011

Page 15: CS 523: Computer Graphics, Spring 2011 Shape Modeling

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

Before trimming After trimming

Heuristic Mesh ConstructionTeddy

3/29/2011 16Andrew Nealen, Rutgers, 2011

Page 17: CS 523: Computer Graphics, Spring 2011 Shape Modeling

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

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

Sketch-based mesh editing

Andrew Nealen, Rutgers, 2011 3/29/2011 19

Page 20: CS 523: Computer Graphics, Spring 2011 Shape Modeling

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

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

• 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

� 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

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

• 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

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

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

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

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

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

• 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

• 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

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

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

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

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

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

� 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

� 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

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

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

� 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

� 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

� 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

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

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

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

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

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

Contour Edit

radial curvature

Inflection line

3/29/2011 50Andrew Nealen, Rutgers, 2011

Page 51: CS 523: Computer Graphics, Spring 2011 Shape Modeling

Contour Edit

3/29/2011 51Andrew Nealen, Rutgers, 2011

Page 52: CS 523: Computer Graphics, Spring 2011 Shape Modeling

Editing Session Result

3/29/2011 52Andrew Nealen, Rutgers, 2011

Page 53: CS 523: Computer Graphics, Spring 2011 Shape Modeling

Problem: noisy Surface Silhouette

3/29/2011 53Andrew Nealen, Rutgers, 2011

Page 54: CS 523: Computer Graphics, Spring 2011 Shape Modeling

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

FiberMesh

Andrew Nealen, Rutgers, 2011 3/29/2011 55

Page 56: CS 523: Computer Graphics, Spring 2011 Shape Modeling

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

� 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

FiberMesh Demo

3/29/2011 58Andrew Nealen, Rutgers, 2011

Page 59: CS 523: Computer Graphics, Spring 2011 Shape Modeling

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

Surface Optimization ?

3/29/2011 60Andrew Nealen, Rutgers, 2011

Page 61: CS 523: Computer Graphics, Spring 2011 Shape Modeling

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

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

Results

3/29/2011 77Andrew Nealen, Rutgers, 2011

Page 78: CS 523: Computer Graphics, Spring 2011 Shape Modeling

ResultsNovice User

15 min intructions + 20 minutes tryout3/29/2011 78Andrew Nealen, Rutgers, 2011

Page 79: CS 523: Computer Graphics, Spring 2011 Shape Modeling

Results2D Artist

15 min intructions + 10 minutes tryout3/29/2011 79Andrew Nealen, Rutgers, 2011

Page 80: CS 523: Computer Graphics, Spring 2011 Shape Modeling

Results2D Artist

... + 20 minutes tryout3/29/2011 80Andrew Nealen, Rutgers, 2011

Page 81: CS 523: Computer Graphics, Spring 2011 Shape Modeling

ResultsBase Model Creation

3/29/2011 81Andrew Nealen, Rutgers, 2011

Page 82: CS 523: Computer Graphics, Spring 2011 Shape Modeling

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

SilSketch

Andrew Nealen, Rutgers, 2011 3/29/2011 83

Page 84: CS 523: Computer Graphics, Spring 2011 Shape Modeling

SilSketchDemo

3/29/2011 84Andrew Nealen, Rutgers, 2011

Page 85: CS 523: Computer Graphics, Spring 2011 Shape Modeling

SilSketchAlgorithm Overview

3/29/2011 85Andrew Nealen, Rutgers, 2011

Page 86: CS 523: Computer Graphics, Spring 2011 Shape Modeling

Sil Detection and SegmentationImage Space

3/29/2011 86Andrew Nealen, Rutgers, 2011

Page 87: CS 523: Computer Graphics, Spring 2011 Shape Modeling

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

Some Segmentation Results

Resolve depth ambiguity3/29/2011 88Andrew Nealen, Rutgers, 2011

Page 89: CS 523: Computer Graphics, Spring 2011 Shape Modeling

Partial MatchingImage Space

3/29/2011 89Andrew Nealen, Rutgers, 2011

Page 90: CS 523: Computer Graphics, Spring 2011 Shape Modeling

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

Handle deformation and ROIObject Space

3/29/2011 91Andrew Nealen, Rutgers, 2011

Page 92: CS 523: Computer Graphics, Spring 2011 Shape Modeling

Handle VerticesMoving from 2D to 3D

3/29/2011 92Andrew Nealen, Rutgers, 2011

Page 93: CS 523: Computer Graphics, Spring 2011 Shape Modeling

Region of Interest

3/29/2011 93Andrew Nealen, Rutgers, 2011

Page 94: CS 523: Computer Graphics, Spring 2011 Shape Modeling

Results

3/29/2011 94Andrew Nealen, Rutgers, 2011

Page 95: CS 523: Computer Graphics, Spring 2011 Shape Modeling

Editing Sequence (1)

3/29/2011 95Andrew Nealen, Rutgers, 2011

Page 96: CS 523: Computer Graphics, Spring 2011 Shape Modeling

Editing Sequence (2)

3/29/2011 96Andrew Nealen, Rutgers, 2011

Page 97: CS 523: Computer Graphics, Spring 2011 Shape Modeling

Editing Sequence Result

3/29/2011 97Andrew Nealen, Rutgers, 2011

Page 98: CS 523: Computer Graphics, Spring 2011 Shape Modeling

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

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

Conclusions

� Further step(s) towards a human “video out“

3/29/2011 100Andrew Nealen, Rutgers, 2011