Logo by mclarekin - 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 29, 2024, 02:07:37 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] 2   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: Formula?  (Read 9280 times)
0 Members and 1 Guest are viewing this topic.
lkmitch
Fractal Lover
**
Posts: 238



« on: November 19, 2009, 07:04:37 PM »

Ok, I freely admit that I've only skimmed the original thread, and may have missed parts or misunderstood.  So now that we have a fresh, sparkly new board and thread, let me ask here:

What is the 3D Mandelbulb formula, in algebra (i.e., not code or implementation specific)?  And why, in words, is this THE 3D analog to the standard 2D Mandelbrot set?

Thanks, and I promise to pay better attention,
Kerry
Logged
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #1 on: November 19, 2009, 07:40:58 PM »

Hi Kerry, first off I don't think Daniel White (twinbee) or Paul Nylander (bugman) have actually claimed it to be *the* 3D analog of the 2D Mandelbrot, it's just that Daniels investigations (see beginning of *the* thread) which produced something like what we're looking for in the case of z^2+c produced the startling results at higher "power"/degree as discovered by Paul.

As to what is it, well see Paul's post of his latest suggestion for a "correct" version of the formula:

http://www.fractalforums.com/3d-fractal-generation/true-3d-mandlebrot-type-fractal/msg8680/#msg8680

If that's not sufficiently algebraic I'm not sure exactly what you're after, here's the same thing described in a mix of complex/real form as could be coded in UF or other software that handles complex, though this is less optimum even than the trig version in some cases (depending how the compiler handles ^@mpwr):

Code:
            ztemp = ((r=cabs(zri)) + flip(zj))^@mpwr
            zri = real(ztemp)*(zri/r)^@mpwr + cri
            zj = imag(ztemp) + cj
Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
fractalrebel
Fractal Lover
**
Posts: 211



WWW
« Reply #2 on: November 19, 2009, 09:26:28 PM »

Kerry,

A UF 5 version is in reb.ulb (need the latest update to see it) If you do a search for spower at the top of the file the search will take you right to it.
Logged

fractalrebel
Fractal Lover
**
Posts: 211



WWW
« Reply #3 on: November 19, 2009, 10:01:50 PM »

Kerry,

Here is an example of z^5 + c rendered in Ultrafractal.


* Mandel5.jpg (128.64 KB, 640x640 - viewed 678 times.)
Logged

cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #4 on: November 19, 2009, 11:02:20 PM »

@ron, where (the heck  wink) do i increase the bulb iteration depth ?!
 afro
Logged

---

divide and conquer - iterate and rule - chaos is No random!
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #5 on: November 19, 2009, 11:43:53 PM »

@ron, additionally, i was browsing through your methods, with the goal of implementing an "alternated bulb" , i see
you are using the base class "Quat" as formula base class, i have some questions about it

for the alternate method i would like to know when a formula is first used in an iteration loop ( for reseting a counter ), or
the current iteration depth value ...

have you ever thought about using the quat class for more simple functions, like a generic add or mul? , i wanted to start, but stopped
because i have not the right math book at my fingertips for reference of derivative functions ... but i believe it could be done so
that it would work in many cases ...
Logged

---

divide and conquer - iterate and rule - chaos is No random!
fractalrebel
Fractal Lover
**
Posts: 211



WWW
« Reply #6 on: November 20, 2009, 04:48:58 AM »

@ron, additionally, i was browsing through your methods, with the goal of implementing an "alternated bulb" , i see
you are using the base class "Quat" as formula base class, i have some questions about it

for the alternate method i would like to know when a formula is first used in an iteration loop ( for reseting a counter ), or
the current iteration depth value ...

have you ever thought about using the quat class for more simple functions, like a generic add or mul? , i wanted to start, but stopped
because i have not the right math book at my fingertips for reference of derivative functions ... but i believe it could be done so
that it would work in many cases ...

The Quat class is called such because it was originally for quaternion plugins, which was almost immediately broadened to include hypercomplex, juliabrots, and most recently the twinbee formula. Don't let the name fool you. Its really a wrapper to deal with 3D/4D objects and puts no conditions on the mathematics other than representing a 3D/4D number as a vector. The wrapper has built in functions for conversion between the vector representation and complex numbers. The actual math is carried out in other classes. The nested loops you are looking at have a counter reset. The inner loop is the actual iterations loop and is the iteration depth. The outer loop is for stepping in towards the fractal surface.

I hope this helps and makes some sense.
Logged

fractalrebel
Fractal Lover
**
Posts: 211



WWW
« Reply #7 on: November 20, 2009, 04:54:09 AM »

There is a class in reb.ulb called QH which holds a large collection of static functions for quaternion and hypercomplex operations, such as multiply, power, exponential, log, etc. I recently added a new class called MD which has the static functions for power and multiply for the twinbee method and for Dave Makin's 4D number approach.
Logged

s31415
Conqueror
*******
Posts: 110



WWW
« Reply #8 on: November 20, 2009, 05:02:01 AM »

To Kerry:

From what I understood (someone correct me if I'm wrong), you switch to spherical coordinates, square the radius and double the two angles (without caring if you get out of the usual range for theta), and switch back to cartesian coordinates. Then you perform a parity transformation. See this post:
http://www.fractalforums.com/3d-fractal-generation/true-3d-mandlebrot-type-fractal/msg8726/#msg8726
I could get an answer about how crucial the parity transformation is. Did any body tried to drop it?
Note that Jos Leys answered to my second question in the post above, look a little bit further in the thread.

Best,

Sam
Logged

s31415
Conqueror
*******
Posts: 110



WWW
« Reply #9 on: November 20, 2009, 05:02:56 AM »

I could get...

I meant "I couldn't..."
Logged

fractalrebel
Fractal Lover
**
Posts: 211



WWW
« Reply #10 on: November 20, 2009, 05:13:06 AM »

To Kerry:

From what I understood (someone correct me if I'm wrong), you switch to spherical coordinates, square the radius and double the two angles (without caring if you get out of the usual range for theta), and switch back to cartesian coordinates. Then you perform a parity transformation. See this post:
http://www.fractalforums.com/3d-fractal-generation/true-3d-mandlebrot-type-fractal/msg8726/#msg8726
I could get an answer about how crucial the parity transformation is. Did any body tried to drop it?
Note that Jos Leys answered to my second question in the post above, look a little bit further in the thread.

Best,

Sam

Not quite (at least with my method), but close. For example, if I want the z^8 + c mandelbulb, The radius is taken to the 8th power and the two angles are multiplied by 8 before conversion back to cartesian coordinates.
Logged

s31415
Conqueror
*******
Posts: 110



WWW
« Reply #11 on: November 20, 2009, 04:00:16 PM »

Not quite (at least with my method), but close. For example, if I want the z^8 + c mandelbulb, The radius is taken to the 8th power and the two angles are multiplied by 8 before conversion back to cartesian coordinates.

Of course, my explanation was only to "square" a vector. I also forgot to mention that the two angles are the usual azimut running from 0 to 2pi and the elevation, running from -pi/2 to pi/2 and equal to zero at the equator.

But this is interesting in the case of the power 8, you don't use any parity transformation?

Sam
Logged

fractalrebel
Fractal Lover
**
Posts: 211



WWW
« Reply #12 on: November 20, 2009, 07:32:09 PM »

Not quite (at least with my method), but close. For example, if I want the z^8 + c mandelbulb, The radius is taken to the 8th power and the two angles are multiplied by 8 before conversion back to cartesian coordinates.

Of course, my explanation was only to "square" a vector. I also forgot to mention that the two angles are the usual azimut running from 0 to 2pi and the elevation, running from -pi/2 to pi/2 and equal to zero at the equator.

But this is interesting in the case of the power 8, you don't use any parity transformation?

Sam

Back in one of the earlier threads there is a statement that with the corrected twinbee formula, no parity transformation is needed.
Logged

fractalrebel
Fractal Lover
**
Posts: 211



WWW
« Reply #13 on: November 20, 2009, 07:36:04 PM »

Forgot to mention, I don't worry about effects of the elevation outside its normal range. I some of my early coding, I took that into account, and it didn't seem to have any effect on the image.
Logged

jehovajah
Global Moderator
Fractal Senior
******
Posts: 2749


May a trochoid in the void bring you peace


WWW
« Reply #14 on: November 23, 2009, 02:48:31 PM »

Quote from: David Makin on November 03, 2009, 12:56:44 AM
Hi all, you may remember I had a 3D based suggestion for a "true 3D" Mandy using the following:

 *  |    r    i    j
-----------------
  r  |    r    i    j
  i  |    i   -r  -j
  j  |   j   -j   -r

Which gives a square of (x,y,z):

new x = x^2 - y^2 - z^2
new y = 2*x*y
new z = 2*z*(x-y)
==========================================================================


I attempt to be explicit and thorough.
 *  x       iy     jz     -iy    -jz
------------------------------------
x:     x2   xiy   xjz   -xiy   -xjz
iy:   iyx   -y2   iyjz  -iyiy  -iyjz
jz:    jzx   jziy   -z2  -jziy   -jzjz
-iy:   -iyx  -iyiy -iyjz  -y2  -iy(-jz)
-jz:   -jzx  -jziy -jzjz  -jz(-iy)  -z2


The rules are:
     i2 = j2 = (-j)2 = (-i)2 = -1
  
     -ii = -jj = +1

The manipulations are:

 yix = yxi = xyi = xiy = ixy = iyx

 zjx = zxj = xzj = xjz = jxz = jzx

-yix = -yxi = -xyi = -xiy = -ixy = -iyx

-zjx = -zxj = -xzj = -xjz = -jxz = -jzx


double operator manipulations non commutative :

ziyj =zyij = yzij = yizj = iyzj = [iyjz = -iy(-jz)] = ijyz = ijzy= izjy

+y2 = -y2i2 = -yiyi = -iy2i = [-iyiy = iy(-iy)] = -i2y2 = +y2
-ziyj = -zyij = -yzij = -iyzj = [-iyjz = iy(-jz)] = -ijyz = -ijzy = -izjy

yjzi = yzji = zyji = zjyi = jzyi = [jziy = -jz(-iy)] = jizy = jiyz = jyiz

-yjzi = -yzji = -zyji = -zjyi = -jzyi = [-jziy = jz(-iy)] = -jizy = -jiyz = -jyiz

+z2 = -z2j2 = -zjzj = -jz2j = [-jzjz = jz(-jz)] = -j2z2 = +z2


summary of main manipulations:
yzij  = ijyz        (±jz)2 = -z2      yxi = iyx
-yzij = -ijyz      (±iy)2 = -y2     zxj = jzx
yzji  = jiyx     -(iy)2 = +y2     -yxi = -iyx
yzji  = jiyz     -(jz)2  = +z2     -zxj = -jzx
-yzji   = -jiyz



So (x + iy +jz)2 gives the following parts

x2 + (iy)2 + (jz)2


i(xy + yx)

j(xz + zx)

yz(ij + ji)

So for the function the last term which i am calling the handedness term is decided by the programmer.

For the geometrical space mandelbrot iteration

newx =x2 - y2 - z2

newy = 2xy

newz = 2xz

handedness term affects either x or y or z or 2 out of the 3 and has magnitude yz so:
if ij / ji

newyz =y.z.


for the handedness term
 if ij = ji
newyz = 2yz

I will suggest in another post how the handedness term might be applied but i think there is enough here for you to play with.

   Report to moderator    81.108.14.116

May you delight in orgasms and know peace joy vigorous health and feelings of grat
« Last Edit: November 27, 2009, 06:15:07 AM by jehovajah, Reason: index change » Logged

May a trochoid of ¥h¶h iteratively entrain your Logos Response transforming into iridescent fractals of orgasmic delight and joy, with kindness, peace and gratitude at all scales within your experience. I beg of you to enrich others as you have been enriched, in vorticose pulsations of extravagance!
Pages: [1] 2   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
@jesse - save formula as new formula ?! feature request cKleinhuis 0 4906 Last post October 10, 2012, 05:43:14 PM
by cKleinhuis
Could Pi be considered a fractal? General Discussion « 1 2 3 » Chillheimer 44 28637 Last post August 22, 2017, 04:17:38 AM
by greentexas
Formula Tab Swap feature request 0Encrypted0 0 5175 Last post March 28, 2015, 10:37:14 PM
by 0Encrypted0
All Mandelbulb3Dv189x2 formula descriptions Tutorials 1Bryan1 5 6307 Last post October 27, 2015, 08:29:38 PM
by M Benesi
how to read a m3p formula Mandelbulb 3d dyol 7 4875 Last post December 23, 2015, 04:55:40 PM
by dyol

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.235 seconds with 26 queries. (Pretty URLs adds 0.012s, 2q)