Top Banner
Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out his problem at hand. The soldier, enraged, drew his sword and ran him through. -Plutarch (version 1)
30

Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Dec 30, 2015

Download

Documents

Morgan Parrish
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Prologue - Archimedes

A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out his problem at hand. The soldier, enraged, drew his sword and ran him through.

-Plutarch (version 1)

Page 2: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Prologue - Sophie Germain Paris, 1776-1831 Self-educated to age 18 Monsieur Le Blanc attends

Ecole Polytechnique Lagrange, Legendre, Gauss Elasticity and Fermat’s

Last Theorem

Page 3: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Alyn RockwoodMitsubishi Electric Research Labs

Le savant n’ étudie pas la nature parce que cela est utile; il l’étudie parce qu’il y prend plaisir et il y prend plaisir parce qu’elle belle. Si la nature n’ était pas belle, elle ne vaudrait pas la peine d’être connue.

-Poincare.

Implicit Fields

Page 4: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

What is an implicit Field?

Generalization of a Distance Field

Shape Field in Gray Height field

A field that “specifies a minimum distance to a shape.” [Frisken, Perry, Rockwood, Jones, Siggraph2000]

Page 5: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Distance Field

The Zero Set of the field gives the shape - no polygons

Page 6: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Distance Field

Offsets of zero set yield volumes

Page 7: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Discrete Sampling -

The Data Size Problem - volume data The Solution - sample and interpolate Discrete Structure - octree, for example Adaptively Sampled Distance Fields (ADFs)

Store distance (implicit) values at vertices of an octree

Page 8: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Reconstruction

A single trilinear field can represent highly curved surfaces

Page 9: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Rendering

Surface rendering– ray casting with analytic– surface intersection

Volume rendering– back-to-front sampled– ray casting

Page 10: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Cloud of Points Rendering

Sample, bin and sort into z-buffer

Dense

Samples

Screen

View

Page 11: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

What is an implicit Field?

Formally: An implicit field is a displayable, scalar field d: RnR where the zero set d-1(0) is non-empty.

Object oriented definition: structure + procedure Includes distance fields, but no “minimum” calculation Includes implicits, interpolated, procedural, others Implicitizes; thus the term implicit Examples follow

Page 12: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Example - Weierstrass Egg Carton

d(x) = z - k kcos(kx) cos(ky), k=1,…, Continuous, but

not differentiable! Rendering by

cloud-of-points,

z-buffering, depth

based intensity

Page 13: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Parameter space – unit cube Gamut space – deformed cube

w- axis

green

. (u,v,w) . d(x) = ||(u,v,w)||

blue v-axis

red

u-axis

implicit field at x is metric of its parameter (u,v,w).

Example - Color Gamut

Page 14: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Example - Color Gamut

(R,G,B) color gamut and interior

• p(u,v,w) = (1-w) [(1-v) v]M[(1-u) u]T + v [(1-v) v]N[(1-u) u]T • q(u,v,w) = 2 max [ u-1/2, v-1/2, w-1/2 ] – 1 • d(x) = q(p-1(x))

Page 15: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

The min, max or negate operator on field

performs union, intersection or complement; thus

d(x) = min(min(f(x),g(x)), h(x))

Example - Blended Booleans

Page 16: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Example - Blended Booleans

Water

Molecule

Blending with d(x) = 1 – max(1 - f(x)/R, 0 )2 – max(1 - g(x)/R, 0 )2

– max(1 - h(x)/R, 0 )2,

Page 17: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Example - Skeleton

d(x) = | f(x) | + | g(x)|

Union of blends Skeleton - Miro doing the swing

Page 18: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Texturing

Finite Support dnew(x) = dold(x) + T(x)

cos(a ||x||) cos(A||x||), if ||x|| < /(2a) T(x) =

0, otherwise,

Ball peen hammer Ripples

Page 19: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Regularization

Streamlines - Viewing the Gradient Field

Contraction Expansion

Page 20: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Regularization

Texturing and Booleans degrade the field

Tortured Path Impossible Path

Page 21: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Regularization

Optimizing the discrete implicit structure

Constrained zero set and boundary

Random Field - 2D case Minimal Area - Soap Film

010

20

5

10

15

20

Page 22: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Regularization

Smoothing the Field - better computation,

better parametrization, infinite reusability

Untortured Path Now Possible Path

Page 23: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

ParametrizationCorrespond Plane to Surface

Stenciling Bitmapping, Embossing etc.

View Plane to Surface Petal on Weave

Page 24: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Putting it Together

Texturing. Skeleton and Boolean{

float TempT = 0.15*sin(x/0.1)*sin(y/0.1)*sin(z/0.1) +0.3*sin(x/0.05)*sin(y/0.05)*sin(z/0.05);

ITag = 1; // Set color gold

F = pow(x,2)+2.0*pow(y,2)+2.0*pow(z,2)-1.0; // Ellipsoid

float Fi = F-TempT; // Add texture

float Fo = F+TempT; // Subtract Texture

F = fabs(Fo)+fabs(Fi); //Make skeleton

float TempF = pow(x,2)+2.0*pow(y,2)+2.0*pow(z,2)-0.8; // Offset ellipsoid

if (F > TempF) //Create union

{

F = TempF;

ITag = 0; // Set color eggshell

} }

Concise Code for Fabergé Egg

Page 25: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Putting it Together

Blended Booleans, Regularization

“Drag and Drop” Molecule Conformation

Page 26: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Putting it Together

Skeleton Booleans, Parameterization, Relief mapping, Bitmapping, Regularization

Filigreed Brooches: Bas-relief and Bitmap

Page 27: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Conclusion

FutureAntialiasing

Hardware acceleration

Global Illumination

Web graphics

Extended operations (articulation)

New tools, new context for mathematical

design of shape

Page 28: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Current research interests

Bitmapping across singularities

AnimationSidefx

Digital Domain

Page 29: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Conformal mapping

From fit data

to pre-image

to conformal fit

to near conformal map

Page 30: Prologue - Archimedes A Roman soldier came up to him unexpectedly and commanded him to follow; which Archimedes declined to do before he had worked out.

Geometric algebra

(applied Clifford algebra)

null vector algebra

distance geometry

linearizes the conformal group

metriframe (x + e + 1/2 x2e)E