cpsc 314 introductionbmpix/teaching/6113/... · horns, tusks, and flippers: the evolution of hoofed...

54
IFT 6113 APPLICATIONS OF VECTOR FIELDS tiny.cc/6113 Mikhail Bessmeltsev

Upload: others

Post on 03-Jul-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

IFT 6113APPLICATIONS OF VECTOR FIELDS

tiny.cc/6113

Mikhail Bessmeltsev

Page 2: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Outline

• Geometry processing– Mesh Generation– Deformation– Texture mapping and synthesis

• Misc– Non-photorealistic rendering– Crowd simulation

Page 3: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Outline

• Geometry processing– Mesh Generation– Deformation– Texture mapping and synthesis

• Misc– Non-photorealistic rendering– Crowd simulation

Page 4: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

2D: Digital Micrography

Page 5: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

2D: Digital Micrography

Page 6: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

2D: Digital Micrography

Page 7: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Boundary conditions

• Vector field is parallel or perpendicular to the boundary

Aligned

Relaxed

Page 8: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Inside?

?

Page 9: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Inside?

• Smoothest interpolation of boundary values

• Laplace equation with Dirichlet boundary conditions

• Discretization?• Representation?

Δ𝑢 = 0

𝑢 ቚ𝜕Ω

= 𝑣

Page 10: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Outline

• Geometry processing– Mesh Generation– Deformation– Texture mapping and synthesis

• Misc– Non-photorealistic rendering– Crowd simulation

Page 11: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

2D Mesh Generation

• Input: mesh topology + vector field (VF)• Task: Align the mesh with the VF

‘Mesh Generation Using Vector Fields’ by P.Knupp, 1994

Page 12: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

2D Mesh Generation

• User chooses which edge should align to VF

• How to formulate alignment?

+

Page 13: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Alignment

𝑋𝑒 = 𝑙𝑒𝑢𝑖

Edge vectorScaling factor

Vector field(normalized)

Page 14: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Equivalent formulation

Jacobian: 𝐽 =

𝜕𝑋

𝜕𝑥

𝜕𝑋

𝜕𝑦

𝜕𝑌

𝜕𝑥

𝜕𝑌

𝜕𝑥

Discretized: 𝐽 =𝑋2 − 𝑋1 𝑋3 − 𝑋1𝑌2 − 𝑌1 𝑌3 − 𝑌1

(𝑥, 𝑦)(1,0)

(0,1)

(𝑋1, 𝑌1)

(𝑋3, 𝑌3)

(𝑋2, 𝑌2)(0,0)

Page 15: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Equivalent formulation

𝐽 =𝑋2 − 𝑋1 𝑋3 − 𝑋1𝑌2 − 𝑌1 𝑌3 − 𝑌1

𝐽 = 𝑈 ⋅𝑙1

𝑙2= 𝑇𝑈

(𝑥, 𝑦)(1,0)

(0,1)

(𝑋1, 𝑌1)

(𝑋3, 𝑌3)

(𝑋2, 𝑌2)(0,0)

Page 16: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Final statement

• Constrain inverses instead

𝑚𝑖𝑛නdet(𝐽−1 − 𝑇−1)2𝑑𝑥𝑑𝑦

Page 17: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Issues?

Page 18: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Adding non-uniform sizing

Page 19: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Mesh Quadrangulation

Input: Triangle mesh + sparse directionsOutput: Quad mesh aligned with the directions

‘Mixed-Integer Quadrangulation’ by Bommes et al., 2009

Page 20: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Mesh Quadrangulation

1. Compute two vector fields2. Align a quad mesh with them

Page 21: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Mesh Quadrangulation

1. Compute a cross field2. For all points on a surface, compute

(𝑢, 𝑣)

Parameterization! More on that later

Page 22: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Cross Fields

• 4 coupled vectors =2 directions

Page 23: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Representation and singularities

Page 24: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Smoothness?

• Associate tangent spaces• Add period jumps

𝑘𝑖𝑗

Page 25: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Outline

• Geometry processing– Mesh Generation– Deformation– Texture mapping and synthesis

• Misc– Non-photorealistic rendering– Crowd simulation

Page 26: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Mesh Deformation

Page 27: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Mesh Deformation

‘Vector Field Based Shape Deformations’ by Funck et al., 2006

Find a divergence-free vector field𝑑𝑖𝑣 𝑣 = 0

Page 28: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Helmholtz-Hodge Decomposition

Image courtesy K. CraneCurl free

Before:

Page 29: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Divergence-Free VF𝑑𝑖𝑣 𝑣 = ∇ ⋅ 𝑣 =

𝜕𝑣

𝜕𝑥+𝜕𝑣

𝜕𝑦+𝜕𝑣

𝜕𝑧= 0

Divergence-free => No stretch/squash!

Page 30: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Tangent Vector Fields

• Rotated gradient fields have zero divergence

𝑑𝑖𝑣 𝑅∇𝑢 = 0

(proof for 2D case on the board)

Page 31: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Normal Vector Fields

Cross product of two gradients has zero divergence

𝑑𝑖𝑣 𝑣 = 0

Page 32: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Mesh Deformation

Constrained by user

Smooth falloff to 0

Can specify twist!

Page 33: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Outline

• Geometry processing– Mesh Generation– Deformation– Texture mapping and synthesis

• Misc– Non-photorealistic rendering– Crowd simulation

Page 34: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Texture Synthesis

‘Stripe Patterns on Surfaces’ by F. Knoppel et al., 2015

Page 35: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Idea

• Input: mesh + vector field (+scale)• Output: scalar field controlling periodic

texture– Imagine periodic texture as 𝑓 = sin(𝜶)

Page 36: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Idea

Singularities => more even spacing

Page 37: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Idea

Singularities => more even spacingAlso occurring in nature

Page 38: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Useless fact

“It was previously believed that zebraswere white animals with black stripes,since some zebras have whiteunderbellies. Embryological evidence,however, shows that the animal'sbackground colour is black and the whitestripes and bellies are additions.”

Prothero D.R.; Schoch R. M. (2003). Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals.

Page 39: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Familiar components!

• Representation• Connection• Singularities• Dirichlet Energy

… but also some other notions beyond the scope of this course

Page 40: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Familiar components!

• Representation• Connection• Singularities• Dirichlet Energy

… but also some other notions beyond the scope of this course

Page 41: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

How to optimize for 𝛼

∇𝛼 should be perpendicular to the vector field?

Page 42: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

How to optimize for 𝛼

∇𝛼 should be perpendicular to the vector field?

Can we integrate that?

Page 43: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

How to optimize for 𝛼

Look for 𝜓 = 𝑒𝑖𝛼 instead: it can be smooth

Can we integrate that?

Page 44: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Outline

• Geometry processing– Mesh Generation– Deformation– Texture mapping and synthesis

• Misc– Non-photorealistic rendering– Crowd simulation

Page 45: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Non-photorealistic rendering

• Input: mesh• Output:

‘Illustrating Smooth Surfaces’ by Hertzmann & Zorin, 2001

Page 46: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Components

Silhouettes

+

‘hatching’

=

Page 47: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Silhouettes

• Mesh silhouettes are unreliable

Page 48: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Silhouettes

Better idea: Silhouettes = zeros of a scalar field

Point 𝑝 is on silhouette

𝑛 ⋅ 𝑐 − 𝑝 = 0

Camera position

Page 49: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Silhouettes

Better idea: Silhouettes = zeros of a scalar field

Point 𝑝 is on silhouette

𝑛 ⋅ 𝑐 − 𝑝 = 0

Camera position

Compute at every vertex, interpolate, find zero-crossings

Page 50: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Hatching

• Principle curvature directions!

Page 51: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Hatching

• Principle curvature directions!

• Except those are not defined for umbilics (equal principal curvatures)

• At umbilics, draw geodesics!

Page 52: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

2 directional fields?

Page 53: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Hatching

• Find parabolic areas of the mesh

• Constrain cross field to align with principle curvatures

• The rest should be smooth– Smoothness term uses a

connection

Page 54: CPSC 314 Introductionbmpix/teaching/6113/... · Horns, Tusks, and Flippers: The Evolution of Hoofed Mammals. Familiar components! •Representation •Connection •Singularities

Result