• May 08, 2021, 03:59:30 AM

Login with username, password and session length

Author Topic:  3d Julia sets: True shape  (Read 1590 times)

0 Members and 1 Guest are viewing this topic.

Offline marcm200

  • 3d
  • ****
  • Posts: 959
3d Julia sets: True shape
« 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 http://www.bugman123.com/Hypercomplex/index.html#JuliaQuaternion 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).

Limitations:

  • 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".




Linkback: https://fractalforums.org/index.php?topic=3047.0

Offline hobold

  • Fractal Frogurt
  • ******
  • Posts: 429
Re: 3d Julia sets: True shape
« Reply #1 on: September 05, 2019, 01:53:36 PM »
That's an interesting exploration. IMHO in 3D even more so than in 2D.

Offline marcm200

  • 3d
  • ****
  • Posts: 959
Re: 3d Julia sets: True shape
« Reply #2 on: September 06, 2019, 10:25:56 AM »
Thanks!

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!

Offline marcm200

  • 3d
  • ****
  • Posts: 959
Re: 3d Julia sets: True shape
« Reply #3 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.

Offline marcm200

  • 3d
  • ****
  • Posts: 959
Re: 3d Julia sets: True shape
« Reply #4 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.

Detailed
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.
« Last Edit: September 12, 2019, 09:17:27 AM by marcm200, Reason: Correction »

Offline claude

  • 3f
  • ******
  • Posts: 1850
    • mathr.co.uk
Re: 3d Julia sets: True shape
« Reply #5 on: September 12, 2019, 04:24:12 PM »
Quote
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.

Offline hobold

  • Fractal Frogurt
  • ******
  • Posts: 429
Re: 3d Julia sets: True shape
« Reply #6 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.

Offline marcm200

  • 3d
  • ****
  • Posts: 959
Re: 3d Julia sets: True shape
« Reply #7 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).

Offline marcm200

  • 3d
  • ****
  • Posts: 959
Re: 3d Julia sets: True shape
« Reply #8 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.

Offline marcm200

  • 3d
  • ****
  • Posts: 959
Re: 3d Julia sets: True shape
« Reply #9 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).






Offline marcm200

  • 3d
  • ****
  • Posts: 959
Re: 3d Julia sets: True shape
« Reply #10 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.


Offline marcm200

  • 3d
  • ****
  • Posts: 959
Re: 3d Julia sets: True shape
« Reply #11 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.

Offline marcm200

  • 3d
  • ****
  • Posts: 959
Re: 3d Julia sets: True shape
« Reply #12 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.




Offline marcm200

  • 3d
  • ****
  • Posts: 959
Re: 3d Julia sets: True shape
« Reply #13 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.


Offline marcm200

  • 3d
  • ****
  • Posts: 959
Re: 3d Julia sets: True shape
« Reply #14 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).



xx
Julia sets: True shape and escape time

Started by marcm200 on Fractal Mathematics And New Theories

307 Replies
14399 Views
Last post May 03, 2021, 02:56:22 PM
by marcm200
clip
True-shape based C++ oracle for the int-/exterior of Julia sets

Started by marcm200 on Programming

6 Replies
623 Views
Last post August 23, 2019, 10:47:10 AM
by marcm200
xx
True shape/IA 2D/3D Julia set source code

Started by marcm200 on Programming

15 Replies
1439 Views
Last post July 05, 2020, 11:46:53 AM
by marcm200
clip
Strange attractors: True shape

Started by marcm200 on Fractal Mathematics And New Theories

2 Replies
303 Views
Last post June 09, 2020, 09:39:05 AM
by marcm200
clip
Rational maps: True shape

Started by marcm200 on Fractal Mathematics And New Theories

5 Replies
732 Views
Last post March 14, 2021, 09:36:02 AM
by marcm200