How Julia transforms work

Last night, I quickly put together a video about how Julia transforms work in iterated function series flames. By “Julia”, I mean julian, juliaq, julia3D, julia3Dz, etc. – The transforms in JWildfire labeled with “julia” (except salamander and one other, I think). I know Apophysis has many of these as well.


The video doesn’t do the greatest job of explaining what is going on onscreen, even though it explains the essential nature of Julia.

First, what Julia does is try to connect all sides – the top, right, bottom, left in that order – to the outside. It repeats this pattern in a circle ( top, right, bottom, left, top, right, bottom, left, and so on). (And consequently, a circle of points transformed by a Julia will still look like a circle.) The number of repetitions is the absolute value of the “power” parameter of the transform. All positive values of the power result in the origin of the points being left at the origin. All negative values of the transform result in the origin being placed at infinity (so everything becomes inverted).

However, in the video, you see multiple repetitions that are successively smaller. This is due to the Julia passing the points back to itself. Also recall that Julia takes the top and offsets it by an angle (e.g. 45 degrees when the power is 2). That’s why it doesn’t look like a shrunk linear pattern. Every time it goes through the iteration, it takes the new “hump” (that was originally created by moving the blur up), stretches out its top, right, bottom, and left sides along the wall, and rotates it by an angle.

To negate this effect and just see the Julia for what it is, turn off the xaos (“Rel. weights”) of the julia going back to the julia. You can do this in JWildfire by selecting the Julia tranform in the transforms panel, clicking the “Rel. weights” panel, clicking the “julia” in the relative weights panel, and then clicking the “0” button. In Apophysis, xaos is on the xaos tab, and you have to change to the appropriate unnamed transform.

One last note: Not all Julia transforms are the same. I found that julia2 tends to make the best flowers whereas julia3D and julia3Dz have the most delicate patterns (my personal taste), especially when it interacts with itself or another julia3D/julia3Dz.

Final Remarks

Hopefully the video will help you understand Julia transforms better. It would be better for me to post pictures of warping space and examples etc. so you aren’t lost in the complexity of things.

I’m sorry about the poor audio quality. I don’t have a good microphone for my computer. The video quality came out fine, so I’m happy about that.

Oddly enough, despite being only 3 minutes in length, it took over 3 hours to upload. It’s my first personal video posted on Youtube (I’d posted 16 sec clips for other people), so I had no idea it would take this long. ^o^ But at least now it’s up.

If you have questions or comments, please leave them on my blog as I’m not likely to read my messages from Youtube.


3 thoughts on “How Julia transforms work

  1. Very helpful! I’ve been using JWildfire for a little over two years, since it was in beta, with no prior experience with fractal art software. I use “the Js” a lot but understand what’s going on better since reading your post and watching the youtube. (Audio was fine – some background static but perfectly understandable.) I’d like to post a link to this post in the JWildfire Open Group on FB – would that be all right?

    1. Most certainly!
      Glad it helped you. I notice fractal art is difficult to understand for beginners. To understand it, I had to dig into the source code to see how it all worked. From there, I wrote a post about how fractal transforms work, which explains xaos / relative weights, which you might want to have a look at:

Enter the space and time of my little world... Welcome Earthling.

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s