Interactive Julia Set Generator
February 18, 2017 5:52 AM   Subscribe

 
Hop up a directory and there's a list of other things. The Mandelbrot generator is fixed but cycles colours and let's you zoom with the mousewheel. Fractals are my thing. :D Ta.
posted by diziet at 5:57 AM on February 18, 2017 [7 favorites]


It's a beautiful toy! I wish it were easier to take screenshots of it (the only way is to screenshot my entire desktop and crop to the fractal). But it sure is fun to play with! Thanks for posting!
posted by hippybear at 6:24 AM on February 18, 2017 [1 favorite]


Share this with your math and stoner friends!
posted by Nanukthedog at 7:10 AM on February 18, 2017 [3 favorites]


ever wonderful?
posted by infini at 7:23 AM on February 18, 2017


Romanesco
posted by gwint at 7:28 AM on February 18, 2017 [10 favorites]


I have no idea what is going on with that - julia. I'll come back to it when I can find my thinking cap.

[Via the (ever wonderful) Kottke]

Indeed wonderful. I really look forward to whatever he has in store. It's always so Kottke
posted by james33 at 7:41 AM on February 18, 2017


Re. Kottke: I can't go back and make a new post because of time limits but when I composed this and added the kottke.org link the site search engine found 275 (I think) previous links.
posted by carter at 7:54 AM on February 18, 2017


Oh well, now I have made my own galaxies in slow mo. Can't look at that too long, because of ...brain.
posted by Oyéah at 9:26 AM on February 18, 2017


Also romanesco: move your cursor to c = -0.320 + 0.636i

I recall there's some connection between the Julia sets and the Mandelbrot set (but IANAMathematician), and when I move the cursor to c = -1.271 + 0.000i I get something that looks like a bunch of Mandelbrot sets joined side to side. Is there something special about -1.271? Please use small words!

Anyway, very cool, thanks for posting.
posted by Quietgal at 9:59 AM on February 18, 2017 [1 favorite]


I recall there's some connection between the Julia sets and the Mandelbrot set (but IANAMathematician), and when I move the cursor to c = -1.271 + 0.000i I get something that looks like a bunch of Mandelbrot sets joined side to side. Is there something special about -1.271? Please use small words!

Both the Julia and Mandelbrot sets are based on applying the function f(z)=z2+c over and over again to a point: …f(f(f(z)))…. In a Julia set, each pixel in the image has a different starting point z, but the constant c stays fixed across the entire image. The Mandelbrot set is the opposite: c changes for every pixel, but z always starts at zero.

In this generator, you change the c value for the Julia set by moving the mouse. That's exactly like how the Mandelbrot set chooses c based on the current pixel. That means as you move your mouse around, the middle pixel of the Julia set (corresponding to z=0, the starting point for the Mandelbrot set) shows you whether or not your mouse is over a point in the Mandelbrot set!

For similar reasons, the Julia set for a given c looks like the Mandelbrot set near c. If you look at this graph, the point (-1.271, 0) is right near the small bulbs on the left hand side that look very "Mandelbrot-y".
posted by panic at 10:33 AM on February 18, 2017 [3 favorites]


God dammit, I was just about to try to program an animated Julia set, having got a static one looking good. How is this so fast? And excellent?
posted by Wrinkled Stumpskin at 10:38 AM on February 18, 2017


Fantastic find, btw, carter!
posted by Wrinkled Stumpskin at 10:39 AM on February 18, 2017 [1 favorite]


Another way that the Julia sets and the Mandelbrot set are connected is that a point where the Julia set is connected (has threads between all of it's points) is in the Mandelbrot set (the stuff usually colored black). There used to be a great demo of this, but I haven't seen it in a long while.
posted by Death and Gravity at 10:50 AM on February 18, 2017


Dammit! If you swirl your mouse around in a circle, you get a much higher resolution version of the first thing I left a computer running all night to render: the Julia sets around the unit circle. This was on an Amiga 500 in 1989 or so, and it took something like 40 minutes per frame.
posted by scruss at 12:47 PM on February 18, 2017 [1 favorite]


Death and Gravity beat me to it: Move your mouse to some point and see if the Julia set is a filled-in blob or a dust of scattered points. Accordingly, on a separate sheet of paper, draw a black or white dot at the point where your mouse is. Do this for all the points on the plane, and the shape the black dots form is the Mandelbrot set.

In other words, the Mandelbrot set is a map of the space of all Julia sets*.

*All quadratic Julia sets, rather. Every iterated function has its own Julia set, but here we are only concerned with functions of the form zz2 + c.
posted by a car full of lions at 2:23 PM on February 18, 2017


hippybear: "It's a beautiful toy! I wish it were easier to take screenshots of it (the only way is to screenshot my entire desktop and crop to the fractal). But it sure is fun to play with! Thanks for posting!"

Just right-click and press "save image as"!
posted by Rhaomi at 3:33 PM on February 18, 2017


A wonderful illustration of the resemblance of the Mandelbrot set to the associated Julia sets can be found here, where a grid of Julia sets actually combines to loosely form a Mandelbrot shape.
posted by Proofs and Refutations at 3:52 PM on February 18, 2017 [1 favorite]


About the speed... looking at the source, I see that there are three scripts: vsource, fsource, and canvas. In the latter, it references another program called julia: var prog = gl.addProgram("julia", "vsource", fsource). So does the code actually rely on a library of julia sets?

Also, for lots more of the math here is an excellent tutorial!
posted by TreeRooster at 5:20 PM on February 18, 2017


TreeRooster: No, it takes the contents of <script type="x-shader" id=fsource>...</script> earlier in the page, and runs it as a fragment program on your GPU.
posted by a car full of lions at 10:15 PM on February 18, 2017 [2 favorites]


Thanks, car full. Makes sense that it would run on the graphics card!
posted by TreeRooster at 12:22 PM on February 22, 2017


« Older In these words I often think you'd recognize me   |   You must always caulk the wagon. Newer »


This thread has been archived and is closed to new comments