## Gallery

### Dragon Curve, April 2018

A quick Mathematica notebook generating the Dragon curve:

### Visualizing SL(2,R)

#### MEGL Project by Joseph Frias, Fall 2017

Click the images for an interactive visualization of geodesic flow on the modular surface SL(2,R)/SL(2,Z). Once in the app, click to shoot the "soccer ball" along a hyperbolic geodesic, and try to hit the red "goal". Notice that the geodesic is normalized using SL(2,Z) symmetry to always stay in the starting tile; and that even though it's hard to hit the goal directly, it's remarkably hard to MISS it if you give the ball time to bounce around (this is due to ergodicity of geodesic flow on the modular surface). Press Q to visualize the location of the soccer ball as a Clifford torus in top view.

### Snowballs, March 2017

A 3D variation on the von Koch snowflake. Download the Mathematica notebook or Notebook and images.

Five iterations for the 3-snowball (click for higher resolution):

Two more views of Step 3, showing the "stairway" and the larger square:

Four iterations of the 5-snowball:

### Snakes in the plane (2015)

### REU project by Vaqaas Aslam and Rishee Batra

Snakes in the Plane is a variation on the old game of Snake, in which the player navigates a snake around a map trying to eat food. Every time the snake eats, its tail gets longer - and colliding with either its tail or a wall kills the snake. In our version, the snake can live not only on a simple rectangle but also on such surfaces as torus, Mobius strip, or Klein bottle among others. We hope this game serves as an interesting and informative exploration of what motion on these types of surfaces looks like, and we also hope you enjoy playing it!

Download the game for: PC or Mac.

### Complex and Heisenberg continued fractions (2013-2014)

Continued fractions are a way of writing numbers as infinite fractions. For example, e=2+1/(1+1/(2+1/(1+...))), which is also written
as e=[2; 1,2,1,1,4,1,1,6,...]. To obtain these digits, you take the integer part of the number getting the fracitonal part, and then divide
1 by the fractional part --- and then keep going forever to get all the digits. The process is captured by the Gauss map.
The Gauss map is relatively straightforward for real numbers, but gets messy for complex numbers. In the complex case,
one starts with some region like the unit square centered at the origin and applies the same procedure as before. Different parts of the
square have different starting digits.

Most of these regions still look like distorted squares --- except for the red one that wants to stick out of the square, and the rest of the
regions (not drawn in) along the edge of the square. Things get even worse if we specify the first two digits:

Suppose you start with a random point in the square and apply the invert-truncate "Gauss map" over and over. It is known that for most starting points, you end up visiting every region of the square, but not equally often. Strangely enough, the frequency with which you visit different parts of the square is the same for pretty much any point.

What is NOT known is what happens if you move the square a bit. It appears that the Gauss map still behaves similarly.
Here are the results of some experiments with moving the square. Here, for each frame of the video I picked points randomly
and applied the Gauss map to them to see how often they visited different parts of the square. It is known that the first frame here
is correct, but no one knows what the other frames ACTUALLY look like.

We can play the same game in hyperbolic space. There, instead of the square we use the following region:

The corresponding invariant density is hard to show. Below, we (me and Joseph Vandehey) place spheres at each point.
The bigger the sphere, the more often the Gauss map visited that part of the "square".