

 A new kind of fractal? - no_gravity
http://www.gibney.de/does_anybody_know_this_fractal
I stumbled across this and wonder what it is.
======
madhadron
It's not a fractal, but it is something familiar.

Multiply two complex numbers z and c is equivalent to taking z and applying a
rotation and dilation to it, the rotation through arg(c) and the dilation
through |c|. Division is the inverse of both, so z/c is z rotated by -arg(c)
and dilated by 1/|c|.

What you're looking at, then, is taking the operation defined by c (rotate by
-arg(c) and dilate by 1/|c|) and asking, if you take the Gaussian integers as
the vertexes of a directed graph, what fraction of the vertexes are the source
of an edge.

Consider the 1 dimensional analogy using real numbers. Given some real number
c, take all the integers as the vertexes of a graph, and if z/c (for some
integer z) is also an integer, I put a directed edge from z to z/c. When are
these connected? Well, if c is irrational, never. If c is rational, then there
will be an infinite number of connections, but how infinite? When c is 2,
there will be twice as many edges on average in any subset of the source
vertexes as when c is 4. If we can write c as p/q, then the smaller p is, the
more edges we'll get, and the brighter the pixel in your image.

The 1 dimensional analogy will have a spike at 1/2, smaller spikes at 1/3 and
2/3, yet smaller spikes at 1/4 and 3/4, smaller ones yet at 1/5, 2/5, 3/5, and
4/5, etc. The spikes will all be distinct (because between any two rationals
there is an irrational), but will be infinitely close (because the rationals
are dense in the reals). As you keep zooming in, you will get more and more
edges like this.

What you're seeing is a variation on the classical structure of the rationals
dense within the reals.

Now, a fractal is a set with a fractional Hausdorff dimension. We have to
extract a set from your function of c in order to talk about fractal
dimension. We could take the support of the function (everywhere it's not
zero). In the one dimensional case, that's the rationals. We could take level
sets farther up (the set of c such that f(c) = k, for a constant k). Those are
subsets of the rationals. However, the rationals, while dense in the reals,
are of measure zero in the reals, and have Hausdorff dimension zero, and so do
all the level sets. So it's not a fractal.

Doesn't make it any less pretty though.

~~~
beagle3
> Now, a fractal is a set with a fractional Hausdorff dimension.

Is there an authoritative definition of a fractal? The one you use rules out
structures like Hilbert curves, which are generally considered fractals.

~~~
ggchappell
> Is there an authoritative definition of a fractal?

Sort of. I believe Mandelbrot's original definition required only that the
Hausdorff dimension exceeds the topological dimension. And that kinda-sorta
includes Hilbert curves, if you count them as topologically 1-dimensional.

But I've seen other definitions, including a rather hazy one that was not a
_definition_ in the formal sense, but just talked about properties that
certain interesting sets tend to have: self-similarity, etc.

In any case, I have yet to find a situation in which the formal definition of
"fractal" actually _mattered_ significantly. (If someone knows of one, I'd be
interested.)

------
crntaylor
It would be a lot more useful if he also described how he generated the
picture, which would enable mathematicians to give him some useful pointers
for exploring it further.

~~~
no_gravity
Wow, HN front page! Ok, will describe the algorithm. One moment...

~~~
no_gravity
Ok, I have put a description of the algorithm above the comment section.

~~~
Aardwolf
How do you calculate that percentage, do you brute force it or do you have a
formula that estimates or exactly gives the percentage?

Also, do you allow the result of the division to be near a gaussian integer,
or do you do an exact floating point equals?

~~~
no_gravity
I brute force it up to n sample points. For the first image n was 100.

Yes, I allow the result to be near a gaussian integer. For the first image I
counted everything as a gaussian integer where (real%1<0.1 && imaginary%1<0.1)

------
binarymax
Very cool. I stumbled upon something in the late 90s that is fractal in nature
but doesnt use complex numbers - it just plots points directly on a grid with
no need for iteration.
[http://www.youtube.com/watch?v=uwjhRYZ_eSI&feature=plcp](http://www.youtube.com/watch?v=uwjhRYZ_eSI&feature=plcp)

------
EvilTerran
I'm reminded of Escher's "Square Limit" works. Not sure if this is actually
the same class of grid as those he used to generate them, but it's visually
similar at least:

[http://www.wikipaintings.org/en/m-c-escher/square-limit-
colo...](http://www.wikipaintings.org/en/m-c-escher/square-limit-colour)

------
mej10
This looks like the complex differentiation of 1/z with a grid like domain.

------
geon
It looks a lot like a cubic grid with perspective projection;
[http://degreesgame.com/display/ShowImage?imageUrl=/storage/I...](http://degreesgame.com/display/ShowImage?imageUrl=/storage/IMG_0659.PNG?__SQUARESPACE_CACHEVERSION=1342745883110)

------
bramcohen
From my sketchy understanding of your description of the algorithm, it seems
like a 2d version of the patterns in gaps you see when you look at cornrows.

------
yoos
The lines look like those on an inverted plane:
[http://xahlee.info/SpecialPlaneCurves_dir/Inversion_dir/inve...](http://xahlee.info/SpecialPlaneCurves_dir/Inversion_dir/inversion.html)

------
tylerneylon
It's possible that what we're looking at is based on the map f(z) = 1/z
applied to the cartesian coordinate grid.

This is old-school, but a long time ago I wrote a java applet to help explore
this function on the complex plane:

<http://www.math.nyu.edu/~neylon/applet1/>

If you move around the red square, you see a lot of the circular shapes that
look similar to those in the fractal.

I don't completely understand the algorithm being used, so I'm not sure how to
gain more confidence on this guess.

------
gnosis
Archive: <http://www.gibney.de.nyud.net/does_anybody_know_this_fractal>

~~~
Sami_Lehtinen
nyud.net doesn't really archive anything.
<https://en.wikipedia.org/wiki/Coral_cache>

------
mikecane
I have nothing mathematical to add here. Just want to say when I voted for
this item this morning I waited and waited for others to vote, then I had to
leave the PC for several hours. Before that, I kept looking at that image and
hoping others would vote for it and I'd see some Comments. Thanks for voting
for it and all these Comments!

------
dmboyd
My attempt using matlab(octave) to generate a 100x100 version of the image
(using his function description):

<https://gist.github.com/3903785>

Hadn't figured out if there is a way of vectorising it further. Would
appreciate any tips if anyone has any.

~~~
dmboyd
I've managed to hack it into a semi-vectorised implementation which works up
to 700x700 before it runs out of memory.

<http://i.imgur.com/xzgXW.png>

~~~
no_gravity
Interesting! You dont have the squares. This is a hint that the squares in my
version are due to floating point limitations.

~~~
dmboyd
It's probably a combination of floating point errors adding up.

------
knicholes
To me, it looks VERY similar to the Laue pattern of the enzyme Rubisco.
[http://www.amazon.com/Photographic-diffraction-Science-
Photo...](http://www.amazon.com/Photographic-diffraction-Science-Photo-
Library/dp/B007DJDN2S)

------
iazid
Probably you still can define a fractal by changing slightly the construction.

Anyways, here's my take for a generalization : <http://imgur.com/qD0aZ>

------
papalalu
reminds me of points on a 3d grid..

[http://www.youtube.com/watch?v=60CnwbngWWw&t=15m10s](http://www.youtube.com/watch?v=60CnwbngWWw&t=15m10s)

------
nitrogen
The self-similar structure originating from simple division looks reminiscent
of various representations of the natural prime numbers.

~~~
jlgreco
That's what I thought of to.

<http://en.wikipedia.org/wiki/Ulam_spiral>

------
VLM
Are you using a large fixed point system or floating point? I hope the
fractal-ness isn't just floating point rounding writ large.

~~~
no_gravity
Its Javascript numbers. As far as I know they are always 64bit floating
points. Yes, its possible that floating point artefacts play a role in this.

------
9mit3t2m9h9a
I would look into Lobachevsky geometry or inversions on the plane to describe
this.

------
rouan
Can we have code please?

