Feature Based Modeling and Design Alyn Rockwood Kun Gao KAUST

Preview:

Citation preview

Feature Based Modeling and Design

Alyn Rockwood Kun GaoKAUST

Greetings from Saudi Arabia

Greetings from Journal of Graphics Tools

Announcing a special issue of

Geometric Algebra and Graphics Applications!

Modeling with rectangular patches:Problems

“… current digital tools are unable to decouple the creative process from the underlying mathematical attributes of the surface.” -K. Singh

Laying out patches

Non-intuitive design curves:NOT what an artist would chooseto represent face.Awkward patch layout

What is a “Feature?”

• Die Mathematiker sind eine Art Franzosen; redet man mit ihnen, so übersetzen sie es in ihre Sprache, und dann ist es also bald ganz etwas anderes.– Mathematicians are like Frenchmen; if you talk

to them, they translate it into their own language, and then it is immediately completely different.

– Johann Wolfgang von Goethe

What is a “Feature?”

Boundaries, G1 discontinuities, creases, high curvature regions, ridges, peaks…

Modeling with features

A model that more closely reflects the artist’s conception

Desiderata•Multisided patches. Feature curves are not always rectangular.

•Freeform topology. Does not constrain design by forcing on how to layout patch networks, rather than features.

•Floating curves and points. Interior attributes allow fine-tuning and richness with minimal input.

•General curve Input. trig functions and fractals, isolated points, derivative information such as slopes and curvature enhance modeling effects.

•G2 continuity. Connecting patches smoothly

•Functionality. Compact database, rapidly computed, analytic

surfaces and supports rendering.

Desiderata

A New Approach - foundations

Discrete least squares minimizes

(x - xi)2 + (y - yi)2 + (z - zi)2

Weighted least squares minimizes

wi(x,y,z) [(x - xi)2 + (y - yi)2 + (z - zi)2]

Where, for example

wi(x,y,z) = 1 / [(x - xi)2 + (y - yi)2 + (z - zi)2+ i ]

A New Approach

In parameter space,

find ui, the closest point on the ith footprint to given point u

u

u1

u2u3

A New Approach

In parameter space,

find di, the “distance” to closest point on the ith footprint

ud3

d2

d1

A New Approach

Footprints are pre-images of features in object space via feature maps fi . on the ith footprint. Define xi so that fi (ui) = xi

u1

u2u3

x1

x2

x3

f3f2

f1

A New Approach

In object space, find weighted least squares solution of the xi

where the weights wi(x,y,z) = 1 / di

x1

x2

x3

x

A New Approach

F(u) = x

• F(u) = x

u

A New Approach

To summarize:From u find point on ith footprintand compute point on attributeto use it in least squares

where weight is determined as reciprocal distance.

Do it for all footprints

Example

Move uSee x move

F

u

x

u2

u1

u3

x3

x1

Example

When u is close to the footprint then thecorresponding feature dominates because its distance is small.The interpolation property

F

u

xx1

x3

u3

u2

u1

Solving the least squares

Let fi: (u,v) (x,y,z), be the attribute functions

Let wi: (u,v) wi R be the weight functions.

For F = (xi(u,v) , yi(u,v) , zi(u,v) ) minimize:

E = i ||fi(u,v) - F|| 2 wi(u,v)Hence without loss

E/x = i [-2(xi(u,v) - x ) wi(u,v) + (xi(u,v) - x )2 wi(u,v) /x]

= i [-2(xi(u,v) - x ) wi(u,v)] .

Minimizing by setting it to 0

  i xi(u,v) wi(u,v) = x i wi(u,v).  implies

  x = i xi(u,v) wi(u,v) / i wi(u,v). 

Putting it together:

 

Mildly surprising discovery

F(u) = wi(u)fi(u) / wi(u)

generalizes Shepard’s formula

Weights and interpolants are defined in a separate parameter space with general distances

Convex combination

The weights

wi(u) / wj(u)

sum to 1 (partition of unity).

• F(u) is affinely invariant.

• The surface lies within the convex hull of the fi(u)

• The surface reproduces the plane/line.

Minimal energy “soap film” effect

Three lines and a sine curve;

no connection needed

Higher order continuity

LetF(u) = Ŵi(u)2Li(u)

where Ŵi(u) = wi(u)/jwj(u) and the loft

Li(u) = (1-si) fi(ti) + si gi(ti).

(si and ti are distance and footprintparameter functions of u) F(u) is cotangent to the linear loft Li(u)

alongthe attribute curve fi(ti).

Tangency is determined by gi(ti).

Interpolation to derivatives

Five sided, horizontal slope,

varying loft fi(ti) gi(ti)

Interpolation to derivatives

Five sided and slopes, linear lofts

Interpolation to derivatives

Five sided and slopes, linear lofts

G1 continuity

Theorem 1. If F(u) = i [ Ri(si, ti)] (Wi(u)/ i Wi(u))2 are defined with

separate footprints, where Ri(si, ti) = (1- si) fi(ti) + si gi(ti), then,

 F(u0, v0)/u = Ri(0, t0)/u and F(u0, v0)/v = Ri(0, t0)/v  

for point (u0, v0) on the footprint at parameter t0.

Parameter si=si(u,v) is the distance to the ith footprint

Parameter ti=ti(u,v) is then parametric value of the nearest point on the i th footprint

Theorem guarantees that if two patches share a common curve

fi(t) and have two lofts that share tangent planes at the common curve, then the surface patches also share common tangent planes;

they are G1 at fi(t).

G1 continuity

Contouring of three and four-sided patch configuration.Matched loftsacross curves andat vertices.

Higher order continuity

LetF(u) = Ŵi(u)3Qi(u)

where Ŵi(u) = wi(u)/jwj(u) and

Qi(u) = (1-si)2 fi(ti) + 2 (1-si) si gi(ti) + si 2

hi(ti) .

F(u) is cotangent to the parabolic loft Q i(u)

along the attribute curve fi(ti).

Curvature is determined by gi(ti) and hi(ti) .

G2 continuity

Let Qi(s,t) = (1-s)2 fi(t) + 2(1-s)s gi (t) + s2 hi(t) be a parabolic loft.

Consider two such lofts for each ith footprint, namely QLi(s,t) and

QRi(s,t),

Theorem 2. Given surfaces L(u) = i QLi(s,t) [Wi(u)/ i Wi(u) ]3, and

R(u) = i QRi(s,t) [Wi(u)/ i Wi(u) ]3 in which QLi(s,t) and QRi(s,t)

meet with G2 continuity on the boundary curves of L(u) and R(u), then L(u) and R(u) are G2 continuous.

Theorem 3. Given surfaces as in Theorem 2 where QLi(s,t) and QRi(s,t)

meet with twist continuity on the boundaries of L(u) and R(u), then

L(u) and R(u) are twist continuous.

G2 Continuity

• Set of 2, 3, 4 and 5-sided patches

• Isophote showing curvature continuity

G2 Continuity

Highly reflective, aesthetic surfaces

Editability

Multi-sided patches:Car with 2-, 3- 4- and 5-sided patches

A-pillar a single 7-sided patch

Editability

Minimal curve input for high expressive content

Editability

Editting cuves across interior, arbitrary parameter position.

Editability

Editting cuves across interior, arbitrary parameter position.

Editability– auto footprint

Footprint space inferred from the shape of the patch.

Automobile A-pillar:7-sided and lengths…and flattening!

Editability– demo

Floating edges

Unattached footprint maps to unattached attribute curve;surface interpolates floating curve

Floating edges – topology?

• A topologist is one who doesn't know the difference between a doughnut and a coffee cup.– John Kelley

Floating edges

Footprints are orthogonal projections of (red) attributecurves. Appalachian mountain trimmed to square (arbitrary, no polygon!)

Template parameter spaces

Cylindrical footprint space. Circular footprints.Distance is is vertical height from point to circle.

u

distance

Template parameter spaces

Similar shapes. Cylindrical footprint space reapplied to daffodil- twice.

u

distance

Interpolation to fractals

Properly defined lofts yields slope of ridge

brown = fi(ti), red = gi(ti).

Two-sided attributes, single patch

Floating edge with two lofts.

Switch loft on footprint – C0 continuity

glefti(ti)

grighti(ti)

Two-sided attributes, single patch

Several floating edges (7) with paired lofts.

Switch lofts on footprint – C0 continuity

Two-sided attributes, curves

7 Bezier curves with fractal noise is total data base

Floating edge with two attribute functions.

Switch functions again – C-1 continuity!

flefti(ti)

frighti(ti)

Two-sided attributes, single patch

Two-sided attributes, single patch

Several floating edges (3) with paired lofts.

Antelope Island. Cliff

Closure of Parametric Curves

Attributes include any parametric curve, whichallows adding trigonometric noise, for example:

finew(t) = fi

old(t) + [0, 0.3*sin(5*pi*t), 0.2*sin(4*pi*t)],

Closure of Parametric Curves –Trim curves

Trimming from footprint (parameter) space to object space is traditional (5-sided, noise)

Closure of Parametric Curves –Watertight merging of two surfaces

Using trim curve as an attribute for 3-sided

Closure of Parametric Curves –Watertight merging of two surface

Moving 3-sided and trim curve

Closure of Parametric Curves –Watertight merging of two surface

Emblem on shieldand floating curve

Operations – degree of surface

G1 surface with cubic attributes:

F(u) = Ŵi(u)2Li(u):

For ith term:Cubic in t (parameter of attribute)Loft is linear in s (distance parameter)Weight is order (N-1)2 over (N-1)2 in s, where N is number of sides.

For examples, if N=2, 3, 4, and 5then degree in s is 2/1, 5/4, 10/9 and 16/15

(s and t are affine maps of u and v.)

Operations - order of computation

Limit singularity, wi(u) is large number:

F(u) = i fi(u) wi(u) / i wi(u).

Computation is linear with number of attributes

Remove singularity:

F(u) = i ji / wj (u)] fi(ui) / i ji / wj (u)].

Recall wj (u) is reciprocal distance

Computation is quadratic with number of attributes

Economy of data/input

Object Patches Curves Lofts NoisesAuto body 28 25 25 0Cartoon bird 7 21 21 0Morning glory 2 3 2 2Appalachia 1 6 0 0Pikes Peak 1 7 14 1Daffodil 4 5 4 2A-pillar 1 7 7 0

Economy of data/input – Palo Duro Canyon captured with 128 edges

Thank you!

It is impossible to be a mathematician without being a poet in soul.

Sofia Kovalevskaya

Poetry is as exact a science as geometry –Flaubert

Geometry is as sublime an art as poetry - AR

See also www.fredesign3d.com

Leif’s question

Var. Mesh AB surfacePiecewise linear Algebraically exactNumerical issues AnalyticMesh database(104-6) Small database(102-3)Vertex/feature editing Attribute editingPDE solutions (flow) None -yetLinear time in vertices Linear in attributesLOD re-initialize LOD add attributesResolution re-initialize resampleNone Footprint issues

Recommended