Logo by wmauzey - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Visit us on facebook
 
*
Welcome, Guest. Please login or register. March 19, 2024, 04:31:29 AM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: Mathematical theory for a "true" 3D Mandelbrot  (Read 1195 times)
Description: Mathematical theory for a "true" 3D Mandelbrot
0 Members and 1 Guest are viewing this topic.
Pauldelbrot
Fractal Senior
******
Posts: 2592



pderbyshire2
« on: January 15, 2012, 10:37:35 PM »

Doing some thinking about it, I've decided that to replicate many of the features of the 2D M-set in 3D requires specific properties, which may or may not actually be achievable, in whatever 3D number system is used.

I assume here that we define a*b to be a vector whose length is the product of the lengths of a and b, and whose direction from the origin is some unspecified, continuous function of the directions of a and b. It is this function whose properties I have narrowed down.

Let us first consider some properties of the 2D M-set that currently all the 3D attempts (even the famed Mandelbulb) fail to replicate:

  • Bulbs are usually balls (in whatever dimension) and are studded with balls.
  • Branches are one-dimensionalish, zigzagging (usually) and throwing off more branches, like lightning. They are not extended surfaces.
  • There are seahorse spirals or analogues, clearly recognizable.

To guide an attempt to create a 3D set that has these traits, it will help to know where these traits come from in the familiar 2D set. And such guidance is desperately needed: blind guessing has produced wonders, such as the Mandelbulb, but has not yet managed to produce a 3D M-set with the listed traits.

Where, then, do those traits come from?

  • Bulbs in the 2D M-set occur where there's a stable attracting cycle of some period p. We need to consider the function fp(z), where f is the iteration function (e.g. z2 + c) and fp means the function that is "apply f p times in a row instead of just once". This function has fixed points: points z with the property fp(z) = z. A cycle (attracting or not) in the M-set with period p obviously is a collection of fixed points of fp. The derivatives of that function at these fixed points determine if the cycle is attracting or not: modulus < 1 makes it attracting. Since the functions are all continuous in c, the local inverse is continuous and maps the unit disk in derivative-space to a distorted copy in c-space -- the space in which the M-set lives. So most bulbs are roughly circular, the 2D version of balls. As for the studded-with-more-balls thing? When a cycle becomes unstable at the edge of the disk, the derivative's modulus becomes 1. It becomes a number on the unit circle. When that has a rational internal angle, new periodic points become stable there, with a period that is a multiple of the parent disk's period. The factor of that multiplication is the internal angle's denominator when it is expressed in lowest terms. Why? It's complicated, but a key property of unit-circle complex multiplication plays a role. The points with rational internal angle have powers that stay on the unit circle (as 1 times 1 is still 1) but after finitely many multiplications by the original point you wind up with 1 itself. That is, they are periodic points themselves under the action of multiplication. And that denominator is precisely the smallest power equal to one; for example, the point with angle 1/4 is i, i4 is 1, and no lower power is 1. The point with angle 3/4 is -i for which the same holds. The point with angle 2/4 is -1, which squares to 1, but in lowest terms its angle is 1/2, so it should.
  • Branching and zigzagging are functions of the orbit shapes, since they replicate similar features in the Julia sets, which are explicitly controlled by orbit shapes. In particular, branching tends to be patterned after the period of a nearby bulb. And branch tips and branch junctions are associated with unstable periodic points in the Julia set. Again, the derivative's angle component being periodic or resonating with a nearby low period results in the discrete branches -- when the resonation works poorly (as near angles like the golden mean) you get a lot of densely-packed branches instead of a few (as with the "cauliflower" forms found in the M-set between Seahorse Valley and the big bulb at the north of the main body). So, the same property of unit circle multiplication seems key here too.
  • Spirals also result from orbit shapes, this time orbits that themselves spiral. And that spiraling again has to do with the multiplicative behavior of angles on the unit circle -- namely, the angles add, and some angles add almost nothing, and angles can resonate, producing multi-armed spirals.

So, this tells us what we want our 3D unit-sphere multiplication rules to do:

  • Unit sphere multiplication should be continuous in both factors at most points. 1 should be an identity, and values close to 1 on one side should result in values close to the value on the other side -- this last property follows if 1 is an identity and is not a point where multiplication is discontinuous.
  • There should be a dense set of "rational points" on the unit sphere which are periodic under the action of raising to successive powers -- that is, for a "rational point" z on the unit sphere there should be some n such that zn = 1. Moreover, for each n, the points with this property for that n should be finite in quantity and distributed more-or-less evenly over the sphere. The number of them should tend to go up quadratically with increasing n on the sphere, as they do linearly on the unit circle in the complex plane. There should probably be relatively more of them, though, when n is prime. Preferably, something like the fraction arithmetic on the unit circle will apply, perhaps in some way using Gaussian integers, which suggests in turn that the sphere surface carry some of the properties of part of or even the entire complex plane (or Riemann sphere?).

It may suffice to define raising-to-integer-powers with the above properties, without generally defining multiplication of arbitrary pairs of elements (this sufficed for the Mandelbulb).

I leave it at that, for now.
Logged

Pauldelbrot
Fractal Senior
******
Posts: 2592



pderbyshire2
« Reply #1 on: January 15, 2012, 10:50:36 PM »

Addendum: thinking about resonance and the need for discrete points that are "rational with denominator n", in some sense, distributed more or less evenly on the sphere, leads me naturally to consider that maybe an answer, or at least a useful insight, might be found in the study of spherical harmonics.
Logged

DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #2 on: January 15, 2012, 11:35:55 PM »

Another possible property...
Sphere inversion is the only (?) nonlinear conformal 3d transform.

x=x/r, y=y/r, z=z/r

-1 power should be similar or equal to this expression wink
Logged

No sweat, guardian of wisdom!
hobold
Fractal Bachius
*
Posts: 573


« Reply #3 on: January 16, 2012, 03:00:02 PM »

Where, then, do those traits come from?
Yes! That's exactly the right question. Why didn't I think of that? smiley

There is a chance that this approach will only lead to a mathematical proof that we cannot have all of the traits in 3D. Still, we should be able to gain useful knowledge throughout the journey, no matter where it will lead.
Logged
s31415
Conqueror
*******
Posts: 110



WWW
« Reply #4 on: January 17, 2012, 12:55:07 AM »

You left out the most restrictive property: we do not want the small scale replica of these structures to get stretched. This forces us to use exclusively either conformal transformations, or transformations which fail to be conformal only on "negligible" subsets (like mirrors, although it's obvious that we shouldn't use a mirror to get M-set like patterns).

The fact that there are so few conformal transformations in 3d dooms the enterprise in my opinion...

Best,

Sam  
« Last Edit: January 17, 2012, 12:57:44 AM by s31415 » Logged

Alef
Fractal Supremo
*****
Posts: 1174



WWW
« Reply #5 on: January 21, 2012, 03:52:36 PM »

Should download this and read at home. At least sphere inverse could be done by c=recip(pixel).
Logged

fractal catalisator
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #6 on: January 21, 2012, 04:06:00 PM »

Should download this and read at home. At least sphere inverse could be done by c=recip(pixel).

But we are talking about math theory, not about pixel wink
I try to put this in more simple terms.
If we want a 3D fractal that shows Mandelbrot at z=0 (and we like to), we must find some non-stretching functions;

x2=x, y2=y, z2=z

x = f1(x2,y2,z2) + (x2*x2 - y2*y2 + f2(x2,y2,z2) )*f3(x2,y2,z2) + Cx
y = f4(x2,y2,z2) + (2*x2*y2 + f5(x2,y2,z2) )*f6(x2,y2,z2) + Cy
z = f7(x2,y2,z2) + Cz
// add more dimensions here ...


With f3(0,0,0) = 1 = f6(0,0,0)
All other f(0,0,0) = 0 smiley

Only, we must find those functions grin
Logged

No sweat, guardian of wisdom!
Alef
Fractal Supremo
*****
Posts: 1174



WWW
« Reply #7 on: January 24, 2012, 06:46:28 PM »

I just found keyword and replied;)

At least in quaternion numbers pretty important is to have:
function(x) ><  function(y)  ><  function(z)  >< funtion(x)

This should be reason why does tricorn formula z=z*z+c z=quaternion(imag, real, j, i) generates something resembling 2D fractal, but z=z^2+c only a rotation surface. Standart quaternion in z=0 plane should look like mandelbrot and probably it have some inner spirals rotated around x axis so not seen in 3D. So some correct mathematical formulas (somewhere in mandelbrot 3d lists) created nothing, but not completely correct like function(0,0,0)=-1 created something.

But probably there are some 3D engine limitations, since all branching mostly are outsides and with just thin insides.
« Last Edit: January 24, 2012, 07:01:40 PM by Asdam » Logged

fractal catalisator
Alef
Fractal Supremo
*****
Posts: 1174



WWW
« Reply #8 on: January 29, 2012, 02:24:14 PM »

Hmm, why julia sets produce interesting quaternion pics and mandelbrots sets don't??? Could be coz in julia sets an imaginary value is added in every iteration so y><z, and in mandelbrot is not.  

I was thinking about implementing new numbers rules and then on paper squaring (Ar, Bi, Cj).
i^2=-1 and j^2 = huh?. Y and Z axis must be different, and we don't have 4th axis. Wikipedia sayes quaternions are good for rotations.

I tryed something. i*i=-1 and j*j=-i And ixj= whatevergivesnicepicturethroughtImnotshure = 1. And without any 4th number.

Then I got pretty simple:
Code:
zx=real(z);
zy=imag(z);
zz=part_j(z);
zx = zx*zx - zy*zy + 2*zy*zz  + real(C);
zy = 2* zx * zy - zz*zz  + imag(C);
zz = 2*zx*zz + part_j(z);
z= quaternion(zx, zy, zz, 0);
(1,1,1)^2 = (2,1,2)

Quite a funy thing, but hardly what we are wayting for. More like very strange attractor;) Directly exponent smoothed. Chaos Pro engine are able to calculate this simmulatenously as both 3D quaternion and 2D complex fractal. 2D is something mandelbrot like, but without spirals, the same features apears when zoomed in 3D.


* Numberbrot.jpg (96.27 KB, 800x599 - viewed 104 times.)

* NumberBrot2.jpg (96.71 KB, 800x599 - viewed 93 times.)

* Numberbrot_2D.jpg (13.31 KB, 320x240 - viewed 259 times.)

* Numberbrot_zoomed.jpg (93.92 KB, 640x479 - viewed 98 times.)
Logged

fractal catalisator
Alef
Fractal Supremo
*****
Posts: 1174



WWW
« Reply #9 on: January 29, 2012, 02:30:36 PM »

I tried tu square and cube (Ar, Bi, Cj) using tricomplex numbers, but result was pretty ugly.

This http://www.fractalforums.com/new-theories-and-research/few-steps-behind-perfect-3d-mandelbrot/ produces we are searching, but just on both sides around seahorse walley. This is more like tricorn, and was found by modifying tricorn formula. Some iteration numbers produce stalks made of spheres as are expected. Maybe this could lead to some analytical formula of 3D mandelbrot. Should try to iterate that on paper.
Logged

fractal catalisator
Alef
Fractal Supremo
*****
Posts: 1174



WWW
« Reply #10 on: February 01, 2012, 07:51:43 PM »

I think, Mandelbrot set should be deffined as graphic relations between numbers.

There were BUG IN ALGORITHM. It needed two seperate x, y and z variables. Well, without this bug it do generates normal mandelbrot in 2D.

Chaos Pro code as uploaded to database.
Code:
zAlterMandelbrot3D (quaternion) {
// Formulas z^2+C and z^3+C
// in alternative 3 part numbers,
// defined that i^2=-1, j^2=-i, i*j=1
// so that j is superimaginary unit.

// Not more a rotated quaternion, but still not a Mandelbulb;)
// Curved insides.
//by Edgars Malinovskis 01.02.2012.
//You may redistribute this algorithm, modify, derivate or use comercialy as you wish as long as you give proper credits.

parameter real bailout;
parameter int settype, power;
parameter bool testInverted;
parameter quaternion julia, perturb;
quaternion C;
real zx, zy, zz, zzx, zzy, zzz, Cx, Cy, Cz;

void init(void)
 {
  if (testInverted==true && settype=="Julia Set")
{
z = recip(pixel);
C = julia;
}
     else if (settype=="Julia Set")
    {
z = pixel;
C = julia;
    }
    else if (testInverted==true && settype=="Mandelbrot Set")
{
z= perturb;
C= recip(pixel);
}
    else
    {
z= perturb;
C= pixel;
    }


Cx=real(C);
Cy=imag(C);
Cz=part_j(C);
}
void loop(void)
{
zx=real(z);
zy=imag(z);
zz=part_j(z);


if (power=="Square")
{
zzx = zx*zx - zy*zy + 2*zy*zz  + Cx;
zzy = 2* zx * zy - zz*zz  + Cy;
zzz = 2*zx*zz + Cz;
}
else if (power=="Cube")
{
zzx =zx*zx*zx-3*zx*zy*zy+6*zx*zy*zz+zz*zz*zy-zz*zz*zz  + Cx;
zzy =3*zx*zx*zy-3*zx*zz*zz-zy*zy*zy+2*zy*zy*zz   + Cy;
zzz =3*zx*zx*zz-zy*zy*zz+2*zy*zz*zz  + Cz;
}
/// All three number parts must be iterated seperetely, hence zzx and zx.
z= quaternion(zzx, zzy, zzz, 0);
}
bool bailout(void)
{
return(  abs(zzx)+ abs(zzy) + abs(zzz) < bailout );
}
void description(void)
{
this.title = "zAlter 3D Mandelbrot";
this.maxiter=17;
this.helpfile="http://www.fractalforums.com/index.php?topic=10079";

bailout.caption = "Bailout Value";
bailout.default = 777.0;
bailout.min = 0.5;
bailout.hint = "Larger number increases detalisation";

    settype.caption = "Set type";
    settype.enum = "Mandelbrot Set\nJulia Set";
    settype.default = 0;

    testInverted.caption="Inverted set";
    testInverted.default=false;

    power.caption = "Alter complex Power";
    power.enum = "Square\nCube";
    power.default = 0;

    julia.caption = "Julia Parameter";
    julia.default = (0.2,-0.43,-0.3,0);
    julia.hint = "4th value - k is not used";
    julia.visible = (settype=="Julia Set");

    perturb.caption = "Perturbation";
    perturb.default = (0,0,0,0);
    perturb.hint = "Starts calculation with this number. 4th value is unused";
    perturb.visible = (settype=="Mandelbrot Set");
    perturb.min = -1.5;
    perturb.max = 1.5;
}
}

Looks somewhat promising, and alredy not a quaternionic uglyness. Insides of this fractal reveals many curved features, maybe this is inside wiev of 2D spirals. Still, relation between positive y and z is somewhat linear. All direct exponent smoothing coloured.


* Alt3Dnumber_mandelbrot3.jpg (93.62 KB, 517x576 - viewed 94 times.)

* Alt3Dnumber_mandelbrot.jpg (37.87 KB, 260x407 - viewed 241 times.)

* Alt3Dnumber_mandelbrot_cube2.jpg (57.8 KB, 640x354 - viewed 96 times.)

* Alt3Dnumber_mandelbrot_inside.jpg (98.64 KB, 640x479 - viewed 93 times.)
« Last Edit: February 02, 2012, 04:24:40 PM by Asdam » Logged

fractal catalisator
Alef
Fractal Supremo
*****
Posts: 1174



WWW
« Reply #11 on: February 01, 2012, 07:58:34 PM »

Maybe some super advanced Musean hypernumbers just found in wikipedia, but with a counterimaginary unit epsilon as z axis? So should multiply (Ar, Bi, Ce)*(Ar, Bi, Ce) and formula is ready;)
http://en.wikipedia.org/wiki/Musean_hypernumber#Multiplication_table
Logged

fractal catalisator
Alef
Fractal Supremo
*****
Posts: 1174



WWW
« Reply #12 on: February 03, 2012, 04:30:14 PM »

I just calculated 4th power mandelbrot of (i^2=-1; j^2=-i; i*j=1). A bitt tayred of 1.5 hours of algebra so left this long stuff unoptimised. Not slow as I had expected. In Chaos pro calculating it as 2D escape time fractal gives normal 4th power mandelbrot. So first test sucseeded.

In 3D this gives something ghostly interesting, but pretty stretched on negative i. Maybe it is the result of [fallen from heaven to my head] superimaginary unit j^2=-i. But result is pretty consistent.

zzx= zx*zx* (zx*zx-3*zy*zy+6*zy*zz) + zx*zz*zz* (zy-zz) - zx*zy* (3*zx*zy-3*zz*zz) - zy*zy*zy* (2*zz-zy) + zy* zz* (3*zx*zx-zy*zy+2*zy*zz) + zx*zz* (3*zx*zy-3*zz*zz) + zy*zy*zz* (2*zz-zy) + Cx;
zzy= zx*zx* (3*zx*zy-3*zz*zz) +zx*zy*zy* (2*zz-zy) + zx*zy* (zx*zx-3*zy*zy+6*zy*zz) + zy*zz*zz* (zy-zz) - zz*zz* (3*zx*zx-zy*zy+2*zy*zz) + Cy;
zzz= 2*zx*zz* (3*zx*zx-zy*zy+2*zy*zz) + zz*zz*zz* (zy-zz) + Cz;

Pretty interesting things aslou are inside of the brot.
p.s.
Just imagine lenght of power 8 formula:D

Added:

Optimised equations looks pretty correct. Single mistake can degradate result, so checked until it's looks as should.

Code:
zzx= sqr(sqr(zx)) -6*sqr(zx)*sqr(zy) +12*sqr(zx)*zy*zz +4*zx*zy*sqr(zz) -4*zx*zz*zz*zz -4*zy*zy*zy*zz + sqr(sqr(zy)) +4*sqr(zy)*sqr(zz) +Cx;
zzy= 4*zx*zx*zx*zy -6*sqr(zx)*sqr(zz) +8*zx*sqr(zy)*zz -4*zx*zy*zy*zy +2*sqr(zy)*sqr(zz) -3*zy*zz*zz*zz +Cy;
zzz= 6*zx*zx*zx*zz -2*zx*sqr(zy)*zz +4*zx*zy*sqr(zz) +zy*zz*zz*zz - sqr(sqr(zz)) +Cz;


* ZAltnumb_Tessseract_Mand_1.jpg (99.97 KB, 800x371 - viewed 95 times.)

* ZAltnumb_Tessseract_Mand_2.jpg (102.89 KB, 800x389 - viewed 95 times.)

* ZAltnumb_pow4_Mand_inside.jpg (112.9 KB, 734x599 - viewed 94 times.)
« Last Edit: February 08, 2012, 07:06:08 PM by Asdam » Logged

fractal catalisator
Pages: [1]   Go Down
  Print  
 
Jump to:  


Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.176 seconds with 24 queries. (Pretty URLs adds 0.008s, 2q)