Title: Feature Based Modeling and Design
1Feature Based Modeling and Design
Alyn Rockwood Kun Gao KAUST
2Greetings from Saudi Arabia
3Greetings from Journal of Graphics
ToolsAnnouncing a special issue of Geometric
Algebra and Graphics Applications!
4Modeling with rectangular patchesProblems
- 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 choose
- to represent face.
- Awkward patch layout
5What 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
6What is a Feature?
- Boundaries, G1 discontinuities, creases, high
curvature regions, ridges, peaks
7Modeling with features
- A model that more closely reflects the artists
conception
8Desiderata
- 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.
9Desiderata
10A 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
11A New Approach
- In parameter space,
- find ui, the closest point on the ith footprint
to given point u
12A New Approach
- In parameter space,
- find di, the distance to closest point on the
ith footprint
d1
d3
d2
13A 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
14A New Approach
- In object space,
- find weighted least squares solution of the xi
- where the weights wi(x,y,z) 1 / di
x1
x
x3
x2
15A New Approach
F(u) x
16A New Approach
- To summarize
- From u find point on ith footprint
- and compute point on attribute
- to use it in least squares
- where weight is determined as
- reciprocal distance.
- Do it for all footprints
17Example
x1
x
x3
Move u See x move
u1
u
u3
u2
18Example
x1
When u is close to the footprint then
the corresponding feature dominates because its
distance is small. The interpolation property
x
x3
u1
u
u3
u2
19Solving 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
-
20Mildly surprising discovery
- F(u) ? wi(u)fi(u) / ? wi(u)
- generalizes Shepards formula
- Weights and interpolants are defined in a
separate parameter space with general distances
21Convex 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.
22Minimal energy soap film effect
Three lines and a sine curve no connection
needed
23Higher order continuity
- Let
- F(u) S Wi(u)2Li(u)
- where Wi(u) wi(u)/Sj wj(u) and the loft
- Li(u) (1-si) fi(ti) si gi(ti).
- (si and ti are distance and footprint
- parameter functions of u)
- F(u) is cotangent to the linear loft Li(u) along
- the attribute curve fi(ti).
- Tangency is determined by gi(ti).
24Interpolation to derivatives
- Five sided, horizontal slope,
- varying loft fi(ti) gi(ti)
25Interpolation to derivatives
- Five sided and slopes,
- linear lofts
26Interpolation to derivatives
- Five sided and slopes,
- linear lofts
27G1 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 sisi(u,v) is the distance to the ith
footprint - Parameter titi(u,v) is then parametric value of
the nearest point on the ith 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).
28G1 continuity
- Contouring of three and four-sided
- patch configuration.
- Matched lofts
- across curves and
- at vertices.
29Higher order continuity
- Let
- F(u) S Wi(u)3Qi(u)
- where Wi(u) wi(u)/Sj wj(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 Qi(u)
- along the attribute curve fi(ti).
- Curvature is determined by gi(ti) and hi(ti) .
30G2 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.
31G2 Continuity
- Set of 2, 3, 4 and 5-sided patches
- Isophote showing curvature continuity
32G2 Continuity
- Highly reflective, aesthetic surfaces
33Editability
- Multi-sided patches
- Car with 2-, 3- 4- and 5-sided patches
- A-pillar a single 7-sided patch
34Editability
- Minimal curve input for high expressive content
35Editability
- Editting cuves across interior, arbitrary
parameter position.
36Editability
- Editting cuves across interior, arbitrary
parameter position.
37Editability auto footprint
- Footprint space inferred from the shape of the
patch. - Automobile A-pillar
- 7-sided and lengths
- and flattening!
38Editability demo
39Floating edges
- Unattached footprint maps to unattached attribute
curve - surface interpolates floating curve
40Floating edges topology?
- A topologist is one who doesn't know the
difference between a doughnut and a coffee cup. - John Kelley
41Floating edges
- Footprints are orthogonal projections of (red)
attribute - curves. Appalachian mountain trimmed to square
- (arbitrary, no polygon!)
42Template parameter spaces
- Cylindrical footprint space. Circular
footprints. - Distance is is vertical height from point to
circle.
distance
u
43Template parameter spaces
- Similar shapes. Cylindrical footprint space
reapplied to daffodil- twice.
distance
u
44Interpolation to fractals
- Properly defined lofts yields slope of ridge
brown fi(ti), red gi(ti).
45Two-sided attributes, single patch
- Floating edge with two lofts.
- Switch loft on footprint C0 continuity
- glefti(ti)
-
- grighti(ti)
46Two-sided attributes, single patch
- Several floating edges (7) with paired lofts.
- Switch lofts on footprint C0 continuity
47Two-sided attributes, curves
- 7 Bezier curves with fractal noise is total data
base
48Two-sided attributes, single patch
- Floating edge with two attribute functions.
- Switch functions again C-1 continuity!
- flefti(ti)
-
- frighti(ti)
49Two-sided attributes, single patch
- Several floating edges (3) with paired lofts.
- Antelope Island. Cliff
50Closure of Parametric Curves
- Attributes include any parametric curve, which
- allows adding trigonometric noise, for example
- finew(t) fiold(t) 0, 0.3sin(5pit),
0.2sin(4pit),
51Closure of Parametric Curves Trim curves
- Trimming from footprint (parameter) space to
object space is traditional (5-sided, noise)
52Closure of Parametric Curves Watertight merging
of two surfaces
- Using trim curve as an attribute for 3-sided
53Closure of Parametric Curves Watertight merging
of two surface
- Moving 3-sided and trim curve
54Closure of Parametric Curves Watertight merging
of two surface
- Emblem on shield
- and floating curve
55Operations degree of surface
- G1 surface with cubic attributes
- F(u) S Wi(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 N2, 3, 4, and 5
- then degree in s is 2/1, 5/4, 10/9 and 16/15
- (s and t are affine maps of u and v.)
56Operations - 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 ?j?i 1/ wj (u) fi(ui) / ?i P j?i 1/
wj (u). - Recall wj (u) is reciprocal distance
- Computation is quadratic with number of
attributes
57Economy of data/input
- Object Patches Curves Lofts Noises
- Auto body 28 25 25 0
- Cartoon bird 7 21 21 0
- Morning glory 2 3 2 2
- Appalachia 1 6 0 0
- Pikes Peak 1 7 14 1
- Daffodil 4 5 4 2
- A-pillar 1 7 7 0
58Economy of data/input Palo Duro Canyon captured
with 128 edges
59Thank you!It is impossible to be a
mathematician without being a poet in soul.Sofia
KovalevskayaPoetry is as exact a science as
geometry FlaubertGeometry is as sublime an art
as poetry - ARSee also www.fredesign3d.com
60Leifs question
- Var. Mesh AB surface
- Piecewise linear Algebraically exact
- Numerical issues Analytic
- Mesh database(104-6) Small database(102-3)
- Vertex/feature editing Attribute editing
- PDE solutions (flow) None -yet
- Linear time in vertices Linear in attributes
- LOD re-initialize LOD add attributes
- Resolution re-initialize resample
- None Footprint issues