1 / 21

CAD Tools for Creating 3D Escher Tiles

This paper discusses CAD tools for creating intricate 3D Escher tiles. Topics include 2½D tilings, Java-based Delaunay triangulation, mesh-cutting algorithms, and user interface issues. Learn about interactive algorithms, edge flips, and visual debugging techniques. Explore constrained triangulations, mesh editing, and 3D tile design processes. Discover how to navigate complex 3D spaces and manipulate geometry for visually compelling projects.

denisejoyce
Download Presentation

CAD Tools for Creating 3D Escher Tiles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CAD Tools for Creating 3D Escher Tiles Mark Howison and Carlo H. Séquin University of California, Berkeley Computer-Aided Design and Applications June 11, 2009

  2. Overview • 2½D Tilings • Constrained Delaunay Triangulation in Java • Mesh-Cutting Algorithm • Visual Debugging • 3D Tilings • User Interface Issues

  3. Introduction • M.C. Escher popularized intricately decorated isohedral tilings. • Planar tilings can be designed with available tools on the web. • Specialized CAD tools help address the challenges of tiling other 2-manifolds. • What are interesting tilings of 3D-space?

  4. Tiling on 2-manifolds In the plane On the sphere On a genus-3 “Tetrus” surface In the Poincaré disk

  5. 2½D Tilings • Warm-up exercise before tackling full 3D. • Extruded 2D tilings form layers in 3-space. • Trivial case: extrude vertically, edit height field. • Fancier case: choose an “offset” between adjacent layers.

  6. Constrained Delaunay Triangulation in Java • Meshes provide boundary representations of tiles. • Delaunay triangulation produces aesthetically pleasing meshes with minimal sliver triangles. • Tile decorations can be specified as constraints. • Could not find existing CDT library for Java. • Many available for C, such as Jonathan Shewchuk’s Triangle. • Want interactive triangulation, not batch-mode processing. • Users are adding and moving vertices and constrained edges. • Developed our own library in Java! • Open-source (BSD license), available from Google code:http://code.google.com/p/jmescher

  7. jmEscher: CDT Library for Java • Delaunay triangulation uses Lawson’s (1977) incremental insertion algorithm, backed by a half-edge data structure. • Typically O(n log n): Performance is limited by how well you can locate which triangle contains the insertion site. • Uses edge flips to turn a non-Delaunay triangulation into a Delaunay one. • Constrained edge insertion uses algorithms by Anglada (1997). • Supports non-convex boundaries and interactive relocation of boundary vertices. • Robustness is provided by floating-point filters and arbitrary precision arithmetic (apfloat Java package).

  8. Locating Insertion Sites • Heuristic: use last inserted site as the search origin, since designer will often add vertices in localized groups. • Easy if you have a convex boundary: Walk along the triangles! • For non-convexboundaries, we loadcopies of theneighboring tiles tofill concavities asnecessary.

  9. Mesh-Cutting Algorithm • Need to form the bottom face of an offset 2½D tile. • Use a “cookie cutter” to truncate the geometry in the underlying landscape.

  10. Mesh-Cutting Algorithm (Cont’d) • User specifies lateral offset. • Construct cookie cutter as a boundary “shell” filled with temporary edges. • Walk along the boundary to identify intersections with the underlying landscape. • Extend the landscape as needed by loading additional mesh copies. 1. 2.

  11. Mesh-Cutting Algorithm (Cont’d) • Maintain a list of edge fragments that lie inside the cookie cutter. • Test for intersections among fragments. • After the boundary walk, add all fragments to the cookie cutter as constrained edges. • Perform a flood search to find the remaining geometry inside the cookie cutter. 3. 4.

  12. Visual Debugging • Animation and visualization help identify bugs and difficult or unexpected cases in geometric algorithms. • We implement visual “breakpoints” in Java2D by overriding the repaintmechanism. • Can insert breakpointsin mid-algorithm. • Can specify whichgeometric featuresto highlight.

  13. Results: 2½D Bird Tile

  14. 3D Tilings • Exploring two fundamental domains: • #1: Truncated octahedron, derived from the body-centered cubic lattice.

  15. 3D Tilings • Exploring two fundamental domains: • #2: Rhombic dodecahedron, based on the densest sphere packing.

  16. Overview of 3D Editing Interface • Phase I: • Individual “panes” of the 3D tile are Delaunay triangulated. • Vertices can be moved in 2D within pane interior. • Boundary vertices cannot be moved yet, since this would create non-planar panes. • Phase II: • All vertices can be moved in 3D: • Last selected point defines an extrusion vector. • Can move points along extrusion vector or parallel to the edit pane. • Local edits available by trisecting faces, but no Delaunay guarantee. • Limited “roll-back” to Phase I.

  17. User Interface Issues • Occlusion is an obstacle to free-form editing of 3D tiles. • Because of symmetry, edits in the current view will also change opposite faces. • Creating a convex feature (e.g. a fish fin) creates a corresponding concave feature (e.g. eye socket) on the opposite side. • Dual cameras show pairingsconvex/concave.

  18. User Interface Issues (Cont’d) • 3D domains can be scaled/skewed and remain space-filling. • What is the easiest way to manipulate this affine transform? • Created a widget with 9 control points, each restricted to one degree of freedom. • Widget maintains same orientation as camera.

  19. User Interface Issues (Cont’d) • 3D tilings can have complicated interlocking features. • Nearest neighbors can be scaled/translated to reveal the interface between adjoining tiles. Scaled to 85% + translated 0.6 tile lengths away Scaled to 85%

  20. Results: 3D Fish Tile

  21. Conclusion • Specialized CAD tools make it possible to design and fabricate space-filling Escher tiles. • In 2½D, we can draw on an existing “vocabulary” of 2D tilings from Escher’s sketchbook. • 3D cubic lattice tiles are more difficult to design. • The entire editable surface is constrained to fit seamlessly with adjacent tiles. • In the 2D case, only the 1D border is subject to symmetry constraints, while the interior can be decorated freely • There is no Escher sketchbook for 3D. • Artists needed!

More Related