document

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 his problem at hand. The soldier, enraged, drew his sword and ran him through. -Plutarch (version 1)

Upload: ryan-kidd

Post on 30-Dec-2015

12 views

Category:

Documents


1 download

DESCRIPTION

. - PowerPoint PPT Presentation

TRANSCRIPT

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)

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

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

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]

Distance Field

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

Distance Field

Offsets of zero set yield volumes

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

Reconstruction

A single trilinear field can represent highly curved surfaces

Rendering

Surface rendering– ray casting with analytic– surface intersection

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

Cloud of Points Rendering

Sample, bin and sort into z-buffer

Dense

Samples

Screen

View

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

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

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

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

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

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,

Example - Skeleton

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

Union of blends Skeleton - Miro doing the swing

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

Regularization

Streamlines - Viewing the Gradient Field

Contraction Expansion

Regularization

Texturing and Booleans degrade the field

Tortured Path Impossible Path

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

Regularization

Smoothing the Field - better computation,

better parametrization, infinite reusability

Untortured Path Now Possible Path

ParametrizationCorrespond Plane to Surface

Stenciling Bitmapping, Embossing etc.

View Plane to Surface Petal on Weave

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

Putting it Together

Blended Booleans, Regularization

“Drag and Drop” Molecule Conformation

Putting it Together

Skeleton Booleans, Parameterization, Relief mapping, Bitmapping, Regularization

Filigreed Brooches: Bas-relief and Bitmap

Conclusion

FutureAntialiasing

Hardware acceleration

Global Illumination

Web graphics

Extended operations (articulation)

New tools, new context for mathematical

design of shape

Current research interests

Bitmapping across singularities

AnimationSidefx

Digital Domain

Conformal mapping

From fit data

to pre-image

to conformal fit

to near conformal map

Geometric algebra

(applied Clifford algebra)

null vector algebra

distance geometry

linearizes the conformal group

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