Solid Modeling Symposium, Seattle 2003 Aesthetic EngineeringCarlo H. Séquin EECS Computer Science Division University of California, Berkeley
I am a Designer, Engineer … CCD Camera, Bell Labs, 1973 Soda Hall, Berkeley, 1994 RISC chip, Berkeley, 1981 “Octa-Gear”, Berkeley, 2000
“Artistic Geometry” The role of the computer in: • the creative process, • aesthetic optimization. Interactivity !
What Drives My Research ? • Whatever I need most urgently to get a real job done. • Most of my jobs involve building things-- not just pretty pictures on a CRT. • Today: Report on some ongoing activities: -- motivation and progress so far. • Thanks to: Ling Xiao, Ryo Takahashi,Alex Kozlowski.
Outline: Three Defining Tasks #1: Mapping graphs onto surfaces of suitable genus with a high degree of symmetry. #2: Making models of self-intersecting surfaces such as Klein-bottles, Boy Surface, Morin Surface … #3: Coming up with an interesting and doable design for a snow-sculpture for January 2004.
Outline: Some Common Problems #A: “Which is the fairest (surface) of them all ?” #B: Drawing geodesic lines (or curves with linearly varying curvature) between two points on a surface. #C: Making gridded surface representations(different needs for different applications).
TASK GROUP #1Two Graph-Mapping Problems(courtesy of Prof. Jürgen Bokowski) • Given some abstract graph: • “K12” = complete graph with 12 vertices, • “Dyck Graph” (12vertices, but only 48 edges) • Embed each of these graphs crossing-free • in a surface with lowest possible genus, • so that an orientable matroid results, • maintaining as much symmetry as possible.
Mapping Graph K12 onto a Surface(i.e., an orientable two-manifold) • Draw complete graph with 12 nodes • Has 66 edges • Orientable matroid has 44 triangular facets • Euler: E – V – F + 2 = 2*Genus • 66 – 12 – 44 + 2 = 12 Genus = 6 Now make a (nice) model of that !
My Model • Find highest-symmetry genus-6 surface, • with “convenient” handles to route edges.
My Model (cont.) • Find suitable locations for twelve vertices: • Maintain symmetry! • Put nodes at saddle points, because of 11 outgoing edges, and 11 triangles between them.
My Model (3) • Now need to place 66 edges: • Use trial and error. • Need a 3D model ! • No nice CAD model yet.
A 2nd Problem : Dyck’s Graph • 12 vertices, • but only 48 edges. • E – V – F + 2 = 2*Genus • 48 – 12 – 32 + 2 = 6 Genus = 3
Another View of Dyck’s Graph • Difficult to connect up matching nodes !
Towards a 3D Model • Find highest-symmetry genus-3 surface: Klein Surface (tetrahedral frame).
Find Locations for Vertices • Actually harder than in previous example, not all vertices connected to one another. (Every vertex has 3 that it is not connected to.) • Place them so that themissing edges do not break the symmetry: • Inside and outside on each tetra-arm. • Do not connect the vertices that lie on thesame symmetry axis(same color)(or this one).
A First Physical Model • Edges of graph should be nice, smooth curves. Quickest way to get a model: Painting a physical object.
What Are the CAD Tasks Here ? 1) Make a fair surface of given genus. 2) Symmetrically place vertices on it. 3) Draw “geodesic” lines between points. 4) Color all regions based on symmetry. Let’s address tasks 1) and 3)
Construction of Fair Surfaces • Input:Genus, symmetry class, size; • Output: “Fairest” surface possible: • Highest symmetry: G3 Tetrahedral • Smooth: Gn continuous (n2) • Simple: No unnecessary undulations • Good parametrization: (for texturing) • Representation: Efficient, for visualization, RP Use some optimization process… Is there a “Beauty Functional” ?
Various Optimization Functionals • Minimum Length / Area: (rubber bands, soap films) Polygons; -- Minimal Surfaces. • Minimum Bending Energy: (thin plates, “Elastica”) k2 ds -- k12 + k22 dA Splines; -- Minimum Energy Surfaces. • Minumum Curvature Variation: (no natural model ?)(dk / ds)2 ds -- (dk1/de1)2 + (dk2/de2)2 dA Circles; -- Cyclides: Spheres, Cones, Tori … Minumum Variation Curves / Surfaces (MVC, MVS)
Minimum-Variation Surfaces • The most pleasing smooth surfaces… • Constrained only by topology, symmetry, size. D4h Oh Genus 3 Genus 5
Comparison MES MVS Things get worse for MES as we go to higher genus: pinch off 3 holes Genus-5 MES MVS
1st Implementation: Henry Moreton • Thesis work by Henry Moreton in 1993: • Used quintic Hermite splines for curves • Used bi-quintic Bézier patches for surfaces • Global optimization of all DoF’s (many!) • Triply nested optimization loop • Penalty functions forcing G1 and G2 continuity • SLOW ! (hours, days!) • But results look very good …
What Can Be Improved? • Continuity by construction: • E.g., Subdivision surfaces • Avoids need for penalty functions • Improves convergence speed (>100x) • Hierarchical approach: • Find rough shape first, then refine • Further improves speed (>10x) • Computers are 100x faster than 1993: >105 Days become seconds !
#B: Drawing onto that Surface … • MVS gives us a good shape for the surface. • Now we want to draw nice, smooth curves:They look like geodesics …
PolyhedralApproximation Geodesic Lines • “Fairest” curve is a “straight” line. • On a surface, these are geodesic lines: They bend with the given surface, but make no gratuitous lateral turns. • We can easily draw such a curve from an initial point in a given direction: Step-by-step construction of the next point (one line segment per polyhedron facet).
Real Geodesics • Chaotic Pathproduced by a geodesic lineon a surfacewith saddlesas well as convex regions.
Geodesic Line Between 2 Points • Connecting two given points with the shortest geodesic on a high-genus surface is an NP-hard problem. T S
Problem: • Where Gauss curvature > 0 (bumps, bowls) • two possible paths focussing effect. V V S S T T Try: Target-Shooting • Send geodesic path from S towards T • Vary starting direction; do binary search for hit.
Target-Shooting Problem (2) • Where Gauss curvature < 0 (saddle regions) no (stable) path defocussing effect. T1 T2 S T2 V S V T T1 T1, T2 can only be reached by going through V !
Polyhedral Angle Ambiguity • At non-planar vertices in a polyhedral surface there is an angle deficit (G>0) or excess (G<0). • Whenever a path “hits” a vertex,we can choose within this angle,how the path should continue. • If, in our binary search for a target hit,the path steps across a vertex,we can lock the path to that vertex,and start a new “shooting game” from there.
“Pseudo Geodesics” • Need more control than geodesics can offer. • Want to space the departing curves from a vertex more evenly, avoid very acute angles. • Need control over starting and ending tangent directions (like Hermite spline).
LVC Curves (instead of MVC) • Curves with linearly varying curvaturehave two degrees of freedom: kA kB, • Allows to set two additional parameters,i.e., the start / ending tangent directions. CURVATURE kB ARC-LENGTH kA B A
The Complete “Shooting Game” • Alternate shooting from both ends, • gradually adjusting the two end-curvature parameters until the two points are connected and the two specified tangent directions are met. • Need to worry about angle ambiguity,whenever the path correction “jumps”over a vertex of the polyhedron. • Gets too complicated; instabilities … • ==> NOT RECOMMENDED !
More Promising Approach to Findinga “Geodesic” LVC Connection • Assume, you already have some path that connects the two points with the desired route on the surface (going around the right handles). • Move all the facet edge crossing points so as to even out the curvature differences between neighboring path sample pointswhile approaching the LVC curve with the desired start / end tangents.
Path-Optimization towards LVC • Locally move locations of edge crossingsso as to even out variation of curvature: S C V C T As path moves across a vertex, re-analyze the gradient on the new edges, and exploit angle ambiguity.
TASK GROUP # 2Making RP Models of Math Surfaces • Klein Bottles • Boy’s Surface • Morin Surface • … Intriguing, self-intersecting in 3D
“Skeleton of Klein Bottle” • “Transparency” in the dark old ages when I could only make B&W prints: • Take a grid-approach to depicting transparent surfaces. • Need to find a good parametrization,which defines nicely placed grid lines. • Ideally, avoid intersections of struts (not achieved in this figure). SEQUIN, 1981
Triply Twisted Figure-8 Klein Bottle SEQUIN 2000 • Strut intersections can be avoided by design because of simplicity of intersection line and regularity of strut crossings.
Avoiding Self-intersections • Rectangular surface domain of Klein bottle. • Arrange strut patternas shown on the left. • After the figure-8 fold, struts pass smoothly through one another.
Triply Twisted Figure-8 Klein Bottle As it comes out of the FDM machine
The Projective Plane PROJECTIVEPLANE C -- Walk off to infinity -- and beyond …come back upside-down from opposite direction. Projective Plane is single-sided; has no edges.
Model of Boy Surface Computer graphics by John Sullivan (1998)