Welcome to Fractal Forums

Fractal Math, Chaos Theory & Research => (new) Theories & Research => Topic started by: kram1032 on January 30, 2012, 03:09:16 PM




Title: oblate coordinate Mset / Mbulb
Post by: kram1032 on January 30, 2012, 03:09:16 PM
Upon looking through relativitic metrics and trying to wrap my mind around them, I found that the most important metric that's currently in use, the Kerr-metric (which describes an uncharged black hole in rotation), reduces to an oblate spheroidal coordinate system.
http://en.wikipedia.org/wiki/Oblate_spheroidal_coordinates

It's basically like Spherical coordinates, but it stretches the center (0,0,0) to a straight line, getting rid of the pole that sits there.

Using those coordinates, I arrived at the following n-bulb formula set:

Code:
x -> a^n Cos[n ArcSec[(Sqrt[-a^2 + x^2 + y^2 + z^2] + Sqrt[a^2 + x^2 + y^2 + z^2])/a]] Cos[n Arg[x + i y]] Cosh[n ArcSech[(2 a)/(Sqrt[-a^2 + x^2 + y^2 + z^2] + Sqrt[a^2 + x^2 + y^2 + z^2])]] + x0

y -> Cos[n ArcSec[(Sqrt[-a^2 + x^2 + y^2 + z^2] + Sqrt[a^2 + x^2 + y^2 + z^2])/a]] Cosh[n ArcSech[(2 a)/(Sqrt[-a^2 + x^2 + y^2 + z^2] + Sqrt[a^2 + x^2 + y^2 + z^2])]] Sin[n Arg[x + i y]] + y0

z -> a^n Sin[n ArcSec[(Sqrt[-a^2 + x^2 + y^2 + z^2] + Sqrt[a^2 + x^2 + y^2 + z^2])/a]] Sinh[n ArcSech[(2 a)/(Sqrt[-a^2 + x^2 + y^2 + z^2] + Sqrt[a^2 + x^2 + y^2 + z^2])]] + z0

Two things to note:
  • "a" is a parameter that essentially defines the stretching of the central point.
  • To arrive at my set of equations, I never actually took a power. Instead, I multiplied each transformed variable by n. My reasoning for that is, that this only uses exponential-based functions. In particular, what would usually correspond to the radius, is given by Cosh(). That's very similar to an exponential function which changes powers to multiplications. - the only thing that has a direct power applied to it is the parameter a, which usually is a fixed constant over iterations...


Title: Re: oblate coordinate Mset / Mbulb
Post by: knighty on January 30, 2012, 03:34:51 PM
Interesting. Any picture? That should give a mandelbulb like fractal but without the star shaped singularity.


Title: Re: oblate coordinate Mset / Mbulb
Post by: kram1032 on January 30, 2012, 05:53:48 PM
I worked out the formulae but I still don't have a Mandelbulber-style program I could test it on...

Btw, the Power2 case simplified gives an interesting, clearer formula:

Code:
x -> 2 (a^2 - x^2 - y^2 - z^2) Cos[2 Arg[x + i y]]+x0

y -> 2 (a^2 - x^2 - y^2 - z^2) Sin[2 Arg[x + i y]]+y0

z -> a^2 Sin[2 ArcSec[(Sqrt[-a^2 + x^2 + y^2 + z^2] + Sqrt[a^2 + x^2 + y^2 + z^2])/a]] Sinh[2 ArcSech[(2 a)/(Sqrt[-a^2 + x^2 + y^2 + z^2] + Sqrt[a^2 + x^2 + y^2 + z^2])]]+z0

If you know a bit of relativistic equations, you'll know that the very simple flat space in case of Special Relativity (e.g. zero mass), also called Minkowski space, corresponds to:

t²-(x²+y2+z²)

Which can be seen in those, in the rotational plane (x,y-Axes) if you substitute a=t

Next, I'll look into 8th power, assuming the 2nd power case to become too uninteresting once again...


Title: Re: oblate coordinate Mset / Mbulb
Post by: knighty on January 30, 2012, 09:11:00 PM
Well, I was just talking about special relativity in the polyhedra thread  :alien:.


Title: Re: oblate coordinate Mset / Mbulb
Post by: kram1032 on January 30, 2012, 10:36:11 PM
Man, that 8th power version takes forEVER to simplify.
I guess it's just easier to use the generic one for that...

Also...
Well, I guess I didn't read the polyhedra thread yet.  :alien:

Anyone out there willing to try out what those formulae possibly generate?

There is also the Prolate spheroidal coordinates http://en.wikipedia.org/wiki/Prolate_spheroidal_coordinates
in case the oblate ones turn out to not be interesting in any way at all...
And apparently, though those are probably harder to implement, there also are
http://mathworld.wolfram.com/InverseOblateSpheroidalCoordinates.html
inverse oblate spheroidal Coordinates, that are a mix of a double-sphere, a torus and a cutting plane? looks fairly weird but could be interesting.
Those and their Prolate counterpart http://mathworld.wolfram.com/InverseProlateSpheroidalCoordinates.html
look a lot like Atomic orbitals and will probably help describing those.
So using the two inverse ones, we might be able to get some atomic Mandelbulbs :D

Either way, for now, let's stick with the oblate ones.


Title: Re: oblate coordinate Mset / Mbulb
Post by: DarkBeam on January 30, 2012, 11:33:19 PM
If you use asymmetryc shapes, the result will be stretched :)


Title: Re: oblate coordinate Mset / Mbulb
Post by: kram1032 on January 31, 2012, 03:57:38 PM
None of those are asymmetric...
Though they all have a clear directional symmetry.
So they are all cylindrically symmetric along the "rotational axis" - in case of all of them, that's the z-Axis.
Also, they are all mirror symmetrical along the "rotational plane". (z = -z)

So none of them are very far away from a perfectly spherical coordinate system.

In fact, as far as I can tell (I didn't actually play with the parameter "a", so I can't confirm this for sure, but at least it looks like it from the basic transforms), the oblate and the prolate spheroidal coordinates are reduced to spherical coordinates by approaching the limit a->0 while they reduce to Cartesian coordinates for the limit a->infinity

Btw, since the y axis is pretty much just rotated, it might work to set it to 0 and use a as a parameter instead.
That would correspond to the "default" M-set plane through the set of parameters a.

Maybe, though some creative special transforms, that parameter could be included in the transformation process...


Title: Re: oblate coordinate Mset / Mbulb
Post by: kram1032 on February 01, 2012, 12:28:18 AM
Darn, I think, I made a mistake here... And that after trying to get a simplified power 8 formula for nearly 8 hours now...

My substitutions were off. Really stupid mistake, totally disregarding the binomial formula <.<

It might still be interesting to see what the results above ultimately give, however, this one is correct for generic n, this time around not done in mind but actually aided by a computer, as well as quadruple-checked that there are no typing errors...

x -> an cosh(n µ) cos(n ν) cos(n θ)+x0
y -> an cosh(n µ) cos(n ν) Sin(n θ)+y0
z -> an sinh(n µ) sin(n ν)+z0

θ = Arg(x+iy)

µ = ArcSech((2a)/(c1+c2))
ν = ArcSec ((2a)/(c1-c2))

c1 = (((x2+y2)1/2+a)2+z2)1/2
c2 = (((x2+y2)1/2-a)2+z2)1/2

ArcSec being ArcusSecans, the inverse of the Secans function which on its part simply is 1/sin x
ArcSech being the same for sinh, the hyperbolic sine.

that's a bit more complex than what I had before.

The new, corrected results for power 2:

x->(2(x2+y2-z2)-a2) cos(Arg(x+iy)) + x0
y->(2(x2+y2-z2)-a2) sin(Arg(x+iy)) + y0
z->a2 sinh(2µ) sin(2ν)+z0

apparently, z is more difficult to simplify...

Now, my previous thoughts on special relativity are no longer valid. Though, as a positive side-effect, this added one more "-" to those equations.
That one "-" might cause dynamics that were previously gone for wrongness...

OR, once somebody actually tries this, it turns out that the general rule of appealing errors applies here too...

Next, instead of providing a power 8 version, I'll try a power 3. I guess, the power 8 one just takes too long to simplify... - maybe an obvious pattern emerges, that can be used to further simplify for integer-powers...


Title: Re: oblate coordinate Mset / Mbulb
Post by: KRAFTWERK on February 01, 2012, 09:46:28 AM
I like the sound of this Kram!... I hope someone takes the bait and do some test renders (I can't)  :-\
Luca?  :dink:


Title: Re: oblate coordinate Mset / Mbulb
Post by: DarkBeam on February 01, 2012, 11:30:08 AM
Call me after some preview renders are available (and in this period I will be busy :sadness: )


Title: Re: oblate coordinate Mset / Mbulb
Post by: kram1032 on February 01, 2012, 12:25:15 PM
oh...
We might have a problem, here...

You will need to have complex-numbers aware implementations of those functions.
I didn't figure out if the condition always works like this, yet...
But apparently, for any real values, sin(n acos(x)) sinh(n acosh(x)) returns only imaginary values.
The only way to stop this is to have imaginary values in one argument and real values in the other one.
That, on the other hand, means that at LEAST one of them,
µ or ν,
will head off to complex numbers at some point.
Or if they don't, the whole thing is ill-defined. But looking at the sheer amount of roots in those definitions, aswell as their defining arcsec(h)s, I'm almost certain, they will...

It is possible to rewrite those split up into a real and an imaginary part but the resulting functions are overkill-complicated...


Title: Re: oblate coordinate Mset / Mbulb
Post by: DarkBeam on February 01, 2012, 12:28:20 PM
In Mathematica and WolframAlpha;

Re(function(x+iy))
Im(function(x+iy))

Does the job fine! I used it some times... :dink:


Title: Re: oblate coordinate Mset / Mbulb
Post by: Alef on February 01, 2012, 07:49:05 PM
[waiting for a nice pics.]


Title: Re: oblate coordinate Mset / Mbulb
Post by: kram1032 on February 01, 2012, 08:01:32 PM
I know it does. But that's exactly the point. The resulting formulas are fairly complex. Lots of roots in roots in roots...

Doing this stuff directly in Mathematica, might work... but I don't have an implementation of it (it being a generic Mandelbulb/-Box/what ever renderer) in Mathematica so I can't try.

Nor am I too good with building complex programs - in Mathematica or in general...
So I hope, that either somebody has that readily working or could give me a clear copy+paste thing I could use in Mathematica to do it myself...


Title: Re: oblate coordinate Mset / Mbulb
Post by: Alef on February 01, 2012, 08:19:52 PM
Chaos pro is pretty easy to use thing. Just copy code of others, place your code, and whoala;)
Of coarse it is not a MathCad (haven't used mathematica), it don't calculates nothing and can't simplify the formulas, but probably it is easyest way to do something with there implemented mandelbulb and mandelbox codes.
Or maybe you alredy know this;)

It will works with complex sin and with mathematical library alsou could use hypercomplex sin.