Inversive Kaleidoscopes and their Visualization
Year: 2014 Authors: Vladimir Bulatov
Core claim
Inversive kaleidoscopes can be modeled and visualized in 3D through inverse mapping, enabling renderings and printable objects for their tilings and limit sets.
Topics
inversive geometry, kaleidoscope tilings, limit sets, 3D visualization
Domains
geometry, reflection groups, hyperbolic geometry, Coxeter polyhedra, 3D printing, computational art, visualization, generative design
Methods
inverse mapping, ray-tracing style rendering, voxel processing, group transformations
Media
ShapeJS, Fragmentarium, stainless steel, bronze, nylon
Paper text
The text below is the locally extracted OCR/Markdown version of the paper. Raw PDF files remain local and are not published here.
Proceedings of Bridges 2014: Mathematics, Music, Art, Architecture, Culture
Inversive Kaleidoscopes and their Visualization
Vladimir Bulatov Shapeways Inc. info@bulatov.org
Abstract
We present a generalization of kaleidoscopes to the domain of inversive geometry. Several 3D printed examples are built using the open source scripting engine ShapeJS.
Inversive Geometry
According to the Felix Klein Erlangen program, a geometry is a set of objects and transformations applied to the objects. The fundamental objects of 3D inversive geometry [5] are points, lines and circles (clines), and spheres and planes (splanes). The transformations of inversive geometry are arbitrary compositions of reflections in splanes (reflections in spheres are defined as inversions). All such transformations map splanes into splanes and clines into clines. Transformations are conformal (angles are preserved), however, there is no convenient definition of distance.
Inversive geometry in Euclidean 3D space is a universal container for all three classic geometries in spaces of constant curvature. 2D and 3D hyperbolic space can be embedded into 3D inversive geometry as 2D disk (or half plane) and 3D ball (or half space) models. 2D spherical space can be embedded in 3D inversive geometry as a sphere or a plane model. 3D inversive geometry also contains stereographic projection of 3D spherical space. And 3D inversive geometry can be considered as the horizon (infinity) of 4D hyperbolic geometry represented in the upper half space model.
It is possible and sometimes may be convenient to describe all non-linear 3D inversive geometry transformations as linear transformations in 5D space, but this is not necessary. One can remain in three dimensions in all calculations, which is convenient for visualization.
Construction of Inversive Kaleidoscope
A traditional kaleidoscope can be made with a few physical plane mirrors. The dihedral angles between mirrors should be kaleidoscopic (i.e. a submultiple of ). The polyhedral region bound by the mirrors is called the fundamental domain of the kaleidoscope. Polyhedra with kaleidoscopic dihedral angles are often called Coxeter polyhedra. Reflections of the fundamental domain in its sides cover the whole 3D space with reflected copies of the fundamental domain and form a tiling of 3D space. The transformations of the fundamental domain into each tile form a discrete group of transformations and the reflections in the sides of the fundamental domain are the generators of the group.
An inversive kaleidoscope is made out of an arbitrary number of virtual splane mirrors, which bound curved fundamental domain. Each splane separates the whole space into two regions, which we call half spaces. We can define a specific half space via its bounding splane and the direction of external normal. The dihedral angles of an inversive kaleidoscope should be submultiples of for intersecting splanes or 0 for tangent splanes. The fundamental domain of the inversive kaleidoscope can be finite or infinite, connected or disconnected. Such a curved fundamental domain may be called a generalized Coxeter polyhedron.
The tiles of the inversive kaleidoscope have a property that is not presented in the Euclidean kaleidoscopes. There may be regions in space where tiles shrink infinitely in size. Such regions are called the limit
sets of the group. The limit set of the group may be empty, finite, a simple cline (Figure. 3), a simple splane or may be very complex structure with fractal properties (Figure. 4).
Building the Tiling and its Limit Set
How can we visualize the tiling and its limit set? A straightforward approach to the problem is to place some shape inside of the fundamental domain and apply all possible transformations of the group. This is the way the light in the physical kaleidoscope forms the image of the object inside of the fundamental domain. As most of the interesting inversive groups are infinite, in theory we need to apply an infinite number of transformations. In practice we have to use some threshold to limit the count to a finite number of operations. Such an approach works well in simpler cases, like finite groups or 2D or 3D hyperbolic reflection groups. However, the count of needed transformations grows very rapidly with the size of tiles approaching zero and the complexity easily exceeds computer memory and the capability of rendering hardware.
Instead we use a so-called inverse mapping technique used [4] for 2D hyperbolic geometry and generalized by us for 3D inversive geometry. The idea is similar to the ray-tracing approach in computer graphics – for each pixel in the image plane (voxel in the object volume) we find its color by mapping the voxel back into a point in the fundamental domain (inverse transformation) and use the color of that point to color the pixel (voxel). The inverse of that mapping gives the direct transformation, which maps the point in the fundamental domain into that pixel (voxel). Each transformation carries with it its stretching factor (transformations are conformal, therefore the stretching is uniform). The images of the fundamental domain near the limit set are shrunk to zero size, therefore the magnitude of the stretching factor can be used as a measure of the distance from the voxel to the limit set. That distance can be used for a visualization of the limit set itself – voxels with the distance value within some small threshold form a thin shell which surrounds the limit set.
The calculations of the inverse mapping sequence are independent for each point of space. Therefore the problem can be easily parallelized. For visualization we use the open source program Fragmentarium [3] which provides a convenient interface for the development and execution of a code in a graphics processor.
To make models ready for 3D printing we use the open source 3D graphics scripting engine ShapeJS [2] developed by Shapeways. It is based on the voxel processing library AbFab3D [1]. ShapeJS uses voxel-based modeling and has built-in support for reflection symmetries and inverse mapping techniques. ShapeJS enables direct export of shapes into printable 3D files.
Examples of Inversive Kaleidoscopes
The simplest inversive kaleidoscope is just a single half space (interior or exterior of a sphere or plane). Its fundamental domain is the half space itself. The tiling of 3D space under transformation of this kaleidoscope has two tiles: a half space and its reflection (Figure 1). In Figures 1- 3 we show only a cross section of 3D space with a plane orthogonal to the generator’s splanes.
A less simple case is the intersection of two half spaces. Boundary splanes of the half spaces can intersect along some cline (Figure 2) or splanes can touch each other (have one point in common) or can be completely disconnected.
A case of three intersecting splanes is shown in Figure 3. The tiling inside of the limit set circle looks identical to the tiling of Poincare disk by triangles . However, in our case, the tiling is 3D and the fundamental domain is a torus-shaped region with a triangular cross section and the tiling covers the whole 3D space.
Figure 4 shows a cross section of the limit set and tiles of a four-generator group. Two generators are planes orthogonal to the image plane with intersection angle and the other two generators are spheres with centers in the plane of the image. One sphere is centered at the intersection of planes and is orthogonal to
Inversive Kaleidoscopes and their Visualization
Figure 1: One splane
Figure 2: Two splanes
Figure 3: Three splanes
both. The intersection angles of the second sphere with both planes are and with first sphere it is . The limit set is located in the image plane.
Figure 5 is a photo of a 3D printed object. It is the limit set of a group generated by reflections in nine spheres. One sphere is centered at origin. Eight other spheres are centered at the vertices of a cube. The angles between spheres at adjacent vertices are . The angles between the central sphere and the vertex spheres are . It is 3D printed in Stainless Steel and Bronze materials, by Shapeways, size .
Figure 4: Tiles and limit set of a 4 splanes group
Figure 5: Limit set of a group with 9 generators
Figure 6 is a photo of a 3D object printed in nylon, by Shapeways, size . It is the limit set of a group formed by inversions in 12 spheres. There are two sets of equivalent spheres. The first set is eight spheres located in the corners of the unit cube. The second set is four spheres placed symmetrically on and axes.
Bulatov
Figure 6: Limit set of a group with 12 generators
Acknowledgment
The author would like to express his gratitude to Alan Hudson, his colleague and collaborator on ShapeJS and AbFab3D projects.
References
[1] AbFab3D. 2012. abfab3d.com. [2] ShapeJS. 2013. shapejs.shapeways.com. [3] M. Christensen. Fragmentarium. 2012. syntopia.github.io/Fragmentarium/. [4] M. von Gagern and J. Richter-Gebert. Hyperbolization of euclidean ornaments. The Electronic Journal of Combinatorics, 16R2, 2009. [5] J.B. Wilker. Inversive geometry. In C. Davis, B. Grunbaum, and F.A. Sherk, editors, Geometric Vein: The Coxeter Festschrift, pages 379-442. Springer, 1982.