Feature Based Modeling and Design Alyn Rockwood Kun Gao KAUST
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 choose to 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 GoetheJohann Wolfgang von Goethe
What is a “Feature?” Boundaries, G 1 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. G 2 continuity. Connecting patches smoothly Functionality. Compact database, rapidly computed, analytic surfaces and supports rendering.
Desiderata
A New Approach - foundations Discrete least squares minimizes (x - x i ) 2 + (y - y i ) 2 + (z - z i ) 2 Weighted least squares minimizes w i (x,y,z) [(x - x i ) 2 + (y - y i ) 2 + (z - z i ) 2 ] Where, for example w i (x,y,z) = 1 / [(x - x i ) 2 + (y - y i ) 2 + (z - z i ) 2 + i ]
A New Approach In parameter space, find u i, the closest point on the i th footprint to given point u u u1u1 u2u2 u3u3
A New Approach In parameter space, find d i, the “distance” to closest point on the i th footprint u d3d3 d2d2 d1d1
A New Approach Footprints are pre-images of features in object space via feature maps f i. on the i th footprint. Define x i so that f i (u i ) = x i u1u1 u2u2 u3u3 x1x1 x2x2 x3x3 f3f3 f2f2 f1f1
A New Approach In object space, find weighted least squares solution of the x i where the weights w i (x,y,z) = 1 / d i x1x1 x2x2 x3x3 x
A New Approach F(u) = x u
A 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
Example Move u See x move u x u2u2 u1u1 u3u3 x3x3 x1x1
Example When u is close to the footprint then the corresponding feature dominates because its distance is small. The interpolation property u x x1x1 x3x3 u3u3 u2u2 u1u1
Solving the least squares Let f i : (u,v) (x,y,z), be the attribute functions Let w i : (u,v) w i R be the weight functions. For F = (x i (u,v), y i (u,v), z i (u,v) ) minimize: E = i ||f i (u,v) - F|| 2 w i (u,v) Hence without loss E/ x = i [-2(x i (u,v) - x ) w i (u,v) + (x i (u,v) - x ) 2 w i (u,v) / x] = i [-2(x i (u,v) - x ) w i (u,v)]. Minimizing by setting it to 0 i x i (u,v) w i (u,v) = x i w i (u,v). implies x = i x i (u,v) w i (u,v) / i w i (u,v). Putting it together:
Mildly surprising discovery F(u) = w i (u)f i (u) / w i (u) generalizes Shepard’s formula Weights and interpolants are defined in a separate parameter space with general distances
Convex combination The weights w i (u) / w j (u) sum to 1 (partition of unity). F(u) is affinely invariant. The surface lies within the convex hull of the f i (u) The surface reproduces the plane/line.
Minimal energy “soap film” effect Three lines and a sine curve; no connection needed
Higher order continuity Let F(u) = Ŵ i (u) 2 L i (u) where Ŵ i (u) = w i (u)/ j w j (u) and the loft L i (u) = (1-s i ) f i (t i ) + s i g i (t i ). (s i and t i are distance and footprint parameter functions of u) F(u) is cotangent to the linear loft L i (u) along the attribute curve f i (t i ). Tangency is determined by g i (t i ).
Interpolation to derivatives Five sided, horizontal slope, varying loft f i (t i ) g i (t i )
Interpolation to derivatives Five sided and slopes, linear lofts
Interpolation to derivatives Five sided and slopes, linear lofts
G 1 continuity Theorem 1. If F(u) = i [ R i (s i, t i )] (W i (u)/ i W i (u)) 2 are defined with separate footprints, where R i (s i, t i ) = (1- s i ) f i (t i ) + s i g i (t i ), then, F(u 0, v 0 )/ u = R i (0, t 0 )/ u and F(u 0, v 0 )/ v = R i (0, t 0 )/ v for point (u 0, v 0 ) on the footprint at parameter t 0. Parameter s i =s i (u,v) is the distance to the i th footprint Parameter t i =t i (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 f i (t) and have two lofts that share tangent planes at the common curve, then the surface patches also share common tangent planes; they are G 1 at f i (t).
G 1 continuity Contouring of three and four- sided patch configuration. Matched lofts across curves and at vertices.
Higher order continuity Let F(u) = Ŵ i (u) 3 Q i (u) where Ŵ i (u) = w i (u)/ j w j (u) and Q i (u) = (1-s i ) 2 f i (t i ) + 2 (1-s i ) s i g i (t i ) + s i 2 h i (t i ). F(u) is cotangent to the parabolic loft Q i (u) along the attribute curve f i (t i ). Curvature is determined by g i (t i ) and h i (t i ).
G 2 continuity Let Q i (s,t) = (1-s) 2 f i (t) + 2(1-s)s g i (t) + s 2 h i (t) be a parabolic loft. Consider two such lofts for each i th footprint, namely QL i (s,t) and QR i (s,t), Theorem 2. Given surfaces L(u) = i QL i (s,t) [W i (u)/ i W i (u) ] 3, and R(u) = i QR i (s,t) [W i (u)/ i W i (u) ] 3 in which QL i (s,t) and QR i (s,t) meet with G 2 continuity on the boundary curves of L(u) and R(u), then L(u) and R(u) are G 2 continuous. Theorem 3. Given surfaces as in Theorem 2 where QL i (s,t) and QR i (s,t) meet with twist continuity on the boundaries of L(u) and R(u), then L(u) and R(u) are twist continuous.
G 2 Continuity Set of 2, 3, 4 and 5-sided patches Isophote showing curvature continuity
G 2 Continuity Highly reflective, aesthetic surfaces
Editability Multi-sided patches: Car with 2-, 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 KelleyJohn Kelley
Floating edges Footprints are orthogonal projections of (red) attribute curves. 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 = f i (t i ), red = g i (t i ).
Two-sided attributes, single patch Floating edge with two lofts. Switch loft on footprint – C 0 continuity gleft i (t i ) gright i (t i )
Two-sided attributes, single patch Several floating edges (7) with paired lofts. Switch lofts on footprint – C 0 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! fleft i (t i ) fright i (t i ) Two-sided attributes, single patch
Several floating edges (3) with paired lofts. Antelope Island. Cliff
Closure of Parametric Curves Attributes include any parametric curve, which allows adding trigonometric noise, for example: f i new (t) = f i 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 shield and floating curve
Operations – degree of surface G 1 surface with cubic attributes: F(u) = Ŵ i (u) 2 L i (u): For i th 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 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.)
Operations - order of computation Limit singularity, w i (u) is large number: F(u) = i f i (u) w i (u) / i w i (u). Computation is linear with number of attributes Remove singularity: F(u) = i j i / w j (u)] f i (u i ) / i j i / w j (u)]. Recall w j (u) is reciprocal distance Computation is quadratic with number of attributes
Economy of data/input ObjectPatches CurvesLofts Noises Auto body Cartoon bird Morning glory Appalachia Pikes Peak Daffodil A-pillar
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 Sofia Kovalevskaya
Leif’s question Var. MeshAB surface Piecewise linearAlgebraically exact Numerical issuesAnalytic Mesh database( ) Small database( ) Vertex/feature editingAttribute editing PDE solutions (flow) None -yet Linear time in verticesLinear in attributes LOD re-initializeLOD add attributes Resolution re-initializeresample NoneFootprint issues