Constructive Solid Geometry

I will post about intersections in the near future, and I think it is instructive to explain how easy it is these days to visualize intersections of sets. For instance, an infamous Calculus problem asks to compute the volume of the intersection of two cylinders of equal radius whose axes intersect at a right angle:

Cylinder 2

This image shows the union of the two cylinders. It can be rendered in PoVRay using the following code:

#declare color1 = rgb <0.824802, 0.572810, 0.332621>;
#declare color2 = rgb <0.288963, 0.391247, 0.546639>;

union {
	object {
		cylinder {<3,0,0>,-<3,0,0>, 1}
		pigment {color color1}
	}
	object {
		cylinder {<0,3,0>,-<0,3,0>, 1}
		pigment {color color2}
	}
	scale .4
	rotate <90,30,0>
	rotate <-30,0,0>
}

To make this a complete scene file, you need to add before this camera and light source settings, for instance:

global_settings { assumed_gamma 2.2 }

#include "colors.inc"

camera {
	location <0,0,-4>
	angle 40
	right x*image_width/image_height    
	up y
	look_at <0,0,0>
}

#default {
	finish {
		ambient .1
		diffuse .3
		specular .2 
	}
}

light_source {
	<3,3,-8> color White
}
light_source {
	<3,-3,-8> color White
}
light_source {
	<-3,3,-8> color White
}
light_source {
	<-3,-3,-8> color White
}

background {color White}

Cylinder 2i

To render the intersection above, you just need to replace union by intersection.
While amusing, this doesn’t help to solve the problem. The main idea is to slice the two cylinders with planes parallel to the two axes of the cylinders, and to realize that you will get squares, because both cylinders are cut into parallel strips. One way to visualize that is by slicing the two cylinders with thin slabs, and throwing away every other slab, like so:

Cylinder 2b

The PoVRay code for this uses a simple loop and intersects the two cylinders with a union of slabs. Note that the plane primitive represents a half space, given by normal vector and distance to the origin. So a slab is nothing but the difference of two half planes:

intersection {
	object {
		cylinder {<3,0,0>,-<3,0,0>, 1}
		pigment {color color1}
	}
	object {
		cylinder {<0,3,0>,-<0,3,0>, 1}
		pigment {color color2}
	}
	union {
		#declare height = -1;
		#declare step=.05;
		#while (height <1)
			difference {
				plane {<0,0,1>,height+step/2}
				plane {<0,0,1>,height}
				pigment {color color3}
			}
			#declare height = height+step;
		#end
	}
}

Finally, let’s try to incorporate more of the two cylinders so that it becomes clear in a single image that we are intersecting cylinders. We do this by adding the differences between one cylinder and a slightly larger copy of the other cylinder as follows:

intersection {
	union {
		intersection {
			object {
				cylinder {<3,0,0>,-<3,0,0>, 1}
				pigment {color color1}
			}
			object {
				cylinder {<0,3,0>,-<0,3,0>, 1}
				pigment {color color2}
			}
		}	
		intersection {
			object {
				cylinder {<3,0,0>,-<3,0,0>, 1+.3}
				pigment {color color1}
				inverse
			}
			object {
				cylinder {<0,3,0>,-<0,3,0>, 1}
				pigment {color color2}
			}
		} 
	 	intersection {
			object {
				cylinder {<3,0,0>,-<3,0,0>, 1}
				pigment {color color1}			
			}
			object {
				cylinder {<0,3,0>,-<0,3,0>, 1+.3}
				pigment {color color2}
				inverse
			}
		}
	}
	union {
		#declare height = -1;
		#declare step=.1;
		#while (height <1)
			difference {
				plane {<0,0,1>,height+step/2}
				plane {<0,0,1>,height}
				pigment {color color3}
			}
			#declare height = height+step;
		#end
	}
}

Cylinder 2c

I imagine Archimedes would have been pleased.

Joshua Tree

Most people of my generation are familiar with the Joshua tree because of the 1987 album by the band U2. I have been thrilled to hear that they will be on a Joshua Tree tour this year, again.

Berkeley051b

When I visited Joshua Tree National Park in January 1994 for the first time, I became quickly obsessed with finding the most photogenic specimen.

Berkeley086b

And there are thousands of them, all lamenting the state of the planet, it seems.

Berkeley144b

They are interesting plants – not trees, actually, but yuccas. Being able to spread through seeds or rhizomes, sprouting from their extensive root system, makes them well adapted to desert climate. Otherwise they are not particularly useful, which is probably the reason why they are still around.

Berkeley087b

Besides admiring the Joshua trees, there are other things one can do in the park. I, for instance, had liberated a cactus that was held in captivity in a store in Berkeley, and planted it in the desert.

Berkeley118b

We had ideals back then.

Three Quarters (From the Pillowbook VIII)

Today we will talk about a single, very neglected pillow, which I will call 3/4. To make things look pretty, we will color it depending on its orientation, as follows.

Single 01

Discriminated for centuries by the other, more curvy pillows, 3/4 only likes to hang out with other 3/4s and hide its straight edges as much as possible. Like so:

Right1 p

These two examples are portions of periodic tilings of the entire plane. This way, all straight edges are hidden, and we have periodically placed holes. This quickly becomes more interesting. Here, for instance, is the only tiling that has just circular holes (up to symmetries, of course):

Right2 p

The holes can be more complicated, like these double holes in subtly different periodic tilings.

Right5 p

Next month, we will analyze these patterns a bit. For today, we end with an example that indicates that the holes can become really big (as we will learn).

Right6 p

For today it’s enough to have learned that also the seemingly uninteresting can do pretty things.

Tulip Trestle

DSC 8692

This is the Richland Creek in Green County, Indiana. Nothing spectacular about it, but this is how much of southern Indiana looks like in winter. This creek is bridged by an enormous railroad trestle, whose insisting presence almost justifies is existence.

DSC 8674

Near the ground, the steel posts are hidden in the brush. Then they emerge, undeniably.

DSC 8691

Made, not grown, and grabbing all the space there is.

DSC 8729

Is dialogue possible?

DSC 8688

The letter T, with which both Tree and Trestle begin, (and Tower, Tall, Top, and others, worse) seems to indicate in its negative space the lack of anything above.

DSC 8660

Will Time say nothing but I told you so?

DSC 8784

Fermat’s Quartic Curve

Today we look at the Fermat equation x^4+y^4+z^4=0 as a subset of the complex projective plane, where it becomes an algebraic curve, or Riemann surface Q of genus 3. This has many advantages: For instance, we see that there are many automorphisms (96 in total) coming from permuting the coordinates or multiplying them with powers of i.

8gons 01

Our first goal is to visualize Q so that we retain as many symmetries as possible. A standard approach is through uniformization: Any compact Riemann surface of genus > 1 has a unique hyperbolic structure, and the holomorphic automorphisms of the Riemann surface fully survive as hyperbolic isometries.

Fdomain 01

To find this hyperbolic structure, note that the defining equation implies that the function y/x represents the surface as a 4-fold branched cover over the Riemann sphere, branched over four points that can be chosen as the fourth roots of unity. Such a sphere can be represented by taking two squares and gluing them together along their edges. This means that Q will be tiled by 8 squares, so that they all fit round any of the four vertices. While Euclidean squares don’t like this, we can use hyperbolic 45 degree squares.

3gons 01

The top image shows the tiling of the hyperbolic plane by such squares, together with the dual tiling by right angled regular octagons outlined in yellow. The second image shows just the eight squares that constitute the surface, and the red geodesics indicate the identifications needed to get the closed surface Q.

Petrie 01

This tiling by eight squares (as well as the dual tiling by four octagons) is platonic in the same way that a cube is platonically tiled by six squares: The symmetries of the surface act transitively on flags (i.e. point-edge-face chains). This is already pretty but not the end. The octagons of the dual tiling can be each subdivided into eight 45 degree equilateral triangles that also tile the surface platonically. The 12 vertices of these 32 triangles happen to be the Weierstrass points of Q (3rd figure).

OctahedralQ

The identifying geodesic zigzag through these smaller triangles as Petrie polygons, and close on Q always after passing through six triangles. Moreover, one can decompose the tiled hyperbolic plane into ribbons (4th figure) consisting of such triangle chains. What is left are triangles that only meet at vertices. On Q, one has fours such ribbons and eight isolated triangles. Because the ribbons close after six triangles, it is tempting to represent them by the six equatorial triangles of an octahedron in Euclidean space. Doing this while gluing in the isolated triangles results in exactly the same triply periodic polyhedral surface we constructed last time. That means that the Fermat quartic Q is conformally isomorphic to the quotient of that triply periodic polyhedron divided by its lattice translations. This was dense today. More details are in Dami’s paper.

Bridges, Rivers, and Walls

DSC 0607
Locals rarely go on sightseeing tours for tourists, which contributes to their different perception of things. For instance, living behind a wall is nothing strange when you grow up with it. When I (re)visited Berlin in 2015 for a conference, the conference excursion was a boat trip on the Spree.

DSC 0735

While I knew that Berlin has that river, it had never become part of my perception of Berlin as a city. The Spree does nothing for Berlin like the Seine does for Paris, the Thames for London, or the Danube for Budapest or Vienna, the Rhine for Cologne (to name a few). It is small, largely canalized, and so much covered with bridges that one can easily overlook it.

DSC 0647

These bridges connect the northern with the southern part of the city. Some of them are old, other modern. In contrast, the Spree connects the eastern with the western part, and it did so even when there was a wall. Rivers are hard to stop, like time. Crossing from west to east on this little river was a special moment for me.

DSC 0675

Above is the cathedral, to its left the (re-)construction of the Berlin City Palace, replacing the East German Palast der Republic, that it turn had replaced the original Baroque City Palace in 1950.

DSC 0736

Buildings serve many purposes, but they also mark and preserve time — for a while. The architects should never forget that time will flow on, inevitably.

DSC 0623

Golem (Fattend Skeletons)

Today I want to look at decorations of simplicial graphs. As an example, here is a decoration of last week‘s skeleton:

CI3

The vertices of the two skeletons have been replaced by tetrahedra, oriented and scaled so that vertices of neighbors touch. This should explain what I mean by a decoration: A geometric construction that consistently modifies the graph, in order to obtain something with similar symmetries (many) and possibly other desired properties. Another simple and well known decoration is that by Voronoi cells: We replace each vertex by the set of all points that are closer to that vertex than to any other vertex. In this case, the Voronoi cells are truncated octahedra, as shown in another post. Instead of replicating it here, one can also pass to the dual tiling, which is by rhombic dodecahedra. Try viewing it cross eyed.

StereoD

This is another polyhedral version of the Diamond surface of Schwarz. Like the one obtained from the truncated dodecahedra, the polyhedral approximation shares the conformal structure (by sheer symmetry).

There is another decoration that is quite remarkable:

CI4

Here, we have replaced each vertex and each edge of the original graph by an octahedron, properly scaled an oriented. We thus get two fattened skeletons that are congruent and disjoint. All faces are equilateral triangles, and all vertices have valency 6. There even is enough room between them to fit in the truncated octahedra, as one can see in the last image.

CI5

This image also shows how to position each octahedron within the cubical lattice: The central octahedron has its vertices along the edges of the lattice, dividing each edge in the ratio 1:3. That ratio ensures that the other three octahedra in the image become in fact regular. More about this next week.