Create Presentation
Download Presentation

Download Presentation

Solid Modeling Symposium, Seattle 2003

Download Presentation
## Solid Modeling Symposium, Seattle 2003

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**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)