Tuesday, August 13, 2019

Fractal Faces: Julia Sets and Plane Real Algebraic Curves

The pictures below are the results of my experiments with trying to use the fractal app FractView (amazing app by the way) to make fractal like images resembling faces.

Basically I started by finding algebraic curves that had shapes I liked. So that means polynomials in x and y whose zero sets/varieties in the plane were cool shapes. I would sometimes take a couple polynomials in order to have multiple interesting shapes at once. Then I would write those polynomials down in terms of the real and imaginary parts of a complex number z and add the sum of the inverses of them to the equation being used to make a Julia set. I tried some variations but that was the basic idea. The reason it worked was that anytime the software examined points near the zero sets of the polynomials, the function generating the julia set would send those points towards infinity so they would all end up colored the same way. This method is not at all true to what Julia sets are, in fact it is a pretty awful thing. But some cool images came out of it.












 An attempt at using the Julia set software to graph a basic cubic curve

A mistake from early on

Monday, August 12, 2019

Dragons Inspired by Kleinian Groups

I wrote some code to deal with mobius transformations and used it to do some dragon curve experiments inspired by the book Indra's Pearls. I also used the same code to make Ford circles and an apolonian gasket and also a Lévy Curve.




























Saturday, October 22, 2016

Twitchy Hilbert

A while ago I read this article about the Hilbert Curve and I totally misunderstood it. I thought it was presenting a 1-1 mapping between the number-line and the Hilbert Curve. I was very confused at the time and if I had looked a little more carefully I would have seen I was wrong.

The mapping that was presented was not 1-1 but it was REALLY COOL. And it did map every point in [0,1] to a point in [0,1]X[0,1]. My misunderstanding lead me to use the mapping presented in a Java program that tried to draw the Hilbert curve using the mapping. Essentially I had a parameter t which would go from 0 to 1 in steps of size S. I drew a line between ti and ti+1 for every i. At the end I connected to the starting point and filled it in. I did not make the Hilbert curve, but my creation was very interesting. Below is a GIF of it where I vary S over time.

Some pictures of the shape with various increments:







Monday, August 10, 2015

Koch snoflake

The Koch snowflake is a classic fractal. It, like many other similar fractals, can be made a number of ways (IFS, Sierpinski hexagon, L systems, trees, more?). The usual way to make it is to draw an equilateral triangle, then for every line, draw a new equilateral triangle that has one edge along the middle third of the line. The process of replacing each line with a line that has a spike in the middle is repeated until you have the image below. I found the point of the added triangles by first finding the 2 points that separate the lines into thirds, then rotating the point that lies further counter clockwise and rotating it 60 degrees clockwise around the other point.

The modifications of the normal figure found here were made in several ways. Some where made by rotating the point counterclockwise rather than clockwise at varying times (e.g. every third triangle piece). Others were made by rotating it by different angles. One of the videos was made by varying things in a way I have not analyzed enough to understand; I believe it varied both angle and radius but if so it was done indirectly through rotation matrix shenanigans.

Koch

Anti-Koch












Video time!!!!