feature based modeling and design alyn rockwood kun gao kaust
TRANSCRIPT
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