Fractal Art => Fractal Image Gallery => Image Threads => Topic started by: marcm200 on September 05, 2019, 12:38:36 PM

Title: 3d Julia sets: True shape
Post by: marcm200 on September 05, 2019, 12:38:36 PM
I tried to extend the Figueiredo trustworthy Julia set algorithm (forum link ( to the 3rd dimension using tricomplex numbers.

So basically now a pixel on the screen represents a tiny cube in space and its color is indicative of the fate of all the tricomplex numbers it encompasses. Here, colors are different from 2D, escaping being black (transparent), definitely bounded being yellow and unknown being white.

Here's the first result using Eric Baird's formula from ( and the 3d basilica version:

{x,y,z}new := {x²-y²-z², 2xy, -2xz} + {-1,0,0}

The first image below shows a small series of increasing refinements, upper row only escaping is transparent, lower row escaping and unknown are set to transparency, so one gets a view onto the bounded interior.

The 2nd image is the interior at the current computational limit at level 10 and a point-sampled version (different software, hence different coloring and size).


  • I did not find a formula to calculate a valid escape radius for tricomplex numbers, so I just took the 2-cube. Everything outside is considered definite exterior.
  • Images are trustworthy in the sense that a pixel's color represents the fate of all underlying tricomplex numbers under the current escape radius. However I cannot mathematically guarantee that there are no further parts belonging to the object being outide the 2-cube.
  • The current implementation is only a proof-of-principle and very unoptimized, so refinement level 10 is the current limit.
  • I kept dimming according to the observer's view angle as the colors of the three types of pixels are vastly different, so one does not get a false impression but retains 3d "experience".

Title: Re: 3d Julia sets: True shape
Post by: hobold on September 05, 2019, 01:53:36 PM
That's an interesting exploration. IMHO in 3D even more so than in 2D.
Title: Re: 3d Julia sets: True shape
Post by: marcm200 on September 06, 2019, 10:25:56 AM

Interesting, for me the 2D world is more appealing than 3D, mainly because I was disappointed when exploring the 2D Lyapunov space. I only found a couple of interesting shapes, nothing compared to the vast number of cool 2d images. Or maybe I was just not patient enough or looking in the wrong places. And partly because for me as a 3D observer looking at a 3D object I can only ever see the surface unless someone invents the 4D camera. So I guess if the surface is not very interesting - and that seemed to be the overall case in the realms I searched in - the result will be disappointing - like the tiny ant living in the complex plane looking at the M-set boundary only seeing points closer and farther away, I imagine that wouldn't be half as interesting as from our 3d view.

I am mainly interested here in seeing whether I can partition the interior of such a 3D object into disjoint subsets so when starting from a point in a set the entire orbit stays in that set.

In the 2D case then I get the basins of attraction (if there are any that is), but since here in the tricomplex case iteration functions are freely chosen for any coordinate, I have no clue as to whether that leads to attracting periodic orbits (or maybe any iteration function at all does have those?).

Maybe I get something that looks like shattered glass put together. That would be an interesting 3D shape!
Title: Re: 3d Julia sets: True shape
Post by: marcm200 on September 09, 2019, 10:12:12 AM
The first (probably) disconnected interior I've found, again Eric Baird's formula, C=(0.4,0,-0.8 ). It's interesting to see how asymmetrical the gray area is (left image). A point-sampled version shows the interior to be disconnected (or only connected with very thin filaments I missed by point-sampling).

I did a parameter walk for the formulas by Baird, Makin and Bristor (website from first post). So far I could find roughly 4 different shapes with interior: the basilica, asteroidic rocks, this disconnected one and some concave rocks.

The escape radius of R=3 has been found by using a step-approach. I started with a very big R=230 (hoping the complete objects lies in the inside), tile the world cube into 230 smaller cubes and compute the bounding cubes for those tiny ones that built the sides of the world. If for a side all bounding cubes are at least 1% farther away (min distance of a corner to the origin) than the starting cube (max distance of a corner to the origin), the side is omitted. I do this for all 6 sides until no shrinking occurs anymore. Then I use that smaller R to start the process again with now a finer cube width (still 230 of them though).

This led to a final R of 3. The idea being as long as the cubes keep increasing their distance after every iteration (starting from way outside going inside) I figured it'd be safe to assume one is already in the escaping region.

Although no proof this R is correct, it has at least a connection to escape time and is more justified than pure guessing I did earlier.
Title: Re: 3d Julia sets: True shape
Post by: marcm200 on September 12, 2019, 04:30:31 AM
"Fix points" and "period-2 cycles"

Quick summary
Two fix points and one period-2 cycle were first found in the 3D basilica by brute force and then by manual calculation.

In a first attempt to search for fix points in 3D I used Eric Baird's formula for the Basilica {x,y,z}new := {x²-y²-z²,2xy,-2xz} + { -1,0,0 } in a brute-force way - so no solving of nonlinear equations for now (planned for the future).

A mandatory condition for a fix point is that at any refinement level there must be a tiny cube A whose bounding cube bbx(f(A)) after one iteration intersects back with A.

So I walked the 2-cube in width 2^13 * 2^13 * 2^13 pixels and checked every such tiny cube. Since there is no image construction involved, the only constraint here is time, not space.

The search returned 28 tiny cubes as possible fix points. Quite a low number compared to all 2^39 cubes present, so the approach seemed valid.

Of course, for this simple case school math and WolframAlpha sufficed to see that {0.5 +- 0.5*sqrt(5), 0, 0} are the only two fix points here.

Fortunately the brute force approach returned those too (in fact 8 tiny cubes contain the actual fix points: two fix point coordinates are 0 and lie on the grid, hence two adjacent cubes share it, i.e. 2*2 and since there are two solutions for the x coordinate, that gives
a total of 8 as found, a nice afterwards confirmation of the brute force method itself). The rest of the 28 I deem will vanish when increasing refinement level.

The image below shows the basilica and the two fix points (exaggerated), each at the crossing of three perpendicular red lines (one is in the background on the right side, dimmed quite a bit). It would be interesting to see at what refinement level those actually are identified as interior.

While fix points worked quite well I tried the same approach for period-2 cycles. Again with 2^39 cubes in refinement 13, 632 possible cubes involved in such a cycle were found.

Manual browsing through the cube coordinates revealed the two known fix points and two further points  which appear to be around the origin and {-1,0,0}. And indeed, the sequence {0,0,0} -> {-1,0,0} is a period 2 cycle as seen by manual calculation.

Quite interesting is, that 532 of those possible period-2 cubes cluster around the fix-point at 0.5-0.5*sqrt(5), 100 cluster around the origin, 8 lie around the other fix point and only 4 around -1,0,0.

Is this a hint towards super-attracting (fix point at -0.61...), attracting (origin, but not the 2nd cycle point) and repelling (other fix point)? Or just a result describing the algorithmic (and not fractal) behaviour that would change at other refinements?

Since I have no idea whether something like a multiplier exists for the 3D case here to characterize cycles, I think I will just partition the interior according to orbit reachability and see what comes out.

EDIT: Correction: It must state 520 instead of 532 cubes clustering around the fix point.
Title: Re: 3d Julia sets: True shape
Post by: claude on September 12, 2019, 04:24:12 PM
Since I have no idea whether something like a multiplier exists for the 3D case here to characterize cycles, I think I will just partition the interior according to orbit reachability and see what comes out.
You can use the Jacobian derivative matrix. Its determinant will have absolute value less than one when attracting I think. Eigenvalues may also be interesting.
Title: Re: 3d Julia sets: True shape
Post by: hobold on September 12, 2019, 05:01:33 PM
You can use the Jacobian derivative matrix. Its determinant will have absolute value less than one when attracting I think. Eigenvalues may also be interesting.
The product of eigenvalues should be the same value as the determinant. It is possible that (the absolute magnitude of) the determinant is less than one, but one or more eigenvalues are greater than one. That means the space around that point is overall attracted, but there may be narrow "jets" of points being repelled still.
Title: Re: 3d Julia sets: True shape
Post by: marcm200 on September 14, 2019, 11:31:09 AM
I took your suggestions and let WA calculate the Jacobian's determinant and the eigenvalues at the 4 interesting points:

period-2-cycle: determinants (eigenvalues) 0 (0) and 8 (2,-2,-2). If I were to multiply those as in the 2D case, that would result in 0 and indicate a super-attracting cycle. Hence one could expect one basin of attraction there.

the 2 fix-points: Both are repelling: -36 (-3.23,3.23,3.23) and 2.23 (-1.23,-1.23,1.23). Interestingly the 520 clustered tiny cubes from my last post are not around the origin (determinant 0, super-attracting?) but around the fix point with Jacobian of 2.23.

It's almost like science: There is a theory (Jacobian, fix points, periods in the 3D case), a prediction (one basin for the period-2 cycle) - now comes the experiment (I will need some days to finish the coding).
Title: Re: 3d Julia sets: True shape
Post by: marcm200 on September 16, 2019, 10:00:10 AM
One partition was the correct prediction (top part of image below).

Since the result - coloring a yellow structure another color - is not very impressive, I used the cubic 2D formula (x+i*y)^3+1.25*(x+i*y)+0.025i from the 2nd Figueiredo paper with a constant z coordinate of 0 as a positive control to ensure the coloring method works correctly (lower part).

Since in the 2D case a quadratic polynomial can at most have 1 attracting basin and assuming the same for the 3D case, I will now focus my search on some higher powers, maybe trying to construct such a multiple basin 3D set by using a 2D formula with a "suitable" (not sure, how at the moment) z coordinate transformation as a start.
Title: Re: 3d Julia sets: True shape
Post by: marcm200 on September 19, 2019, 10:11:30 AM
"Two partitions in true 3D"

The first tricomplex iteration formula with 2 basins of attraction/partitions:

{x,y,z}new := {1.25*x+x3-3xy²-z² , 1.25*y+3*x²*y-y3 , z3-y3-x3 } + { 1065353, 0, -2097152 } * 2-25

During the construction process I learnt that the iteration formula should resemble a complex multiplication. If the formula is arbitrarily chosen, all I get, are some strange shapes, usually with spikes in all directions that do not give rise to interior points at the currently computable refinements.

The formula here was constructed using the cubic complex polynomial z^3+A*z + c from the 2nd Figueiredo paper (known to have two basins of attraction for A=1.25 and c=0.025i) and adding/varying a z-containing term at some positions to get a true 3D shape and not a stacked version as before.

Very interesting are the smaller spots at the end of the arms having a different color. Maybe there is a series of ever smaller getting objects of alternating color?

Pre-analysis for periodic points resulted in 3 possible fix points and 9 period-2 points. So the set was deemed valid and computed in various refinement levels to see a partition coloring occuring.

The image shows the two basins at level 11. Axis range is -4..+4 in all directions. The escape radius R=4 was found by the step approach I posted some time ago (start R=230).

Title: Re: 3d Julia sets: True shape
Post by: marcm200 on October 05, 2019, 11:50:27 AM
A walk through the function family (based on complex cubic polynomial multiplication):

{x,y,z}new := { A*x+x3-3xy²-B*z², A*y+3*x²*y-y3, z3-y3-x3 } + { Cx, Cy, Cz }

I introduced the factor B as kind of a dampening number (I read here in the forum about relaxed Newton), so limiting the influence of the 3rd dimension while still having a true 3D object and not just a stacked version of a 2D slice.

First image A=-2, B=-0.75, C={-1.2,0,0} resembles a bit a skeleton of a snail - if moluscae had bones. Unfortunately no interior cells at level 11. The point-sampled version (upper left) breaks into pieces, but I like the snail better.

The second image A=1.5, B=0, C=0 is actually only the 2nd image overall with two basins of attraction/partitions.

Looking at this and the first 2-partition image A=1.25, B=1, C={ 0.03175,0,-0.0625 }, it seems that a rotational symmetry is mandatory (?) for more than one partition. Maybe there is a way to test that symmetry beforehand, but I currently do not know how since the symmetry pertains to the fate of the iterated point and not the point iterate itself.

But maybe symmetry of the iteration function itself is verifiable using some elaborate system of equations. Tthe only idea I got so far is: Take a rotation axis, project any point to it (normal vector), rotate it and look if the destination point is rotated back to the original one, but that's hard enough (I've never done much in 3D graphics), but currently I'm just doing a brute-force parameter walk on my second computer.

Title: Re: 3d Julia sets: True shape
Post by: marcm200 on October 07, 2019, 11:04:27 AM
Walking through the family TRICZ4B (I have to assign names now for my software and my memory, this one is based on complex power 4 exponentiation, adding the damping factor for the x-coordinate and the standard sum at the z):

{x,y,z]new := { A*x+x4-6*x²*y²-B*z² , A*y+4*x3*y-4*y3*x , z3-y3-x3 } + { Cx, Cy, Cz }

The brute-force approach found quite a number of parameters with multiple basins.

The example below has three partitions - it looks as if there's liquid falling down a water fall. The bottom row depicts the "evolution" of the object at increasing refinement levels (upscaled to level 10 screen width, so some look box-y), showing how the colored components grow together, new small colored regions appear - just like the 2D blobs of black that are frequently detected when interior cells first emerge.

Some question I cannot answer so far:

Is 3 the maximum number of basins that can be found for a degree 4 polynomial in a tricomplex number setting?.

Do the individual components finally touch at one point and are separated by exterior elsewhere as in the 2D Julia sets for geometric different components of the interior?

Or do they behave more like basins of attraction for Newton's method, where the channels touch each other more in a line manner (with some non-root converging regions in between maybe)?

It looks like they touch (as the point-sampled version suggests, upper right) in an area, but since by design of the Figueiredo algorithm for the 2D case there are always gray cells between distinct interior components, so one can never know. I assume this is also true for the 3D case here.

Interestingly, from the point-sampled version I wouldn't have guessed it to have different basins at all - I was looking for rotationally symmetrical ones like I posted before.
Title: Re: 3d Julia sets: True shape
Post by: marcm200 on October 09, 2019, 08:55:09 AM
A very interesting TRICZ4B Julia set (A=-0.25, B=-0.75, c={ -1.2,0,0 } ).

The 3d version (left) does not show interior cells at level 11, it looks like a ship's bull's eye.

The point-sampled version (middle, side view at bottom) of the non-escaping points suggested that the object is planar (or very thin, like the one with TylerSmith's formula forum link ( So I figuered there will never be interior 3D cells.

So I was thinking - maybe the coordinates of that 3D object could be transformed in a way that it lies completely in a coordinate plane - and then I could use the 2D TSA algorithm.

Checking the non-escaping points revealed that y was always zero. So I plugged that into the TRICZ4B formula, computed the bounding box and used it in the 2D TSA version (right). Since this was the first formula system that was not derived from a complex exponentiation but rather independent x,y coordinate transformations I checked levels 10 (already black) to 16 whether black and white do not touch directly - which they fortunately did not.

I was very lucky that it was so simple - y being constant 0. I would have had no idea how to transform an arbitrarily oriented plane where the object resided so that one coordinate would finally be constant zero (or detect such a plane in the first place).

It would be interesting to see the parameter-space object consisting only of seed values where the Julia set is planar.

Title: Re: 3d Julia sets: True shape
Post by: marcm200 on October 10, 2019, 02:35:53 PM
"Maybe a filter?"

To get color into 3D objects I often use trafassel's direct RGB summation method. When I looked at some point-sampled images, I encountered a very remarkable resemblance with one of the two-basin pictures I posted before.

First image below:
Left side, trustworthily computed interior, colored by basin of attraction.
Right side: Point-sampled version, colored by RGB summation (see technical details below).

The versions look almost identical (some colored spots in the origin's region for the point-sampled object). So the summation in that pictuzre mimicks almost perfectly the shapes of the two distinct partitions of the TSA image.

Now I was wondering: Could this be used as a filter?

I started a new walk through a function family (degree 5, ongoing). Here is the first example (2nd image below) where I expect partitions (differently RGB colored parts separated by exterior from one another). Unfortunately at level 11 I could not yet detect interior cells.

But I like the shape of the point-sampled version, at the lower part it looks like an opened pea pod.

Is this resemblance just a coincidence in one (a couple?) of parameter settings? Or can one expect more - maybe it's even a subset of all partionable 3D Julia sets that share common orbit characteristics?

Technical details for my implementation of direct RGB summation:
  • For every pixel I start with an RGB sum {0,0,0}. In each iteration red sumi=red sumi-1 + xi/|{xi,yi,zi}]², green/blue accordingly with y and z)
  • After max it, an interior point's sums are shifted into the range 0..255 by adding or substracting 255 repeatedly.
  • The final values were used directly as an RGB value.

Title: Re: 3d Julia sets: True shape
Post by: marcm200 on October 13, 2019, 04:14:00 PM
One of the most interesting shapes I have found so far - here using David Makin's tricomplex formula.

Very twisty, looks almost like a band used by professional rhythmic gymnasts, but unfortunately point-sampling shows an empty (Cantor dust?) set - beginning to disintegrate after only 9 (nine!) iterations (lower right, not-yet-escaped points).

Title: Re: 3d Julia sets: True shape
Post by: marcm200 on October 17, 2019, 09:00:34 AM
The first 3d Julia set showing multiple basins that has been found in a fully automated manner by a random walk through a degree 4 function family (TRIC4CPLXMULT), that is based on a standard complex exponentation (x+y*i)^4 (details below).

{x,y,z}new := { e*x^4+f*x^2*y^2+g*y^4 + h*x+j*z^4 , l*x^3*y+m*x*y^3  + k*y , n*z^3+o*y^3+p*x^3 } + { Cx, Cy, Cz }

Julia sets were automatically computed and judged by the direct RGB sum color filter I wrote about in one of my previous posts. In case there were at least two vastly different colors (judged by R, G, B independently being above 100, so 8 combinations in total), the set was actually saved.

The image below is: e=2.3 f=4.5 g=-0.8 h=-2.1 j=1.1 k=1 l=-0.2 m=0.7 n=-0.2 o=0 p=0, C={ 0.6,0,-0.6 }, at level 10 where interior cells emerged, computed in the 2-cube.

Technical note:
  • Parameters e-p take real values and are mostly the coefficients of the complex exponentiation, randomly disturbed (+- <= 5 in 0.1 increments).
  • A linear x-old-term was introduced into the new x part (italic, variable h - preliminary experiments showed that this was a good way to add structure) and a dependence on z-old (variable j) so every axis influences every other.
  • Similarly I introduced a y-old-term (variable k) into the new y-coordinate.
  • As for the z-term I use most of the time a sum of degree-1 or below powers of the old coordinates.
  • The { Cx, Cy, Cz }-parameter was split into (4x4x4) values from -1.2 to +1.2 in each direction.
  • I did not check whether the whole set is contained within the 2-cube, however interior cells if found are mathematically guaranteed correct no matter the escape radius. If a cell does not have a path to outside the 2-cube, the cell surely has now path outside a larger cube, so it will always be determined as interior if using the correct (larger) escape radius.
  • White and gray cells however do not need to be accurate in this case as a cell might be prematurely judged as white in too small an escape radius. For those I need a valid escape radius  - e.g. using the jump method I posted some time ago.

Title: Re: 3d Julia sets: True shape
Post by: marcm200 on October 19, 2019, 11:21:29 AM

I implemented the periodicity procedure from the 2D polynomial TSA (method described here:
forum link ( to see whether I could also find immediate basins in the tricomplex case.

Below are the two most "complicated" sets I encountered thus far: 3 fix points in the steak image, and a period 2 cycle in the basilica-like (Makin's formula) (left the full basins of attraction, right the immediate basins of the periodic points - colors are not necessarily comparable between left and right image).

Interesting is the similarity between the 3D basilica and the 2D polynomial form z²-1 as they both show a period 2 cycle reaching to the negative axis.

I wonder whether there are longer cycles than period 2 (does anyone know parameters for such a case?)
Title: Re: 3d Julia sets: True shape
Post by: marcm200 on October 21, 2019, 09:24:02 AM
"Chlorophyllic DNA"

If DNA were built from chlorophyll I think it would look like this (left). Quite interesting from a topological view with all those holes.

Doug Bristor's formula shows a period-3-cycle (upper right). The interior still needs a long way to look like the point-sampled version (lower right, direct RGB sum colored).

The parameter was found by another brute-force walk, this time I computed small point-sampled 3D sliced Msets for a given formula and selected values that were almost on the boundary, but just inside (one layer of also-inside voxels around the chosen one, then at least one escaping).

I hope to get longer cycles by computing larger Msets and then trying to find seed values from deep within bulb-like structures (3D-centers of hyperbolic components?).

Title: Re: 3d Julia sets: True shape
Post by: marcm200 on October 24, 2019, 09:32:08 AM
"A period-4 cycle"

Moving the seed out along the x-axis while keeping y,z=0,0 I hoped to hit smaller and smaller copies of the main Mset (if they exist, that is, which I don't know) thereby increasing the period of the original basilica (period-2). Since the -1,0,0-version is a very fast computable set with early emerging interior cells, I hoped that this might stay valid further out.

That led to this nice attracting period-4 cycle Julia set using David Makin's formula at c={ -42614129 , 0 , 0 ] * 2^-25 ~ {-1.27,0,0}.

Cycle being attracting
This was deduced by algorithmic properties of the detection method without the use  of the Jacobian.

Every geometrically isolated interior object (a "blob") was tested where its members point to in one iteration. It turned out that for a given blob all cells pointed to only one specific target blob - so no spreading out.

If I start with blob A and move to its target blob, to that one's target blob and so on and come back to A at some point, this sequence of blobs forms a cycle.

Since there are only finitely many detected blobs, starting with a yellow blob B and following its target blob and so on must eventually lead to a blob D that has already been visited before. The blob sequence between the first and the 2nd occurance of D then forms a cycle.

The sole cycle detected is the turquois period-4 one, so every yellow blob finally lands in that cycle.
Title: Re: 3d Julia sets: True shape
Post by: marcm200 on October 28, 2019, 10:14:54 AM
"Chinese tower"

Many of the interior showing sets I could compute so far look more or less like fields of asteroids of some shape floating around in space (and I can't go to higher refinement levels yet to "close the gaps"). So I was pleasantly surprised that this one has quite a different shape.

A period-2 cycle at level 11 in a degree-5 family (based on complex exponentiation (x+i*y)^5 with the usual additions):

{x,y,z}new := { f*x+h*z2 + x5-10x3*y2+5x3*y2 , e*y+5x4*y-10x2*y3+y5 , z2-y2-x2 } + { Cx, Cy, Cz }

here with e=f=h=0, C={ -0,71875,-0.71875,-1.71875 }.

Title: Re: 3d Julia sets: True shape
Post by: marcm200 on November 05, 2019, 10:30:45 AM
"Period 8"

A very interesting Julia set using David Makin's formula, not from the shape point of view (it's just another collection of asteroids), but the first with period 8 (turquois/yellow as always, only 7  immediate basins visible, see details below) and with interior cells emerging at level 14.

David Makin's formula has the interesting property, that, when used with {x,y,0} and {cx,cy,0} it reduces to the classic quadratic z²+c case.

{x,y,z}new := { x²-y²-z² , 2xy , -2z*(x-y) } + { Cx, Cy, Cz }

when z, Cz=constant 0:
{x,y,0}new := { x²-y² , 2xy , 0 } + { Cx, Cy, 0 }

So I was interested to see how the 2D corresponding Julia set behaves in the TSA.

The 2nd image shows at level 14 also a period-8 cycle (yellow) - and black interior emerges at level 14 here as well. So the 2D properties translate into the higher dimension world and form a 3D object. Maybe I can do that for other interesting shapes as well.

Technical details:
  • I implemented a new data structure that works especially well with sparse objects: allocating memory per row only encompassing the gray region, while still preserving direct array access and keeping memory fragmentation at minimum.
  • The 8th immediate basin in the 3D version (far left) is not visible in the image here which is a trustworthily 8-fold downscaled version, but it was computationally determined by the TSA. Currently my cube-viewer cannot yet handle cubes of side length 16k (working on it).
  • The C value was found exploiting the reduction property looking for small Makin Mset copies and their geometric centers (as described in post #18).

Title: Re: 3d Julia sets: True shape
Post by: marcm200 on November 10, 2019, 03:16:20 PM
"Cord loop"

This filled-in Julia set shows some winding ropes, a phenomenon which I do not encounter very often. It's very filigree, as compared to the more common asteroid rocks.

I'm using David Makin's formula as a base currently - changing exponents, adding some terms etc, hoping to find new shapes while retaining its fast computation property and relative abundance of attracting periodic points.

{x,y,z}new := { x4-y4-B*z² , A*x+2xy , z4-x²*y² } + { -0.5 , -1 , 0 } (named MakinExp4).
with A=-0.25, B=-1

The image below is at level 13 (tw. downscaled 4-fold), level 14 would need just a bit more memory than I have available currently.

The initial point-sampled small image showed a nice color separation (direct RGB sum), which corresponds to the immediate basin found. Although by far not all sets show such a separation, it is usable as a priority queue for computation order.
Title: Re: 3d Julia sets: True shape
Post by: marcm200 on November 12, 2019, 04:09:34 PM
A degree-5 formula that shows a nice evolution of interior and its fix point: New regions appearing at every step, and, as also often seen in the 2D case, formerly non-immediate (brown/yellow) regions getting flooded over by the immediate red/cyan basin (e.g. the objects to the left and right of the front eigth symbol). It looks a bit like a lion's cage is being closed with a red lid.

{x,y,z}new := { x5-y5-B*z5 , x4-A*y²*z² , 2x*(z-y) } + { 0.375 , -0.96875 , 0.96875 }
with A=0 and B=0.5

Technical details:
  • Levels 9 to 11: Immediate basin = turquois, attraction basin = yellow.
  • At first I couldn't compute level 12 as it reached an implementation limit: more than 2^16 gemometrically separated blobs.
  • Devising a new cycle detection method (storing only the current orbit and the immediate basins of all cycles), this set was now computable.
  • The current method's limit is 2^16 separated Fatou components in an orbit to a cycle. I wonder when I reach that barrier.
Title: Re: 3d Julia sets: True shape
Post by: marcm200 on November 28, 2019, 01:41:42 PM
In the 2D images the gray region is always visible and gives a good impression of how the overall shape of the Julia set looks like.

I tried the same here in the 3D case, experimenting with transparency of the gray region.

Here's a period-3 cubic triplex Julia set (magenta is the immediate basin, yellow the attraction basin at that level):

{x,y,z}new := { x3-3xy²+0.5z² , 3yx²-y3 , 2xz-2yz } + { -0.265625 , -1.265625 , 0 }

I'm trying to find a setting that - if one has e.g. a magenta-colored interior region deep inside a gray region (a "rock"), that the magenta shines through to the surface. But I'm not quite there yet.

Usually my virtual screen that goes through the cube picks colors up - either a non-transparent full color RGB value (than it stops travelling for that screen pixel). Here I'm adding small gray amounts per encountered gray cell in the journey path (i.e. gray is not fully transparent) until the interior is reached and then overlay the two color values. But I either get a gray smear (added gray is too thin) or a white area (added gray is too thick).

Is there a better way of getting a "shine-through" result?

Title: Re: 3d Julia sets: True shape
Post by: marcm200 on December 23, 2019, 01:55:55 PM
A period-4 attracting cycle in a rather complicated iteration formula, based on Tyler Smith's idea of two consecutive rotations. Here the first step is a power-3 complex exponentation of x,y_old, followed by a classical power-2 rotation with y_temporary,z_old.

The interior when emerging does not look like rocks but rather multiple-armed stars. The yellow non-immediate basins can grow together and merge with the periodic basins, but the object looks here at level 11 already quite similar to what the point-sampled version shows.

formula CPF3:
{x,y,z}_new := { x3-3xy² + B*z² , 9x4y²-6x²y4 + y6 - z² , 6x²*yz-2y3z } + { Cx, Cy, Cz }

Title: Re: 3d Julia sets: True shape
Post by: marcm200 on January 04, 2020, 06:18:25 PM
An interesting fix-point (purple): The two "arcs" have a very thin connection, but are geometrically one object. This is actually only the 2nd example I have encountered that has very anfractuous Fatou components.

{x,y,z}_new := { x²-y²-z² , x3 - 3xy² , 4yx3 - 4xy3 } + 2^-25 * { 20132659 , -33554432 , -6710887 }

(It's the first result of mixing different component functions between already used iteration formulae.)

Title: Re: 3d Julia sets: True shape
Post by: marcm200 on January 09, 2020, 09:06:17 AM
A nice shape, although no interior found till level 12. It seems to have a ever-smaller getting elephant trunk rolling in.

This is one of so far only a few examples where the object actually resembles a 3D twisted version of a quadratic Julia set (although parameters are not related, z²+(0.3-0.42i) ).

Level 13 is currently too time-expensive.

{x,y,z}_new := { 2xy , -2xz , x²-y²-z² } + { 0 , 0.5 , 0 }

Title: Re: 3d Julia sets: True shape
Post by: marcm200 on January 10, 2020, 09:52:34 AM
"Romulan warbird"

Lately I find some strange shapes, this one looks like a space ship from planet Romulus. It consists almost entirely of the large immediate basin of a fix-point (purple), I wonder whether the small yellow not-yet/non-immediate basins will eventually all merge into it.

{x,y,z}_new := { 4xyz+2zs , 4x²y²+4xys+s²-z² , x²-y²-2xy+z } + { 0.25 , s , 0 } with s=-0.75

The x/y_new terms are based on Tyler Smith's 2-step rotational formula.
Title: Re: 3d Julia sets: True shape
Post by: marcm200 on January 12, 2020, 10:14:03 AM
This is the most completed set I've calculated thus far, until it exceeds my memory: Level 13, period-2 cycle (bright green) (With my current brute-force combinations I find a lot of fix points and period-2, but so far nothing longer).

The set shows an interesting evolution. with the arc-parts emerging quite early. - otherwise I might have missed them thinking "boring rocks again".

{x,y,z}_new := { x²-y² , 4x²y²+4xys+s²-z² , 2xz-yz } + { -1 , s , 0 } with s=-1
Title: Re: 3d Julia sets: True shape
Post by: marcm200 on January 15, 2020, 11:23:24 AM
One of the most (rotationally) symmetrical sets I've found so far. I guess the symmetry stems from the y_new term, which, again, is based on Tyler Smith's 2-step formula. Unfortunately it owns again just a fix-point (red).

{x,y,z}_new := { 6x²yz-2z²y² , 4x²y²+4xys+s²-z² , x4-x²y² } + { -0.5, s ,-1 } with s=0.5

It's the first set computed with a new version of juliatsa3d (to be released) which uses a low resolution reverse cell graph as in the classical 2D software. That led to quite a substantial reduction in memory transfer to the cache (and some fewer bounding box calculations). So for images not exhausting the memory completely, that works quite well as a speed-up.

Title: Re: 3d Julia sets: True shape
Post by: marcm200 on January 18, 2020, 12:44:23 PM

A very nice shape of this level 13 Julia set - no interior found, and it's not clear if any will ever appear. But it looks a bit like small Enterprise star ships next to a giant space station.

On the right of the image below are three smaller greenish point-sampled pictures of the same set: non-escaping points, escape radius 100; 100 max it (upper), 125 (middle), 150 (lower).

The object "loses" interior points, but to what extent? Empty interior? Cantor dust? Some very small volume-bearing mini-objects missed by point-sampling?

{x,y,z}_new := { 6x²yz-2z²y² , 4x²y²+4x²ys+s²-z² , x4-y4-z² } + { 0.25 , s , -0.25 } with s=-1

With interior present the gray area at some point reflects roughly the shape of the underlying non-escpaing objects. So it is interesting to see how the gray disappears when presumably no interior is there.
Title: Re: 3d Julia sets: True shape
Post by: marcm200 on January 20, 2020, 11:42:23 AM
A period-1 cycle in a very strange shape. I wonder whether there is branching-out at the tips (or at the thick part) of the threads here.

I hope I can transfer in the future the periodic-point detection method from 2D to this case to see whether here actually a fix-point exists or if it is more like a strange attractor's set of unstable but contained orbits (by construction, every turquois voxel iterates always in the turquois connected object).

{x,y,z}_new := { x4-y4-z² , 2xz-yz , y+3x²y-y3 } + { 0.5, -0.5 , -0.25 }

The formula is quite simple and very fast to compute (double precision was still sufficient in level 13).