Welcome to Fractal Forums

Fractal Math, Chaos Theory & Research => Theory => Topic started by: M Benesi on March 10, 2011, 10:59:42 PM




Title: An old formula revised
Post by: M Benesi on March 10, 2011, 10:59:42 PM
  So, a long time ago, in a fractal deep deep in zoom, I came up with a formula (while searching for the elusive grail).  Recently, for the hell of it, I started messing with it again.  

  I fiddled with it <the formula> a bit and got it.. a little crisper.  
4th order (2 types, the first is the original posting, the 2nd is the improved formula, although the straight on shot doesn't show how much more awesome the formula is.   The 2nd formula is better to zoom into, although the first variation has its moments.):
Click to view bigger in new tab:
(https://lh4.googleusercontent.com/_gbC_B2NkUEo/TXlI2A4C_JI/AAAAAAAABFw/0pPVp1FWoT0/s400/the%20golden%20monastery%202.jpg) (https://lh4.googleusercontent.com/_gbC_B2NkUEo/TXlI2A4C_JI/AAAAAAAABFw/0pPVp1FWoT0/the%20golden%20monastery%202.jpg) (https://lh4.googleusercontent.com/_gbC_B2NkUEo/TXl4QDPCrvI/AAAAAAAABGY/oHAXk6VBHOw/s400/golden%20monastery%204th%20sqrt%202%20bmode.jpg) (https://lh4.googleusercontent.com/_gbC_B2NkUEo/TXl4QDPCrvI/AAAAAAAABGY/oHAXk6VBHOw/golden%20monastery%204th%20sqrt%202%20bmode.jpg)

  1st image is a zoom into the first tower (straight ahead) of the second formula, 2nd image is from the newest formula variation... even betterer  (click 'em to biggify):
(https://lh3.googleusercontent.com/_gbC_B2NkUEo/TXl_YMHlipI/AAAAAAAABGo/IgJXfSojgZY/s400/golden%20tower%20ab.jpg) (https://lh3.googleusercontent.com/_gbC_B2NkUEo/TXl_YMHlipI/AAAAAAAABGo/IgJXfSojgZY/golden%20tower%20ab.jpg) (https://lh6.googleusercontent.com/_gbC_B2NkUEo/TXm1TYHPY-I/AAAAAAAABHY/x6EXJKaLkPk/s400/tower%20of%20power.jpg) (https://lh6.googleusercontent.com/_gbC_B2NkUEo/TXm1TYHPY-I/AAAAAAAABHY/x6EXJKaLkPk/tower%20of%20power.jpg)

  Here are a few z^2, slightly interesting areas (last one is incomplete render.. gotta stop fur da' night)... gotta explore a bit more and get the tower tomorrow:
(https://lh5.googleusercontent.com/_gbC_B2NkUEo/TXnCU5CAgKI/AAAAAAAABHg/r7-IRpfxl_Y/s288/weird%20one.jpg) (https://lh5.googleusercontent.com/_gbC_B2NkUEo/TXnCU5CAgKI/AAAAAAAABHg/r7-IRpfxl_Y/weird%20one.jpg) (https://lh5.googleusercontent.com/_gbC_B2NkUEo/TXnCVmGZdgI/AAAAAAAABHo/j8qUxtAWv2s/s288/guitars%20off%20the%20end.jpg) (https://lh5.googleusercontent.com/_gbC_B2NkUEo/TXnCVmGZdgI/AAAAAAAABHo/j8qUxtAWv2s/guitars%20off%20the%20end.jpg) (https://lh4.googleusercontent.com/_gbC_B2NkUEo/TXnCU4Fn4rI/AAAAAAAABHk/02Bh9cJ1694/s288/neat%20guitar%20area.jpg) (https://lh4.googleusercontent.com/_gbC_B2NkUEo/TXnCU4Fn4rI/AAAAAAAABHk/02Bh9cJ1694/neat%20guitar%20area.jpg)

  I can't really tell which is "better"..... for now.  Jeez... if only there was some mathematical way to determine which is better...  :D  
  Mag vs. xyz  improved... more images follow.
This is a 5th order (first formula from above, not the zoomin formula)... see if you can pick out the differences from the 4th order above.

(https://lh4.googleusercontent.com/_gbC_B2NkUEo/TXlW0gTA25I/AAAAAAAABF4/bOSQ9RNUmnw/s640/golden%20monastary%205th%203.jpg) (https://lh4.googleusercontent.com/_gbC_B2NkUEo/TXlW0gTA25I/AAAAAAAABF4/bOSQ9RNUmnw/golden%20monastary%205th%203.jpg)


Title: Re: An old formula revised
Post by: KRAFTWERK on March 11, 2011, 11:24:22 AM
I think this one is beautiful Benesi! (from an artistic viewpoint  O0 )
(https://lh6.googleusercontent.com/_gbC_B2NkUEo/TXm1TYHPY-I/AAAAAAAABHY/x6EXJKaLkPk/s400/tower%20of%20power.jpg)


Title: Re: An old formula revised
Post by: M Benesi on March 12, 2011, 02:39:45 AM
Thanks man, I like it too.  Reminds me of an arcane tower with those strange symbols around its base.  It doesn't look too great when enlarged, but if I re-rendered it with another iteration and enlarged it, then shrank it down to something smaller it might look really cool.  

  Anyways, changed the formula yet again and got something wicked cool.  Working on a first z^2 at the moment, gotta explore this new variant.  Way awesomer...  so I'll retry that tower with it.  :D

  Blehh.. New variant isn't way awesomer..   

Here is something from the.. tightest variant.. or maybe not the tightest.. can't decide... But you can zoom into it deeeeppply and find replicating structures- very similar yet changed.  so... who knows.  Also a zoom into the top of one of the pillars of the 4th order below (next set of images), it also happens to be a top down view of the pillar in the image beside it although the color scheme is a bit different and.. well, I forget the rest (weird how flat it looks...  but it isn't... ).
Click to biggify in a new tab:
(https://lh5.googleusercontent.com/_gbC_B2NkUEo/TXsAZrFbiPI/AAAAAAAABH8/ThPYYd3ZY_o/s400/runic%20hills.jpg) (https://lh5.googleusercontent.com/_gbC_B2NkUEo/TXsAZrFbiPI/AAAAAAAABH8/ThPYYd3ZY_o/runic%20hills.jpg) (https://lh6.googleusercontent.com/_gbC_B2NkUEo/TXsyFJt-x_I/AAAAAAAABIs/aNo-ERY0ujU/s400/zoom%20in%20on%20pillar%20of%20bad%20ass%20mamajamma.jpg) (https://lh6.googleusercontent.com/_gbC_B2NkUEo/TXsyFJt-x_I/AAAAAAAABIs/aNo-ERY0ujU/zoom%20in%20on%20pillar%20of%20bad%20ass%20mamajamma.jpg)
Here are a z^2,z^3,z^4 straight down on the structures... or something like that... with decent color assignment (in my opinion), as always, click to biggify in a new tab:
(https://lh3.googleusercontent.com/_gbC_B2NkUEo/TXsuu3vsf8I/AAAAAAAABIY/Y0I8j4gwmmA/s288/bad%20ass%20mamajamma%20full%20on.jpg) (https://lh3.googleusercontent.com/_gbC_B2NkUEo/TXsuu3vsf8I/AAAAAAAABIY/Y0I8j4gwmmA/bad%20ass%20mamajamma%20full%20on.jpg) (https://lh6.googleusercontent.com/_gbC_B2NkUEo/TXsuqOKOA6I/AAAAAAAABIU/ajXeoX7VKVE/s288/bad%20ass%20mamajamma%20full%20on.jpg) (https://lh6.googleusercontent.com/_gbC_B2NkUEo/TXsuqOKOA6I/AAAAAAAABIU/ajXeoX7VKVE/bad%20ass%20mamajamma%20full%20on.jpg) (https://lh6.googleusercontent.com/_gbC_B2NkUEo/TXsulXOdN4I/AAAAAAAABIQ/HUwwmS-t2jk/s288/bad%20ass%20mamajamma%20full%20on.jpg) (https://lh6.googleusercontent.com/_gbC_B2NkUEo/TXsulXOdN4I/AAAAAAAABIQ/HUwwmS-t2jk/bad%20ass%20mamajamma%20full%20on.jpg)



Title: Re: An old formula revised
Post by: DarkBeam on March 13, 2011, 12:02:07 AM
Heyy please leave us the formula for porting in MB
Cheers ;)
Luca


Title: Re: An old formula revised
Post by: M Benesi on March 13, 2011, 02:00:16 AM
  The formula is a bit.. interesting. If you recall the second formula I PM'ed you a few days back, it's based on that one, but a modified version.  The second formula (that I sent you) wasn't that great- it had some interesting properties, but was very stretched and chaotic, in addition to being hard to zoom into without using a realllllly high resolution check.

  Something I'd like to see is a switch (boolean check box) to change between 2 modes (I haven't looked into programming for MB 3d, don't know if I need the source and gotta compile or what).... anyways, if you'd include it, I'd like it.  

  An additional note:  I allow myself the option to set c (c=pi/2 for exploring... but....).  You can stretch the fractal in various ways (setting c lower, closer to sqrt 2 makes the pillars taller, setting c higher makes things flatter- although you can get interesting details by using a higher c in the southern quadrant.  

Code:
  //initialization - only need to do this part once per pixel, but you can repeat it if you like to do extra steps.. 
// really, it's up to you

c=pi/2;

a=n*c;    //  n is your z^n thingy... called n
b=c^(3-n);     // sometimes I use b*[(n-1)^-1] but just do the main one there

// iteration part

r=(x^2+y^2+z^2);

r1=(x^2*b+r)^(n/2);    //changed it after DarkBeam pointed out formula didn't work
r2=(y^2*b+r)^(n/2);   //   was x*b, y*b, z*b when it should have been
r3=(z^2*b+r)^(n/2);   //  x^2 * b, y^2*b, and z^2 *b in the magnitudes...  like it is in my formula... lol

r=sqrt(r);

theta= atan2 (abs (x) * a + flip (r));  //atan2 is the arg function for gettin' yer angles..
phi= atan2 (abs (y) * a + flip (r));  //  flip changes the real value r to the imaginary value to use with
tango= atan2 (abs (z) * a + flip (r));  // the function atan2.   In other words, the flipped part is imaginary

new_x= r1 * cos (theta * n);
new_y= r2 * cos (phi * n);
new_z= r3 * cos (tango * n);

//  now here is the part where I want the switch thrown in, before you add in the pixel or Julia components
//  You might want to disable the switch for n=4,8,12... because it makes discontinuous fractals...
//  but I think I just coded it for you below... anyways..

if (switch) {
if (n==2) {
if (pixelr>0 && x*a>r) { // pixelr is the x component of the pixel
nx=-nx;
}
if (pixeli>0 && y*a>r) { // pixeli is the y component of the pixel
ny=-ny;
}
if (pixelj>0 && z*a>r) { // pixelj is the z component of the pixel
nz=-nz;
}
} else if (n != 4 && n!==8 && n!=12) {   // you know... nobody is every gonna use n>15, just like we
if (pixelr>0 && x>0) { // will never need more than 640k on a computer, so we
nx=-nx; // don't have to make lots of ! statements..
} //  !=  means does not equal... in case of questions..
if (pixeli>0 && y>0) { //  && means logical and....  maybe you don't need the n!=12?
ny=-ny;
}
if (pixelj>0 && z>0) {
nz=-nz;
}
}
}

// now add in your pixel or Julia components... measure bail, etc.
// make sure you check squares (for bailout) instead of absolute values of new components,
// it makes a smoother nicer looking fractal..

 That should be it.. if I didn't forget something important... which happens.  

  The switch is pretty cool for the z^2... makes certain areas interesting.  More boring for the higher n z^n, as I prefer the sharpness of the regular version, but it's really up to the person doing the spelunking....

  Here is a z^2 tree, at the -,-,- point; followed by 2 switched mode z^2 at the +,+,- area (one viewed down from above, one viewed towards the point), as always, click to biggify:
(https://lh3.googleusercontent.com/_gbC_B2NkUEo/TXwVl0wP1PI/AAAAAAAABJI/3_yn04lcEWU/s288/tree%20tree%20redone.jpg) (https://lh3.googleusercontent.com/_gbC_B2NkUEo/TXwVl0wP1PI/AAAAAAAABJI/3_yn04lcEWU/tree%20tree%20redone.jpg) (https://lh4.googleusercontent.com/_gbC_B2NkUEo/TXwVn0LQxbI/AAAAAAAABJQ/H91VfiRGMr4/s288/switched%20mode%20awesomeness.jpg) (https://lh4.googleusercontent.com/_gbC_B2NkUEo/TXwVn0LQxbI/AAAAAAAABJQ/H91VfiRGMr4/switched%20mode%20awesomeness.jpg) (https://lh6.googleusercontent.com/_gbC_B2NkUEo/TXwVmWz0hYI/AAAAAAAABJM/nOhcwtEecfQ/s288/switched%20end.jpg) (https://lh6.googleusercontent.com/_gbC_B2NkUEo/TXwVmWz0hYI/AAAAAAAABJM/nOhcwtEecfQ/switched%20end.jpg)

  Here is the z^2 southern quadrant [(-,-,-) on the -z side] and a z^2 julia:
(https://lh6.googleusercontent.com/_gbC_B2NkUEo/TXwtXXUwxXI/AAAAAAAABJY/_fyR7kUUeWg/s400/southern%20quadrant.jpg) (https://lh6.googleusercontent.com/_gbC_B2NkUEo/TXwtXXUwxXI/AAAAAAAABJY/_fyR7kUUeWg/southern%20quadrant.jpg) (https://lh3.googleusercontent.com/_gbC_B2NkUEo/TXwtc-27x_I/AAAAAAAABJc/hZQT245qDC0/s400/monolith.jpg) (https://lh3.googleusercontent.com/_gbC_B2NkUEo/TXwtc-27x_I/AAAAAAAABJc/hZQT245qDC0/monolith.jpg)

  Later, the z^4 southern quadrant, with a cavern....  ... and here it is;  update: added another one:
(https://lh5.googleusercontent.com/_gbC_B2NkUEo/TXw3eHHsSFI/AAAAAAAABJk/8WAPbPGhApI/s400/southern%20quadrant.jpg) (https://lh5.googleusercontent.com/_gbC_B2NkUEo/TXw3eHHsSFI/AAAAAAAABJk/8WAPbPGhApI/southern%20quadrant.jpg) (https://lh6.googleusercontent.com/_gbC_B2NkUEo/TXxLqd7wDoI/AAAAAAAABJs/6zYJLkSprTA/s400/mechanical%20mesmer.jpg) (https://lh6.googleusercontent.com/_gbC_B2NkUEo/TXxLqd7wDoI/AAAAAAAABJs/6zYJLkSprTA/mechanical%20mesmer.jpg)

  And this is right above the 2 holed one above... you can spelunk in the holes if you want...
(https://lh4.googleusercontent.com/_gbC_B2NkUEo/TXxlumU5cII/AAAAAAAABJ0/izYePQEnCkA/s400/mechanical%20mesmer%20above%20it.jpg) (https://lh4.googleusercontent.com/_gbC_B2NkUEo/TXxlumU5cII/AAAAAAAABJ0/izYePQEnCkA/mechanical%20mesmer%20above%20it.jpg)


Title: Re: An old formula revised
Post by: DarkBeam on March 13, 2011, 09:06:49 AM
Big thanks, I will try to implement this "monster" :D

 //initialization - only need to do this part once per pixel, but you can repeat it if you like to do extra steps..
// really, it's up to you

   // c=pi/2; -> this will be user defined

   a=n*c;    //  n is your z^n thingy... called n
   b=c^(3-n);     // sometimes I use b*[(n-1)^-1] but just do the main one there

// iteration part

   r=sqrt(x^2+y^2+z^2); // since r^2 is used only once I prefer this

   theta=   atan2 (abs (x) * a + flip (r));  //atan2 is the arg function for gettin' yer angles..
   phi=   atan2 (abs (y) * a + flip (r));  //  flip changes the real value r to the imaginary value to use with
   tango=   atan2 (abs (z) * a + flip (r));  // the function atan2.   In other words, the flipped part is imaginary
        // note that atan2(x,y) = atan(y,x) :) - at least in assembly

   new_x=(x*b+r*r)^(n/2); // Moved here  - in assembly too many variables cause trouble
   new_x= new_x * cos (theta * n); // so I prefer to recycle new_x and not to introduce another variable
   new_y=(y*b+r*r)^(n/2);
   new_y= new_y * cos (phi * n);
   new_z=(z*b+r*r)^(n/2);
   new_z= new_z * cos (tango * n);      
   //r=sqrt(r);


//  now here is the part where I want the switch thrown in, before you add in the pixel or Julia components
//  You might want to disable the switch for n=4,8,12... because it makes discontinuous fractals...
//  but I think I just coded it for you below... anyways..

   if (switch) {
      if (n==2) {
         if (Cx>0 && x*a>r) {
            nx=-nx; // who is "nx"? new_x? :)
// in MB we call components Cx, Cy, Cz

         }
         if (Cy>0 && y*a>r) {
            ny=-ny;
         }
         if (Cz>0 && z*a>r) {
            nz=-nz;
         }
      } else if (n != 4 && n!==8 && n!=12) {      // you know... nobody is every gonna use n>15, just like we
         if (Cx>0 && x>0) {         // will never need more than 640k on a computer, so we
            nx=-nx;            // don't have to make lots of ! statements..
         }                  //  !=  means does not equal... in case of questions..
         if (Cy>0 && y>0) {         //  && means logical and....  maybe you don't need the n!=12?
            ny=-ny;
         }
         if (Cz>0 && z>0) {
            nz=-nz;
         }
      }
   }

// now add in your pixel or Julia components... measure bail, etc.
// make sure you check squares (for bailout) instead of absolute values of new components,
// it makes a smoother nicer looking fractal..


Title: Re: An old formula revised
Post by: DarkBeam on March 13, 2011, 05:23:45 PM
Nothing, it does not work. :(

Probably I mistaken some codes?


Title: Re: An old formula revised
Post by: M Benesi on March 13, 2011, 07:58:52 PM
Nothing, it does not work. :(

Probably I mistaken some codes?

  The code you posted looks all right... but I could have missed something...  and I see it!  It was a mistake in the code I posted for you... which I just corrected (with a note):

  new_x=(x*b+r*r)^(n/2);
   new_x= new_x * cos (theta * n);
   new_y=(y*b+r*r)^(n/2);
   new_y= new_y * cos (phi * n);
   new_z=(z*b+r*r)^(n/2);
   new_z= new_z * cos (tango * n);      

  Bold parts should be:
new_x=(x*x*b+r*r)^(n/2);      //x^2*b + r^2...  instead of x*b...
new_y=(y*y*b+r*r)^(n/2);     //y^2*b...           instead of y*b....
new_z=(z*z*b+r*r)^(n/2);     //z^2 *b....  you get it ... :)

  Then your pixel or Julia components (after switch check...).


Big thanks, I will try to implement this "monster" :D
It is a big booger, ehh?

   // c=pi/2; -> this will be user defined

  Can you set it up to default to pi/2 so users don't have to guess what value is best?

pi/2= 1.5707963267948966192313216916398  more or less.. use as many digits as you like, I can give you more:

Code:
pi/2=  1.5707963267948966192313216916397514420985846996875529104874722961539082031431044993140174126710585339910740432566411533235469223047752911158626797040642405587251420513509692605527798223114744774651909822144054878329667230642378241168933915826356009545728242834617301743052271633241066968036301245706368622935033031577940874407604604814146270458576821839462951800056652652744102332606920734759707558047165286351828797959765460930586909663058965525592740372311899813747836759428763624456139690915059745649168366812203283215430106974731976123685953510899304718513852696085881465883761923374092338347025660002840635726317804138928856713788948045868185893607342204506124767150732747926855253961398446294617710099780560645109804320172090799068148873856549802593536056749999991864890249755298658664080481592975122297276734541513212611541266723425176309655940855050015689193764432937666041907103085888345736517991267452143777343655797814319411768937968759788909288902660856134033065009639383055979546082100994690476286005327429316394329680766909139841151509760176509264844978868112997069456248608876417395657577874286212270753479754147665584308639279445375491908773187324696596275302004638508355695049244120064291808017818538300523550909714777980994733839187247241276898873634235520237673231040233421295347456466568385144945760523760810284830120290190750967556266912150177938201237482366319570996363021349613983911773908180046708608206099622931575151430914872778533749192527472942934634978454636053987546514776605826724936013779801182403327495599409173988767831849037132712639312759092087873364454888863969000408235300080726245960866086073861750707209867842740806805786762760667378709247342192616619536970716672738812084312594917847427810496096110921362751271284438358952473008267334024943136163958930428921919139839883407270504769418931804753400321125626025586964924480420642443134728021209826425111053305931533721393110195974725235618568934804781821859586437338823287869812069454329163229979066952390137950497328820394756347341991762978549129113102612447

   
            nx=-nx; // who is "nx"? new_x? :)

   Lol.. yeah, nx is new_x... sorry about that.  I space out sometimes- I don't write out new_x, new_y, new_z in my formulas- I use nx,ny,nz...  and for the starting x,y, and z I use sx, sy, and sz (if I space out again).  

   
   // in MB we call components Cx, Cy, Cz

 I think I saw Jesse use Cx, Cy, and Cz before.. about 10 days ago.  sheesh...  



Title: Re: An old formula revised
Post by: DarkBeam on March 13, 2011, 08:24:37 PM
 The code you posted looks all right... but I could have missed something...  and I see it!  It was a mistake in the code I posted for you... which I just corrected (with a note):

  new_x=(x*b+r*r)^(n/2);
   new_x= new_x * cos (theta * n);
   new_y=(y*b+r*r)^(n/2);
   new_y= new_y * cos (phi * n);
   new_z=(z*b+r*r)^(n/2);
   new_z= new_z * cos (tango * n);      

  Bold parts should be:
new_x=(x*x*b+r*r)^(n/2);      //x^2*b + r^2...  instead of x*b...
new_y=(y*y*b+r*r)^(n/2);     //y^2*b...           instead of y*b....
new_z=(z*z*b+r*r)^(n/2);     //z^2 *b....  you get it ... :)

  Then your pixel or Julia components (after switch check...).


Tonight i'm gonna kill you... :fiery: :tease:

I lost an entire day behind this formula :'(

Check it again very accurately, so I can re-code it safely. Coding formulas in assembly is really hard but if you write em wrong!... :fiery:


Title: Re: An old formula revised
Post by: DarkBeam on March 13, 2011, 08:53:31 PM
For now, it looks like this.  :o


Title: Re: An old formula revised
Post by: M Benesi on March 14, 2011, 01:00:49 AM
  I don't know what it is.  I'll look through it carefully.  

  My code, without the switch at the end, and NOT re-written to make it easier.  I re-wrote it before and missed that one squaring part...  I'll re-look at it again, but I thought that was the only main problem.

Code:
// initialization part

if (juliaMode) {
sx=pixelr;   //  sx is the starting x value, x for your equations   x=sx
sy=pixeli;   //  Cx= pixelr, Cy=pixeli, etc...
sz=pixelj;
} else {
sx=cr; // cr is the x seed component, usually 0 for Mandelbrot mode
sy=ci; // ci is the y seed... etc.
sz=cj;
}

c=pi/2;  // make sure this is set right
a=n*c;   //  n is your z^n value
b=c^(3-n);

//  iteration part    
r=(sqr(sx)+sqr(sy)+sqr(sz));   //  sqr(sx) means square x component- sqr() is a fast squaring algorithm same as x*x

r1=(sqr(sx)*b+r)^(n/2);  // if you don't take the sqrt of r in the beginning, you avoid 3 squaring operations...
r2=(sqr(sy)*b+r)^(n/2);
r3=(sqr(sz)*b+r)^(n/2);

r=sqrt(r); //then take your square root to do your atan2 (not atan!)

theta=atan2 (abs(sx) * a + flip(r));   // abs(sx) means take the absolute value of your x component
phi=atan2 (abs(sy) * a + flip(r)); //  Make sure that you use arg or atan2---atan does NOT work because
tango=atan2 (abs(sz) * a + flip(r));  //   of zeros (x,y, and z are initially zero... unless seeded)
//flip (r) means make r the imaginary component for the atan2 (or arg) function

// if using arg or atan2, make sure to use it correctly- do not
// divide by zero, if using arg make sure to make the r component imaginary
// to avoid a divide by zero error, I usually multiply and have the divisor taken to ^-1
//  in other words: x / r = x * r^-1

nx=r1*cos(theta*n);    // nx is new_x... ny is.... new_y, etc..
ny=r2*cos(phi*n);
nz=r3*cos(tango*n);

if (juliaMode) {
sx=nx+cr;
sy=ny+ci;
sz=nz+cj;
} else {
sx=nx+(pixelr);   // for you x= new_x + Cx;
sy=ny+(pixeli);
sz=nz+(pixelj);
}

bailout=sqr(sx)+sqr(sy)+sqr(sz);

  1)  The formula doesn't work with atan, I just tried it... and I don't know why it doesn't work with it, as the values I provide are always positive.... Maybe the atan function is buggy?

   So- use arg or atan2 if you can find code for them- although this shouldn't be a problem as Jesse has used my trig formulas before (I believe, but maybe not?).  I noticed that you said atan2 was the same as atan (more or less) for assembly language...  but there may be a problem there, although I can't think of what it would be (if y=0, it should return pi/2).

  2)  When you initialize, make sure you set x, y, and z to 0 (or Cx, Cy, and Cz  or Julia seed...) for the first iteration.


Title: Re: An old formula revised
Post by: DarkBeam on March 14, 2011, 09:09:08 AM
Hey this can be the clue. MB sets always xyz to Cxyz, so this should be changed :)
Have you inverted x and y before passing to atan?


Title: Re: An old formula revised
Post by: DarkBeam on March 14, 2011, 12:19:17 PM
Another point of doubt;

theta=atan2   (abs(sx) * a + flip(r));

But if sx=sy=sx=0 everywhere, surely r=0 everywhere. Then abs(sx) * a=0, atan2(0,0)=0. (if you don't get a div by zero error)
cos(0*n)=1.
r1=r2=r3=0.

then newx=0 and newy=newz=0.

Now x=newx+cx = cx ...
So, x=cx,y=cy.... equals to x=0,y=0... at beginning of iterations.

Another thing that puts me on alarm is b=c^(3-n) - it is okay as long as c=pi/2 BUT! if c=0 tell me how can you do 0^-something :hmh:

From wikipedia:

"In the Intel Architecture assembler code, atan2 is known as FPATAN (floating-point partial arctangent) instruction.[6] It can deal with infinities and results lie in the interval [ − π, + π] (closed interval), e.g. . Particularly, FPATAN is defined when both arguments are zero"

It's what I use.

Obviously if angle=0, as predicted, nothing is drawn (0^-something involves in errors).
Attached image of the "fractal".
I tried to swap / not swap before doing fpatan, well nothing really different can be seen!

Image attached

okay now I copy the assembly code commented. Boring but useful?

Code:
66842149     55             PUSH EBP	// intro
6684214A     8BEC           MOV EBP,ESP // intro
6684214C     81EC 40000000  SUB ESP,40 // allocate memory in the stack
66842152     53             PUSH EBX // intro
66842153     56             PUSH ESI // intro
66842154     57             PUSH EDI // intro
66842155     8B75 08        MOV ESI,DWORD PTR SS:[EBP+8] // intro
66842158     8B7E 30        MOV EDI,DWORD PTR DS:[ESI+30] // intro
6684215B     8BD8           MOV EBX,EAX // intro
6684215D     D9D0           FNOP // separator
6684215F     DD47 F0        FLD QWORD PTR DS:[EDI-10] // edi-10 is N
66842162     DC4F E8        FMUL QWORD PTR DS:[EDI-18] // edi-18 is C
66842165     DD5D F8        FSTP QWORD PTR SS:[EBP-8] // SAVE into stack room 1
66842168     D9D0           FNOP // separator
6684216A     90             NOP // separator
6684216B     DD47 F0        FLD QWORD PTR DS:[EDI-10] // edi-10 is N
6684216E     DC2F           FSUBR QWORD PTR DS:[EDI] // 3-N (EDI is constant = 3)
66842170     DD47 E8        FLD QWORD PTR DS:[EDI-18] // edi-18 is C
66842173     D9F1           FYL2X // fixed sequence for pow(x,y) - we MUST load exponent then base; else we MUST swap!
66842175     D9E8           FLD1 // fixed sequence for pow(x,y)
66842177     D9C1           FLD ST(1) // fixed sequence for pow(x,y)
66842179     D9F8           FPREM // fixed sequence for pow(x,y)
6684217B     D9F0           F2XM1 // fixed sequence for pow(x,y)
6684217D     DEC1           FADDP ST(1),ST // fixed sequence for pow(x,y)
6684217F     D9FD           FSCALE // fixed sequence for pow(x,y)
66842181     D9C9           FXCH ST(1) // fixed sequence for pow(x,y)
66842183     DDD8           FSTP ST // fixed sequence for pow(x,y) end
66842185     DD5D F0        FSTP QWORD PTR SS:[EBP-10] // SAVE into stack room 2
66842188     D9D0           FNOP // separator
6684218A     DD03           FLD QWORD PTR DS:[EBX] // this block makes: x*x+y*y+z*z
6684218C     D8C8           FMUL ST,ST
6684218E     DD02           FLD QWORD PTR DS:[EDX]
66842190     D8C8           FMUL ST,ST
66842192     DD01           FLD QWORD PTR DS:[ECX]
66842194     D8C8           FMUL ST,ST
66842196     DEC1           FADDP ST(1),ST
66842198     DEC1           FADDP ST(1),ST // done
6684219A     D9FA           FSQRT // sqrt(x*x+y*y+z*z). i leave this into fp stack.
6684219C     D9D0           FNOP // separator
6684219E     DD03           FLD QWORD PTR DS:[EBX] // EBX is X
668421A0     D9E1           FABS // ABS(X)
668421A2     DC4D F8        FMUL QWORD PTR SS:[EBP-8] // EBP-8 = 1ST stack room = a
668421A5     D9C1           FLD ST(1) // st(1) = 1ST fp stack room(1) = SQRT(R)
668421A7     D9C9           FXCH ST(1)
668421A9     D9F3           FPATAN // exchange then do atan2(previous arguments)
668421AB     DD5D E8        FSTP QWORD PTR SS:[EBP-18] // save into room3 + free fp stack - st now is SQRT(R) again
668421AE     D9D0           FNOP
668421B0     DD02           FLD QWORD PTR DS:[EDX] // EDX is Y
668421B2     D9E1           FABS
668421B4     DC4D F8        FMUL QWORD PTR SS:[EBP-8] // EBP-8 = 1ST stack room = a
668421B7     D9C1           FLD ST(1) // EBP-8 = fp stack room(1) = SQRT(R), as before
668421B9     D9C9           FXCH ST(1)
668421BB     D9F3           FPATAN
668421BD     DD5D E0        FSTP QWORD PTR SS:[EBP-20] // save into room4 + free fp stack - st now is SQRT(R) again
668421C0     D9D0           FNOP
668421C2     DD01           FLD QWORD PTR DS:[ECX] // ecx is Z. equal to before...
668421C4     D9E1           FABS
668421C6     DC4D F8        FMUL QWORD PTR SS:[EBP-8]
668421C9     D9C1           FLD ST(1)
668421CB     D9C9           FXCH ST(1)
668421CD     D9F3           FPATAN
668421CF     DD5D D8        FSTP QWORD PTR SS:[EBP-28] // save into room4
668421D2     D9D0           FNOP // okay now we have a,b,theta, phi, tango saved into the stack
668421D4     DD03           FLD QWORD PTR DS:[EBX]
668421D6     D8C8           FMUL ST,ST // x*x
668421D8     DC4D F0        FMUL QWORD PTR SS:[EBP-10] // b again
668421DB     D9C1           FLD ST(1) // remember that sqrt(R) is still into the fpstack
668421DD     D8C8           FMUL ST,ST // sqrt(R)*himself=R.
668421DF     DEC1           FADDP ST(1),ST // R + b*x*x - stop, this is the power base
668421E1     DD47 F0        FLD QWORD PTR DS:[EDI-10] // N
668421E4     DC4F 08        FMUL QWORD PTR DS:[EDI+8] // N*0.5 because edi+8 is second constant
668421E7     D9C9           FXCH ST(1) // but we have to do base^exponent so swap!
668421E9     D9F1           FYL2X // fixed sequence for pow(x,y)
668421EB     D9E8           FLD1
668421ED     D9C1           FLD ST(1)
668421EF     D9F8           FPREM
668421F1     D9F0           F2XM1
668421F3     DEC1           FADDP ST(1),ST
668421F5     D9FD           FSCALE
668421F7     D9C9           FXCH ST(1)
668421F9     DDD8           FSTP ST // fixed sequence for pow(x,y) end
668421FB     DD5D D0        FSTP QWORD PTR SS:[EBP-30] // saves into room for newx
668421FE     D9D0           FNOP
66842200     DD45 E8        FLD QWORD PTR SS:[EBP-18] // theta
66842203     DC4F F0        FMUL QWORD PTR DS:[EDI-10] // * n
66842206     DC47 E0        FADD QWORD PTR DS:[EDI-20]  // + phase
66842209     D9FF           FCOS // cos( that stuff )
6684220B     DC4D D0        FMUL QWORD PTR SS:[EBP-30] // but multiply by newx
6684220E     DD5D D0        FSTP QWORD PTR SS:[EBP-30] // and save into newx itself...
66842211     D9D0           FNOP // I know it's boring but we need to calculate also newy, newz. It's everything like before, with minimal
66842213     D9D0           FNOP // variations, different rooms / values, I copied and pasted barely.
66842215     DD02           FLD QWORD PTR DS:[EDX]
66842217     D8C8           FMUL ST,ST
66842219     DC4D F0        FMUL QWORD PTR SS:[EBP-10]
6684221C     D9C1           FLD ST(1)
6684221E     D8C8           FMUL ST,ST
66842220     DEC1           FADDP ST(1),ST
66842222     DD47 F0        FLD QWORD PTR DS:[EDI-10]
66842225     DC4F 08        FMUL QWORD PTR DS:[EDI+8]
66842228     D9C9           FXCH ST(1)
6684222A     D9F1           FYL2X
6684222C     D9E8           FLD1
6684222E     D9C1           FLD ST(1)
66842230     D9F8           FPREM
66842232     D9F0           F2XM1
66842234     DEC1           FADDP ST(1),ST
66842236     D9FD           FSCALE
66842238     D9C9           FXCH ST(1)
6684223A     DDD8           FSTP ST
6684223C     DD5D C8        FSTP QWORD PTR SS:[EBP-38]
6684223F     D9D0           FNOP
66842241     DD45 E0        FLD QWORD PTR SS:[EBP-20]
66842244     DC4F F0        FMUL QWORD PTR DS:[EDI-10]
66842247     DC47 E0        FADD QWORD PTR DS:[EDI-20]
6684224A     D9FF           FCOS
6684224C     DC4D C8        FMUL QWORD PTR SS:[EBP-38]
6684224F     DD5D C8        FSTP QWORD PTR SS:[EBP-38]
66842252     D9D0           FNOP
66842254     D9D0           FNOP
66842256     DD01           FLD QWORD PTR DS:[ECX]
66842258     D8C8           FMUL ST,ST
6684225A     DC4D F0        FMUL QWORD PTR SS:[EBP-10]
6684225D     D9C1           FLD ST(1)
6684225F     D8C8           FMUL ST,ST
66842261     DEC1           FADDP ST(1),ST
66842263     DD47 F0        FLD QWORD PTR DS:[EDI-10]
66842266     DC4F 08        FMUL QWORD PTR DS:[EDI+8]
66842269     D9C9           FXCH ST(1)
6684226B     D9F1           FYL2X
6684226D     D9E8           FLD1
6684226F     D9C1           FLD ST(1)
66842271     D9F8           FPREM
66842273     D9F0           F2XM1
66842275     DEC1           FADDP ST(1),ST
66842277     D9FD           FSCALE
66842279     D9C9           FXCH ST(1)
6684227B     DDD8           FSTP ST
6684227D     DD5D C0        FSTP QWORD PTR SS:[EBP-40]
66842280     D9D0           FNOP
66842282     DD45 E8        FLD QWORD PTR SS:[EBP-18]
66842285     DC4F F0        FMUL QWORD PTR DS:[EDI-10]
66842288     DC47 E0        FADD QWORD PTR DS:[EDI-20]
6684228B     D9FF           FCOS
6684228D     DC4D C0        FMUL QWORD PTR SS:[EBP-40]
66842290     DD5D C0        FSTP QWORD PTR SS:[EBP-40] // FINISHED calculating newx, newy, newz
66842293     D9D0           FNOP // okay I haven't put the code for Julia variation because I only took care of mset
66842295     D9D0           FNOP // empty space...
66842297     D9D0           FNOP
66842299     D9D0           FNOP
6684229B     DD45 D0        FLD QWORD PTR SS:[EBP-30] // room that contains newx. until now, ebx still contains old X. it's needed for Julia set.
6684229E     DC46 18        FADD QWORD PTR DS:[ESI+18] // it is Cx, we add it
668422A1     DD1B           FSTP QWORD PTR DS:[EBX] // finally save newx into X, okay
668422A3     90             NOP
668422A4     90             NOP
668422A5     DD45 C8        FLD QWORD PTR SS:[EBP-38] // same for newy.
668422A8     DC46 20        FADD QWORD PTR DS:[ESI+20]
668422AB     DD1A           FSTP QWORD PTR DS:[EDX]
668422AD     90             NOP
668422AE     90             NOP
668422AF     DD45 C0        FLD QWORD PTR SS:[EBP-40] // same for newz.
668422B2     DC46 28        FADD QWORD PTR DS:[ESI+28]
668422B5     DD19           FSTP QWORD PTR DS:[ECX]
668422B7     90             NOP
668422B8     90             NOP
668422B9     DDD8           FSTP ST // but we left R into fp stack. this kills R.
668422BB     8BC3           MOV EAX,EBX // restore old registers.
668422BD     5F             POP EDI // restore old registers.
668422BE     5E             POP ESI // restore old registers.
668422BF     5B             POP EBX // restore old registers.
668422C0     8BE5           MOV ESP,EBP // restore old registers.
668422C2     5D             POP EBP // restore old registers.
668422C3     C2 0800        RETN 8 // goodbye!


Title: Re: An old formula revised
Post by: M Benesi on March 14, 2011, 08:22:34 PM
Hey this can be the clue. MB sets always xyz to Cxyz, so this should be changed :)
Have you inverted x and y before passing to atan?
  I don't think so, y is the flip() portion:  atan2 (x + flip(y)) is the format (more or less atan (y/x));

  Also, for your spiky object down there...  looks like the magnitudes got switched from n/2 to 2/n (for the z^4 image, but it shouldn't matter for the z^2, because the magnitude would be the same!).

  r1, r2, and r3 must be set wrong... or something.  Please don't work to hard on it- I'll get up the ChaosPro code later.  Gotta get to my other work now (spent about 30 minutes on this that I shouldn't have :D). 


Title: Re: An old formula revised
Post by: DarkBeam on March 14, 2011, 08:58:49 PM
Also tried the "Julia mode", that fixes something BUT breaks something else!

Tomorrow I will try to revert the magnitude, a FXCH reverts it. :dink: But I am not too hopeful!


Title: Re: An old formula revised
Post by: M Benesi on March 15, 2011, 01:36:14 AM
Weird... I don't know whats going on.  wooo..

  So, did the rewrite...  It's a whole bunch of formulas however.  Second on the drop-down menu, I think it's the 8th or 9th in the "loop" section if you open the formula in ChaosPro.  

  UPDATE!!!!!  There was a little mistake in the one formula, may be more, but it was something I had changed and forgot to change back.  This is the corrected set now:

 Benesi Set Simplified.cfm Another update: new set below

  The only problem was for the one mag vs. xyz switch..   I also added in the new formula to the 4d mag vs. xyz... so...

  It has some other stuff in it too... lots of formulas.  I haven't extended mag vs. xyz to 4d yet (or at least the improved version), but will after I do a bit of stuff, then re-upload formulas.  My coloring formulas... well, I'll put them up later.  Got lots to do.  


Title: Re: An old formula revised
Post by: DarkBeam on March 15, 2011, 08:16:00 AM
Okay Matthew, I have seen the formula. ;D

One last problem! If I leave numiter=10, the fractal looks good enough, with many branches and stuff.

But normally in MB formulas have 60 iters, and with 60 iters the same fractal has a radically different look. :sad1: All branches disappear, and almost nothing interesting can be seen anymore :sad1:

This can be a trouble for the formula user-friendliness I think.

Apart this, I cleaned the formula from all bells and whistles and as I imagined it's really different from your previous edition ;D ;D ;D

         if (bmode=="Pi/2") {
            b=pi/2;
         } else if (bmode=="Root 2") {
            b=sqrt(2);
         } else if (bmode=="Golden Ratio"){
            b=(1+sqrt(5))/2;
         } else if (bmode=="Variable"){
            b=checkvarset;
         }
         a=b^(3-n); // probably, most troubles come from here. I think you should set simply a=b or a=b*b...
                        // probably you meant a=(n-2)*b? More simple!!! ;D
         checkvar=(n)*b;

         r=(sqr(sx)+sqr(sy)+sqr(sz));
         
            r1=sqrt(sqr(sx)*a+r);
            r2=sqrt(sqr(sy)*a+r);
            r3=sqrt(sqr(sz)*a+r);
         // but why not:
         // r=sqrt(sqr(sx)+sqr(sy)+sqr(sz));
         //   r1=(sx^Nlin*a+r^Nlin)^(1/Nlin);
         //   r2=(sy^Nlin*a+r^Nlin)^(1/Nlin);
         //   r3=(sz^Nlin*a+r^Nlin)^(1/Nlin);

         //   this should give astounding results, and more variations! :dink:
         
         r=sqrt(r); // very confusing...
                        theta=atan2(abs(sx)*checkvar+flip(r1)); // or r? didn't understood fine :o
                        phi=atan2(abs(sy)*checkvar+flip(r2));
                        tango=atan2(abs(sz)*checkvar+flip(r3));
                        nx=r1*cos(theta*n);
                        ny=r2*cos(phi*n);
                        nz=r3*cos(tango*n);
      }
         if (magswitch) {
            if (n==2) {
                  if (pixelr>0 && sx*checkvar>r) {
                     nx=-nx;
                  }
                  if (pixeli>0 && sy*checkvar>r) {
                     ny=-ny;
                  }
                  if (pixelj>0 && sz*checkvar>r) {
                     nz=-nz;
                  }
            } else {
               if (pixelr>0 && sx>0) {
                  nx=-nx;
               }
               if (pixeli>0 && sy>0) {
                  ny=-ny;
               }
               if (pixelj>0 && sz>0) {
                  nz=-nz;
               }
            }
         }

         if (juliaMode) {
               sx=nx+cr;
               sy=ny+ci;
               sz=nz+cj;
         } else {
               sx=nx+(pixelr);
               sy=ny+(pixeli);
               sz=nz+(pixelj);
            }
            
         }
// whops, forgotten this? :D
            z=quaternion(sx,sy,sz,0);
            r=cabs(z);
            z=quaternion(r,sx,sy,sz);
// so I must set x=nx*nx+ny*ny+nz*nz, y=nx, z=ny
// w=nz? why? :o ;D
// I think that also a multiplier and some variations can be awesome.
// For example
// x = nx^2+ny^2+nz^2  + cx, y = 2*nx*ny  + cy, z= 2*nx*nz + cz (Quat-like)
// x = (nx^2-ny^2)*(1+-nz^2/r^2) + cx , y = 2*nx*ny*(1+-nz^2/r^2) + cy , z= +-2*nz*r  + cz (Mandelbulb-like)
// Any 3D Mandelbulb formula can fit here ;)
// but in this case you have to modify the formula in a consistent way


AFAIK, the only power that gives satisfying results is 2, and if power=2 the formula is much much faster... So I think I will implement the power 2 version. :D
EDIT: The power 1.5 is AWESOME! :surprised:
The power 2.5 is also good, but higher ones (3,4,5...) are "crappy" a bit :dink:
In poor words:the more high is pow, the more the fractal looks like a ball... For powers near to 1 the fractal rensembles to Cantor dust, but too bad the "size" is infinite for pow=1 ( ??? )
This may be due to the fact that you don't divide xyz by a factor to force convergence. But this is not 100% certain, because this formula is far different from regular IFS. :dink:
Another thing that I don't understand is why you don't enable a selection for each power (linear and cosine). I think it is strongly reccomended...

This image comes from a 1.75 power
(http://img40.imagefra.me/i53f/kriptokapi/v8el_b86_u6bci.jpg)
Needless to say that for more than 10 iters nothing is drawn :-\


Title: Re: An old formula revised
Post by: DarkBeam on March 15, 2011, 07:36:34 PM
Wow, finally I was able to implement the formula, but it is not "faithful" to the original for now. I varied something, putting an "abs" somewhere, things really turn out interesting... ;D ;D ;D

The only bad thing is that it is considerably slower than the average of other formulas, but the potential applications seems to be almost unlimited!... :o

I have still not done the "standard version", but will do.

Despite the "ChaosPro" version, works perfectly with 60 iters too! Woot :D O0

Now I will upload it in the database


Title: Re: An old formula revised
Post by: M Benesi on March 15, 2011, 11:15:11 PM

  Told you my <personal> formula was complicated- lots of options.

  This part is on purpose:
Quote
a=b^(3-n);   // probably, most troubles come from here. I think you should set simply a=b or a=b*b...
                        // probably you meant a=(n-2)*b? More simple!!! grin  

  You need a decreasing a variable as n increases.  It works best if a=b^(3-n)   (starts out at n=2 a=pi/2..  at n=3 a=1; at n=4 a=2/pi... etc. etc..
  I also (after I updated the above formula) have an option for a=b*(n-1)^-1 which gives you a= b for n=2, a= b/2 for n=3... etc.

  I've a new, slightly more organized version now, will post after further clean up later.

  For now, try not to mix the various modes if you are writing it for MB- it defaults to the correct settings, which happens to be the original formula I posted.

  This idea might be interesting:
Quote
r1=(sx^Nlin*a+r^Nlin)^(1/Nlin);

  but, the reason it is squares (sx^2+r^2) ^ (n/2) is that it is the Magnitude of the component.
   Update: tried it.  Don't know if it's all that promising. 


Quote
 // whops, forgotten this? cheesy
            z=quaternion(sx,sy,sz,0);
            r=cabs(z);
            z=quaternion(r,sx,sy,sz);
// so I must set x=nx*nx+ny*ny+nz*nz, y=nx, z=ny
// w=nz? why? shocked grin

  Nothing like that.  The whole z=quaternion thing is to send information to my coloring formula each iteration- it has nothing to do with the <mathematical> structure of the fractal (well.. the coloring has something to do with that, but it is determined by the variables calculated in the iteration loop).

  Gotta go finish something.  Be back later.


Title: Re: An old formula revised
Post by: M Benesi on March 16, 2011, 01:10:28 AM
  I'd like to point out, if you use the unmodified version of my code that I linked to, you can simply change the ^n value and explore the different fractals (z^3, 4, 5 and 6... or whatever).  I'm updating it in a bit too (I'll put comments near the 2 not (!) switches) after the current render is done (using the formula, don't want to restart it.

  The new code is even more simplified- switches only show up when used in a fractal type, switches have been renamed (in the program itself) switch_a, switch_b, switch_c, and switch_d (which might make it harder to read, but whatever...).  Also you have another drop down so you can do a user assignment for a if you desire.  I also think I am going to change "linear magnitude" to "n".

One last problem! If I leave numiter=10, the fractal looks good enough, with many branches and stuff.
 We should let people know not to increase iterations until they zoom in- every iteration increases the details and number of branches.


         r=(sqr(sx)+sqr(sy)+sqr(sz));
         
            r1=sqrt(sqr(sx)*a+r);
            r2=sqrt(sqr(sy)*a+r);
            r3=sqrt(sqr(sz)*a+r);

  That is the reason it only works for close to power 2.  :D

  You need to have r1, r2, and r3 taken to the n BEFORE you do:

Quote
                      nx=r1*cos(theta*n);
                        ny=r2*cos(phi*n);
                        nz=r3*cos(tango*n);

Quote
r=sqrt(r); // very confusing...

  You need to do that because you didn't take the sqrt of it before calculating r1,r2, and r3 (you take them to the n later);
         
Quote
                       theta=atan2(abs(sx)*checkvar+flip(r1)); // or r? didn't understood fine :o
                        phi=atan2(abs(sy)*checkvar+flip(r2));
                        tango=atan2(abs(sz)*checkvar+flip(r3));
                      
 Lol.. yeah, I have one of the if statements as:

if (!r2mode)  {  .....   not      if (r2mode).   :D
and maybe another as if (!colormodeC) or something like that... that's part of the cleanup I have to do.

  Should have flip(r) for all the atan2 statements.  Of course, you can do it the other way, but... well, that's another method (which is why I didn't post my <personal> formula originally- instead I did the re-write to make it easier to understand the "best" formula variation).  The best is with r.

Quote
Another thing that I don't understand is why you don't enable a selection for each power (linear and cosine). I think it is strongly reccomended...
 Well, I don't really like the results way too much (for this particular fractal).  Also, I like to avoid adding too many variables to "benesi set simplified.cfm".  Don't want to confuse people.  :D  


Title: Re: An old formula revised
Post by: M Benesi on March 16, 2011, 02:27:34 AM
  Newest formula set, simplified a bit more, new options for mag vs. xyz as well.

  Click here for ChaosPro formulas. (https://docs.google.com/leaf?id=0B0EcJQ49B_yOZTlmY2I3ZDMtYTlkNC00Mjg3LTgzMzYtYmZjYTZiYWJiOWI5&hl=en)      DB- there is only one not switch  ( ! switch ) and I commented it.  The original formula I posted is the correct version (the one with no switches checked).

  And another Julia.  Did it around the snowflake mesa area of the z^2 (with switch M checked).  The Julia seed is (.5,.5,-.89).  2nd is a zoom into the golden tower of the 4th order. 

click to biggify:
(https://lh5.googleusercontent.com/_gbC_B2NkUEo/TYAPdBzw4qI/AAAAAAAABKo/KminrCig9ls/s400/snowflake%20mesa.jpg) (https://lh5.googleusercontent.com/_gbC_B2NkUEo/TYAPdBzw4qI/AAAAAAAABKo/KminrCig9ls/snowflake%20mesa.jpg) (https://lh4.googleusercontent.com/_gbC_B2NkUEo/TYBmFnidVUI/AAAAAAAABLE/yhH53JfX8_c/s400/AA%20in%20the%20golden%20tower%20%20The%20fractal%20forest.jpg) (https://lh4.googleusercontent.com/_gbC_B2NkUEo/TYBmFnidVUI/AAAAAAAABLE/yhH53JfX8_c/AA%20in%20the%20golden%20tower%20%20The%20fractal%20forest.jpg)

  Also... A zoom of the pi/2 golden tower.  It's not the same angle as the sqrt 2 version, but it's nice anyways.  Should have matched the viewing angle a bit better.. but.. ya know.  It would be a better comparison if the viewing angles matched.. hrmm... anyways.
(https://lh3.googleusercontent.com/_gbC_B2NkUEo/TYBmGbat56I/AAAAAAAABLI/F2BYZC6yr8k/s400/golden%20tower%20pi%20over%202%20originally%20ab.jpg) (https://lh3.googleusercontent.com/_gbC_B2NkUEo/TYBmGbat56I/AAAAAAAABLI/F2BYZC6yr8k/golden%20tower%20pi%20over%202%20originally%20ab.jpg)


Title: Re: An old formula revised
Post by: DarkBeam on March 16, 2011, 09:44:44 AM
Okay. Checked for the zillionth time your formula and added the only missing part:

                  if (pixelr>0 && sx*checkvar>r) {
                     nx=-nx;
                  }
                  if (pixeli>0 && sy*checkvar>r) {
                     ny=-ny;
                  }
                  if (pixelj>0 && sz*checkvar>r) {
                     nz=-nz;
                  }
"Magswitch". Works good enough...

Mandelbulb3Dv16{
M.....S....O/...w....2....EyvjKCtPRzzWNA.GP7Qb1ERWXqwnofUynvgiLWaxvjzauTUpZ6dJxj
................................a9tkm2uu2.2........A./..................y.2.....
................/ME//....6UX/...l/....E2.....wGTig2MQjpD/..........c./...w1.8Qx6
x.....kD..../..........wz.............................................sD...../..
.w1...sDYS0rucBR/u9CF28WB9TIzQAacC47DJpjRpsDgcJhPx9m40ygx4R6z8x7niCEtrlj5ijr088G
bwPV/7W603HJzMqMF9ChN5pD......2O0.....................sD..kz0...................
.............................UJRR4.wppN.6OLb/.mRR4.irpN.EVLb/UCSR4..............
...........................U..6.P....M4...EB....W....61....F....8/...I1....UJl12
...U.iVFwxDE./ozPM2Tzz7lz16.mc..zXCc.El18XGQeGyDjvIRhrVAkz1............28.kFrA0.
FWb96aAIVzvh1se7Umvxz0........../6U0.wzzz1................................E.0c..
zzzz.................................2U.8.kzzzD.................................
/6U0.wzzz1...................................2CcN/UvNP6.eeWCNq0.yRii.EJJUk1f..XR
S1.mx3CcN/UvNP6.QsLsUa3.ibhV..bTV1OK.sSq40.ly3CcN/UvNP6.MwLsUa3.ibhV.kqTV1OK.sSq
40.kz3CcN/UvNP6...EsUa3.eeWCNq0.IJ36wk8.wyLsUa3.................................
E....2....E.....I....Q....EHVRaJnVJKO/kPrJaQ....................................
...................zzc2qGooyVYzD742MZ1h6wz1...................zD........kz1.....
...wz...........................................................................
........................}

(http://img40.imagefra.me/i53g/kriptokapi/rl7_7eb_u6bci.jpg) (http://i.imagefra.me/11fi3kvb)

All other parts of the formula are already OK.

The only tricky thing is that CP has a strange viewpoint :o

If you find it everything come back to its place :P

Here is the formula with Msw, the main one only has not Msw

a:= Axiom 2
b:= Pow * Axiom 1
r:= sqrt(x*x+y*y+z*z)

n_x=sqrt(a*x*x+r*r)
n_y=sqrt(a*y*y+r*r)
n_z=sqrt(a*z*z+r*r)
n_x=n_x^Pow; if (x>0 & Cx>0 ) n_x=-n_x
n_y=n_y^Pow; if (y>0 & Cy>0 ) n_y=-n_y
n_y=n_y^Pow; if (z>0 & Cz>0 ) n_z=-n_z

theta=atan2(b*fabs(x),r)
phi  =atan2(b*fabs(y),r)
tango=atan2(b*fabs(z),r)

x := n_x*cos(Pow*theta+shift)+Cx*cxm
y := n_y*cos(Pow*phi  +shift)+Cy*cym
z := n_z*cos(Pow*tango+shift)+Cz*czm

The only difference with yours is: a:= Axiom 2 and +shift in cosine (set to zero if you don't need)
I prefer it because the formula is much more flexible as is. ^-^ You should get the same effect if you manually set a to the correct value
Don't ask me to correct again because it's already all ok :-\ ;D

(http://img40.imagefra.me/i53g/kriptokapi/rl7_1ad_u6bci.jpg) (http://i.imagefra.me/563i3kwv)

^ this image has the same CP settings for pow2...

(http://img40.imagefra.me/i53g/kriptokapi/rl7_795_u6bci.jpg) (http://i.imagefra.me/974i3kzy)

Another test. Succesful yay :yes:


Title: Re: An old formula revised
Post by: M Benesi on March 17, 2011, 05:09:51 AM
  Well.. you miss out on some interesting structures without being able to turn off the magswitch option (you set it to always on).

  In addition, there is a cooler way to do the magswitch for power 2, 6, 10...

  And last, power 4,8,12.. are discontinuous (the fractal has breaks in it) with the magswitch on.   

  You miss out on some interesting forms if you don't do it exactly as I re-wrote it for you (the formula that I wrote for you in the beginning). 

  What compiler are you using?


Title: Re: An old formula revised
Post by: DarkBeam on March 17, 2011, 10:38:53 AM
 Well.. you miss out on some interesting structures without being able to turn off the magswitch option (you set it to always on).

  In addition, there is a cooler way to do the magswitch for power 2, 6, 10...

  And last, power 4,8,12.. are discontinuous (the fractal has breaks in it) with the magswitch on.  

  You miss out on some interesting forms if you don't do it exactly as I re-wrote it for you (the formula that I wrote for you in the beginning).  

  What compiler are you using?

Well, if you allow only integer powers, you don't allow users to pick a custom non-int power. I don't like it
If you allow, it has no sense to check if an exponent is 2 or 3 since you can choose any exponent in the middle.
Don't ask me to replicate exactly all the formula variants, because they are too many. :dink:

Be happy that now there is a MagVsXYZ, a "magswitch" version and 3 alternate versions... :dink:

(Just for your knowledge; nothing can compile a m3d formula, because the arguments are fixed memory registers in fixed memory regions, so you must write it manually. Jesse passed me a list of them but I never use it because actually the position of registers is different from that. I have my own list and I follow it.
Every function is a succession of very simple operations (add, subtract, multiply, divide... but divisions are troubleful...) then log, abs... But log is not a single instruction and you must be careful with it (...)
This seems easy initially, but whenever you meet conditional instuctions or long complicated formulas you surely go in a real trouble!
In alternative you can write a formula in C with some special fp macros instead of using normal libraries, then you must "hack" your program adding an intro asm part, and a "tail", with some special instructions. see my "Ikenagabulb" formula that I wrote in that way. Ah! You must also find every "constant" value and replace with a special code that handles it. And many more troubles (like for example, that jumps are relative and when you change the code length they must be carefully changed singularly)... Without a good assembly knowledge and a lot of luck and patience you can not simply write any formula...) :alien:


Title: Re: An old formula revised
Post by: M Benesi on March 24, 2011, 01:07:26 AM
  DarkBeam-  Thanks for putting in the work making MB formulas for this type.  I've been on a slightly long vacation since St. Patrick's Day (the 17th), which is the reason I haven't replied in a bit. 


  Some notes for those trying the different versions:

  The formula without the magswitch option is continuous through all n.

  The magswitch option is discontinuous for specific non-integer powers (such as 4, maybe 2??), and I'm not sure about non-integer powers.

  The special magswitch option for z^2 (6,10 as well... but not as cool for them) is continuous for VERY specific n.


Title: Re: An old formula revised
Post by: M Benesi on June 14, 2011, 06:05:45 AM
  All right.  Back to fractals after a short hiatus.  A very simple tweak- at first glance- but it really works best with the "Switch M" variety (in fact as far as I know it isn't way to interesting for anything other than the M switched variety).  In fact- only use it for z^2,3,5,6,7,9....  not 4,8,12... as they are discontinuous (for the correctly implemented Switch M variety).  

Images follow.
Code:
//yer gonna set yer (You are going to set your) pixel values slightly differently this time around:

x_pixel_component_for_calculation = x_pixel - y_pixel - z_pixel;
y_pixel_component_for_calculation = y_pixel - x_pixel - z_pixel;
z_pixel_component_for_calculation = z_pixel - x_pixel - y_pixel;

// we do this for... various reasons.  Mainly, it looks cool, and gets us a lot more out of the fractal.

Another variation (less variety, but makes cool towers at the corners of the fractal):
x_pixel_component_for_calculation = sqrt( abs (x_pixel^2 - y_pixel^2 - z_pixel^2));
y_pixel_component_for_calculation = sqrt( abs (y_pixel^2 - x_pixel^2 - z_pixel^2));
z_pixel_component_for_calculation = sqrt( abs (z_pixel^2 - x_pixel^2 - y_pixel^2));

 
  Here is a z^5 straight on (well, it's rotated 45 degrees.... otherwise it's diagonal), the next shot I post is a better (more interesting) side... well maybe.  Depends on where you zoom I suppose... but for the whole thingy... the next one.. maybe.  UPDATE: Rotated once horizontally (around center of thingy) added.  As usual... click to biggify"
(https://lh3.googleusercontent.com/-yCKdkQdhzwY/TfbfUdMr0pI/AAAAAAAABMA/PTlVN-nLtKM/s400/egg%25252045%252520straight%252520on.jpg) (https://lh3.googleusercontent.com/-yCKdkQdhzwY/TfbfUdMr0pI/AAAAAAAABMA/PTlVN-nLtKM/egg%25252045%252520straight%252520on.jpg) (https://lh6.googleusercontent.com/-3WwcGuyIOQ4/Tfbm3x803bI/AAAAAAAABME/9zYwqc13s7g/s400/egg%252520rotated%252520once.jpg) (https://lh6.googleusercontent.com/-3WwcGuyIOQ4/Tfbm3x803bI/AAAAAAAABME/9zYwqc13s7g/egg%252520rotated%252520once.jpg)

Then a few random images from the first pixel assignment variation.
  A z^3, a zoom into one end of a z^5, and the tree at the end of the z^2 (which isn't anything new):
(https://lh4.googleusercontent.com/-JAcppLNXfWU/TfbYwWdkQ7I/AAAAAAAABL8/-o490LW8kno/s400/exp1%252520spaceship%252520switch%252520m.jpg) (https://lh4.googleusercontent.com/-JAcppLNXfWU/TfbYwWdkQ7I/AAAAAAAABL8/-o490LW8kno/exp1%252520spaceship%252520switch%252520m.jpg) (https://lh5.googleusercontent.com/-JL0Ce4wgIdY/TfbYq-mT4xI/AAAAAAAABL4/5VpFm3LwGOk/s400/exp%2525201%252520egg.jpg) (https://lh5.googleusercontent.com/-JL0Ce4wgIdY/TfbYq-mT4xI/AAAAAAAABL4/5VpFm3LwGOk/exp%2525201%252520egg.jpg) (https://lh3.googleusercontent.com/-mm6L4ULOEB8/TfbYcHjsboI/AAAAAAAABLw/vUgbWnPMGzA/s288/exp%2525201%252520tree.jpg) (https://lh3.googleusercontent.com/-mm6L4ULOEB8/TfbYcHjsboI/AAAAAAAABLw/vUgbWnPMGzA/exp%2525201%252520tree.jpg)

  And the tower variety:
(https://lh4.googleusercontent.com/-K6-orHbfaTs/TfbYqaqUIVI/AAAAAAAABL0/vmK7iMQbM24/s288/tower.jpg) (https://lh4.googleusercontent.com/-K6-orHbfaTs/TfbYqaqUIVI/AAAAAAAABL0/vmK7iMQbM24/tower.jpg)


Title: Re: An old formula revised
Post by: M Benesi on June 15, 2011, 01:04:11 AM
  Here is a z^3 tower from the first pixel assignment type, along with a z^2 Julia (-.4,-.4,-.4) of the same p.a.t.
click to enlarge...
(https://lh6.googleusercontent.com/-Nzoxt0kHpZQ/TffoAzpj8QI/AAAAAAAABMU/gacKv_Almm0/s400/exp%252520tower.jpg) (https://lh6.googleusercontent.com/-Nzoxt0kHpZQ/TffoAzpj8QI/AAAAAAAABMU/gacKv_Almm0/exp%252520tower.jpg)  (https://lh5.googleusercontent.com/--b0cXKTWJw4/TffoFBaFlZI/AAAAAAAABMY/a8SerhQmo3c/s400/cross.jpg) (https://lh5.googleusercontent.com/--b0cXKTWJw4/TffoFBaFlZI/AAAAAAAABMY/a8SerhQmo3c/cross.jpg)


Title: Re: An old formula revised
Post by: DarkBeam on June 19, 2011, 04:36:06 PM
Looks cool! A pity that this formula is slow... ^-^

Luca


Title: Re: An old formula revised
Post by: M Benesi on September 14, 2011, 04:49:20 AM
  Yeah- lol, long time to reply.

  Methinks a re-write in complex numbers wouldn't afford too much speed.  Gonna have to wait for a new computer....  and ask Jesse if he implemented GPU calculating in Mandelbulber (once I get a new comp).  Messed with a couple ideas for the more traditional bulb, altering sign assignments, etc. Made some neat (although not brand new) stuff happen, maybe post a thread shortly. 


Title: Re: An old formula revised UPDATED
Post by: M Benesi on September 15, 2011, 04:52:10 AM
  Well, found a nice variation.  Yields some nice twists to an otherwise slightly boxy formula (or squarey as David Makin would say).  Works really well with the new pixel assignment a couple posts up (3 or 4 posts above this one).

  Images shall follow eventually.  Might watch Thor or something instead of doing fractal work.  :D  

  Interesting side note... arctan (sqrt (2)) = 54.735610 degrees   Rotating the fractal -45 degrees and moving -54.73.... degrees takes you  to the south pole (in ChaosPro's default view).


  Didn't check code to closely... ooooooohhh yeah...
Code:
		//  this section assigns variables a and b
b=pi/2;
a=b^(3-n);    
b=(n)*b;
//////   This section does stuff.... iteration and suchlike...

r1 = sqrt ( abs ( abs (sy) * sy + abs (sz) * sz ));  // sx set
r2 = sqrt ( abs ( abs (sx) * sx + abs (sz) * sz ));  // sy
r3 = sqrt ( abs ( abs (sx) * sx + abs (sy) * sy ));  // sz

r = ( sqr (sx) + sqr (sy) + sqr (sz) );

r4 = ( sqr (sx) * a + r ) ^ ( n / 2 );
r5 = ( sqr (sy) * a + r ) ^ ( n / 2 );
r6 = ( sqr (sz) * a + r ) ^ ( n / 2 );

theta= n * atan2 ( abs (sx) * b + flip (r1) );     //flip (X) changes real number X to imaginary number X
phi= n * atan2 ( abs (sy) * b + flip (r2) );     // in other words it multiplies by i
tango= n * atan2 ( abs (sz) * b + flip (r3) );

nx= r4 * cos(theta);
ny= r5 * cos(phi);
nz= r6 * cos(tango);

if (Change_Structure) {    //expands and changes structure a bit... not necessary but interesting
if (n==2) {
if (pixelr>0 && sx*b>r1) {
nx=-nx;
}
if (pixeli>0 && sy*b>r2) {
ny=-ny;
}
if (pixelj>0 && sz*b>r3) {
nz=-nz;
}
} else if (n==3 || n==5 || n==7 || n==9) {
if (pixelr>0 && sx>0) {
nx=-nx;
}
if (pixeli>0 && sy>0) {
ny=-ny;
}
if (pixelj>0 && sz>0) {
nz=-nz;
}
}
}
if (juliaMode) {
sx= nx + cr; // Once again, cr is the x-axis Julia component
sy= ny + ci; // .... ci is the y-axis Julia component
sz= nz + cj; // .... cj is the z-axis Julia component
} else {
sx = nx + (pixelr); // Once again, pixelr is the x-axis Mandelbrot component
sy = ny + (pixeli); // .... pixeli is the y-axis Mandelbrot component
sz = nz + (pixelj); // ... pixelj is the z-axis Mandelbrot component
}

bail= sqr (sx) + sqr (sy) + sqr (sz);

  As always, click images to Biggify (enlarge)---

  First a couple z^5.  Left is a Julia at -.6 , -.6 , -.6... I suppose we'll call it Satan's fortress...  Right is a Mandlebrot zoom into one of the "fortresses" off of the south pole (south pole being the triple negative axis end of the fractal, fortress is actually where I got the Julia seed for the first image).         
(https://lh5.googleusercontent.com/-Mu-YDXphBoM/TnKDPaUdjFI/AAAAAAAABOE/kXYboBcNZhI/s400/triple%252520dot%2525206%252520julia%252520castles.jpg) (https://lh5.googleusercontent.com/-Mu-YDXphBoM/TnKDPaUdjFI/AAAAAAAABOE/kXYboBcNZhI/triple%252520dot%2525206%252520julia%252520castles.jpg) (https://lh6.googleusercontent.com/-HjmXmoswMsI/TnKDPO9DcfI/AAAAAAAABOA/rx2JB9P1dwc/s400/castle%252520zoom%252520near%252520south%252520pole.jpg) (https://lh6.googleusercontent.com/-HjmXmoswMsI/TnKDPO9DcfI/AAAAAAAABOA/rx2JB9P1dwc/castle%252520zoom%252520near%252520south%252520pole.jpg)

  First I iterated and zoomed into the Julia above.  Second is simply an iteration increase of the second one above (and enlarged if you click it- shows a bit more detail).
(https://lh6.googleusercontent.com/-1WAzW1tev58/TnKLgu6JnXI/AAAAAAAABPQ/oQBwWtw7fkI/s400/triple%252520dot%252520zoom.jpg) (https://lh6.googleusercontent.com/-1WAzW1tev58/TnKLgu6JnXI/AAAAAAAABPQ/oQBwWtw7fkI/triple%252520dot%252520zoom.jpg) (https://lh6.googleusercontent.com/-8qyniHyfRt0/TnKLgyaI3oI/AAAAAAAABPU/6w7xk7C1-6U/s400/castle%252520zoom%252520near%252520south%252520pole%252520iterated.jpg) (https://lh6.googleusercontent.com/-8qyniHyfRt0/TnKLgyaI3oI/AAAAAAAABPU/6w7xk7C1-6U/castle%252520zoom%252520near%252520south%252520pole%252520iterated.jpg)

  Then a couple z^4... last one shows a bit of the underlying structure through a hole in the fractal (you can see an interior pillar through the hole)-
(https://lh4.googleusercontent.com/-Bl06C2GTfrA/TnKDVeo4KqI/AAAAAAAABOY/LbO8vivuBDQ/s288/pillar%252520top%252520zoom%252520on%252520cavern.jpg) (https://lh4.googleusercontent.com/-Bl06C2GTfrA/TnKDVeo4KqI/AAAAAAAABOY/LbO8vivuBDQ/pillar%252520top%252520zoom%252520on%252520cavern.jpg) (https://lh4.googleusercontent.com/-BwDKhFzcA90/TnKDUXJE3uI/AAAAAAAABOU/uyKJ9wmfocs/s288/cool%252520julia%252520zoom.jpg) (https://lh4.googleusercontent.com/-BwDKhFzcA90/TnKDUXJE3uI/AAAAAAAABOU/uyKJ9wmfocs/cool%252520julia%252520zoom.jpg) (https://lh4.googleusercontent.com/-ZX-mU1k8Kj4/TnKDVfD0SCI/AAAAAAAABOc/-TuKXtiRfJg/s288/pillar%252520top%252520zoom%252520on%252520cavern%252520color%252520change.jpg) (https://lh4.googleusercontent.com/-ZX-mU1k8Kj4/TnKDVfD0SCI/AAAAAAAABOc/-TuKXtiRfJg/pillar%252520top%252520zoom%252520on%252520cavern%252520color%252520change.jpg)

  Here is a zoom into a z^3...  it's a bigun if you click it... added the a zoom into the hole (and an iteration or 2) as the second image.
(https://lh4.googleusercontent.com/-DX_dA4u8lJ8/TnK4VkQHXJI/AAAAAAAABPo/NQDXUbrhZuQ/s400/zoom%252520on%252520twisty%252520top.jpg) (https://lh4.googleusercontent.com/-DX_dA4u8lJ8/TnK4VkQHXJI/AAAAAAAABPo/NQDXUbrhZuQ/zoom%252520on%252520twisty%252520top.jpg) (https://lh6.googleusercontent.com/-bnlDyby3zaw/TnLBizB0q_I/AAAAAAAABP8/F0KHypBxSZQ/s400/interior%252520pillar.jpg) (https://lh6.googleusercontent.com/-bnlDyby3zaw/TnLBizB0q_I/AAAAAAAABP8/F0KHypBxSZQ/interior%252520pillar.jpg)

  And a few z^2, 2 of which I wasn't patient enough to complete.  The second one is of a twisty section, using the modified pixel formula. The last one is a bit bright in the coloring, but shows the "central pillar" in the cave underneath the northernmost point of the southern quadrant on the z axis side (regular pixel formula).
(https://lh3.googleusercontent.com/-E7sEiUg-1uA/TnKDg7pNjXI/AAAAAAAABO4/kUwnaTBnHOE/s288/yeah.jpg) (https://lh3.googleusercontent.com/-E7sEiUg-1uA/TnKDg7pNjXI/AAAAAAAABO4/kUwnaTBnHOE/yeah.jpg) (https://lh5.googleusercontent.com/-EZU9cRQnXHo/TnKDf4wb-7I/AAAAAAAABO0/SsgQkJoprjY/s288/nice%252520twists.jpg) (https://lh5.googleusercontent.com/-EZU9cRQnXHo/TnKDf4wb-7I/AAAAAAAABO0/SsgQkJoprjY/nice%252520twists.jpg) (https://lh4.googleusercontent.com/-ShxeCN3f63M/TnKDhcS8cCI/AAAAAAAABO8/Dl-Cz6FL2EY/s288/on%252520central%252520pillar.jpg) (https://lh4.googleusercontent.com/-ShxeCN3f63M/TnKDhcS8cCI/AAAAAAAABO8/Dl-Cz6FL2EY/on%252520central%252520pillar.jpg)


Title: Re: An old formula revised
Post by: M Benesi on September 03, 2012, 02:57:55 AM
  Well, I messed around with a new method of doing the 4 dimensional version of this formula.  It added some interesting characteristics, unless I've forgotten about there existence in the year or so since I've played with this particular fractal.

  Anyways, I took something from my "Cheater's  Brot":  I basically formatted the pixels so that instead of the fractal being aligned with the xyz magnitude, the fractal is initially aligned with the x axis.  From here, I simply used the x-axis as the 4th dimensional input- the other 3 axes being shifted by 45 degrees one way, and the "magic angle" the other way (magic angle is an NMR thing.... and happens to be of mathematical use (surprise surprise) as well).  

  Since the other axes were shifted, this prevents the x axis pixel value from being double implemented, although technically it is inputted twice- one of the times it is shifted.  This opens up possibilities for other fractal types as well:  we can take the total magnitude (or "complex" magnitude*) and align it to the x axis by shifting by the magic angle, then 45 degrees.  We can then use this value as a 4th dimensional input that is related, but not the same as, our other input values.

  anyways....  Some images of the z^2 4d.  Some new formations, similar to old ones, but with some additional details (click the first too enlarge):

(https://lh6.googleusercontent.com/-zCUoUThtDDI/UEP8pzUHEtI/AAAAAAAABaY/HiUH5H5HYUY/s288/pixel%25205%2520neg%2520x%2520axis%2520rear%2520type%2520b.jpg) (https://lh6.googleusercontent.com/-zCUoUThtDDI/UEP8pzUHEtI/AAAAAAAABaY/HiUH5H5HYUY/s0/pixel%25205%2520neg%2520x%2520axis%2520rear%2520type%2520b.jpg)(https://lh6.googleusercontent.com/-DVCoyqwBBNQ/UEP8nT3l6WI/AAAAAAAABaI/dBS-NMhNbd0/s144/floating%2520mesa.jpg)(https://lh4.googleusercontent.com/-HjO6vicAcZs/UEP8ohP62TI/AAAAAAAABaQ/ALR3OghidCk/s144/nice%2520clips.jpg)
  


Title: Re: An old formula revised
Post by: M Benesi on September 07, 2012, 01:51:36 AM
  And here's the place at the back of the z^2 (elephant valley of this particular formula) that I find particularly interesting.  It's Mayan, Incan, or Aztec looking.  Interesting that simple mathematical formulas produce images that recall a very mathematical people..

(https://lh4.googleusercontent.com/-Zk7pU7UhNfM/UEk1QmAQH0I/AAAAAAAABcw/KzrQ2UERDmU/s288/mayan%2520temples.jpg) (https://lh4.googleusercontent.com/-Zk7pU7UhNfM/UEk1QmAQH0I/AAAAAAAABcw/KzrQ2UERDmU/s0/mayan%2520temples.jpg)

And here it is with only "2 spokes" (same formula, just... arranged differently):
(https://lh4.googleusercontent.com/-k26o9X1mJbc/UEk1QmK8rCI/AAAAAAAABcw/yz8gu1n6lNs/s288/mayan%2520belt%2520%25202%2520spoke.jpg)

makes nice Julias too  (almost all click to enlarge):
(https://lh3.googleusercontent.com/-ZRaQjORwZgE/UElC2HUltvI/AAAAAAAABdk/CFLlGOLqiTc/s288/2nd%2520degree%2520np5%2520strait%2520on.jpg) (https://lh3.googleusercontent.com/-ZRaQjORwZgE/UElC2HUltvI/AAAAAAAABdk/CFLlGOLqiTc/s0/2nd%2520degree%2520np5%2520strait%2520on.jpg)(https://lh6.googleusercontent.com/-MAdoLeB0Dsg/UElC2Lt0pcI/AAAAAAAABdk/VDe7YUm72Yg/s288/4th%2520rear%2520np8%2520p8%2520c2%2520normal%2520tmode.jpg) (https://lh6.googleusercontent.com/-MAdoLeB0Dsg/UElC2Lt0pcI/AAAAAAAABdk/VDe7YUm72Yg/s0/4th%2520rear%2520np8%2520p8%2520c2%2520normal%2520tmode.jpg)(https://lh3.googleusercontent.com/-5nL1ShhKSpU/UElC2ZF8ATI/AAAAAAAABdk/yNxdBbPpSGg/s288/4th%2520rear%2520spectacukar.jpg) (https://lh3.googleusercontent.com/-5nL1ShhKSpU/UElC2ZF8ATI/AAAAAAAABdk/yNxdBbPpSGg/s0/4th%2520rear%2520spectacukar.jpg)(https://lh5.googleusercontent.com/-yeR-TtC3V8k/UElC2jB9_8I/AAAAAAAABdk/RFj27Lt0uoE/s400/5th%2520rear%2520np8.jpg)(https://lh5.googleusercontent.com/-wzBxEdPchMY/UElG0HRP8zI/AAAAAAAABd8/Q_QwaL7dHzc/s288/2nd%2520front%2520np54.jpg) (https://lh5.googleusercontent.com/-wzBxEdPchMY/UElG0HRP8zI/AAAAAAAABd8/Q_QwaL7dHzc/s0/2nd%2520front%2520np54.jpg)(https://lh5.googleusercontent.com/-Cg4hzO-sjU8/UElG0FgDFMI/AAAAAAAABd8/1PgDNRoxmqM/s288/2nd%2520rear%2520nxaxis%2520mode.jpg) (https://lh5.googleusercontent.com/-Cg4hzO-sjU8/UElG0FgDFMI/AAAAAAAABd8/1PgDNRoxmqM/s0/2nd%2520rear%2520nxaxis%2520mode.jpg)


Title: Re: An old formula revised
Post by: KRAFTWERK on September 07, 2012, 01:41:15 PM
Beautiful bulbs Mr Benesi!


Title: Re: An old formula revised
Post by: M Benesi on September 09, 2012, 04:26:30 AM
thanks  :)


Title: Re: An old formula revised
Post by: Alef on September 09, 2012, 04:51:22 PM
Interesting fractal. One more version of Holly Grail;)


Title: Re: An old formula revised
Post by: M Benesi on September 10, 2012, 08:52:51 AM
  Yeah...  

  I like this next combo even more.  I combined the rotated 3d (three!!!) version, in Julia form, rotated it back to mandy coordinates, calculated the mandy part, added in the ROTATED x pixel component (well, for most of them... it looks tighter that way) without any julia components, rotated the thing back to Mag xyz coordinate system, and... well.. you'll see.

  I didn't post any, but if you cut into the fractal, there are interior caverns that are incredibly detailed as well!  This is a neat one, although it is calculation intensive!!  lots of compute cycles.  Wonder how the 4d combo will turn out?  :D

  All of these are z^2 julias at -.5 for x,y, and z.... click to enlarge... maybe.

(https://lh6.googleusercontent.com/-53XgyBgH4CM/UE2KsOJQ1fI/AAAAAAAABfo/U-DMdvfiirk/s288/2nd%2520order%2520%2520B%2520rotated%2520going%2520around%25204%2520sides%25201.jpg) (https://lh6.googleusercontent.com/-53XgyBgH4CM/UE2KsOJQ1fI/AAAAAAAABfo/U-DMdvfiirk/s0/2nd%2520order%2520%2520B%2520rotated%2520going%2520around%25204%2520sides%25201.jpg)(https://lh6.googleusercontent.com/-QrBhXOdPKWk/UE2Ksa03z6I/AAAAAAAABfo/BM_39_cBxf4/s288/2nd%2520order%2520%2520B%2520rotated%2520going%2520around%25204%2520sides%25202%2520elephant%2520valley.jpg) (https://lh6.googleusercontent.com/-QrBhXOdPKWk/UE2Ksa03z6I/AAAAAAAABfo/BM_39_cBxf4/s0/2nd%2520order%2520%2520B%2520rotated%2520going%2520around%25204%2520sides%25202%2520elephant%2520valley.jpg)(https://lh4.googleusercontent.com/-0ef88FRm8vQ/UE2KsUHdYKI/AAAAAAAABfo/G1o_F0cTNto/s288/2nd%2520order%2520%2520B%2520rotated%2520going%2520around%25204%2520sides%25203.jpg) (https://lh4.googleusercontent.com/-0ef88FRm8vQ/UE2KsUHdYKI/AAAAAAAABfo/G1o_F0cTNto/s0/2nd%2520order%2520%2520B%2520rotated%2520going%2520around%25204%2520sides%25203.jpg)(https://lh6.googleusercontent.com/-GYJ799mUZ7o/UE2Ks1AxnlI/AAAAAAAABfo/u1HHbXqXDec/s288/2nd%2520order%2520%2520B%2520rotated%2520going%2520around%25204%2520sides%25204%2520the%2520stalk%2520point.jpg) (https://lh6.googleusercontent.com/-GYJ799mUZ7o/UE2Ks1AxnlI/AAAAAAAABfo/u1HHbXqXDec/s0/2nd%2520order%2520%2520B%2520rotated%2520going%2520around%25204%2520sides%25204%2520the%2520stalk%2520point.jpg)(https://lh4.googleusercontent.com/-ydKg5O_f8lc/UE2Ks6qz7iI/AAAAAAAABfo/1tC5OMIs5Uk/s288/2nd%2520order%2520stalk%2520switch%2520b.jpg) (https://lh4.googleusercontent.com/-ydKg5O_f8lc/UE2Ks6qz7iI/AAAAAAAABfo/1tC5OMIs5Uk/s0/2nd%2520order%2520stalk%2520switch%2520b.jpg)
  the first one is with non rotated x pixel value, the zoom into the ball is with rotated x pixel
(https://lh6.googleusercontent.com/-UsZSY594LBM/UE2KtG50R6I/AAAAAAAABfo/luMXrqRgNJ0/s288/2nd%2520order%2520stalk.jpg) (https://lh6.googleusercontent.com/-UsZSY594LBM/UE2KtG50R6I/AAAAAAAABfo/luMXrqRgNJ0/s0/2nd%2520order%2520stalk.jpg)(https://lh4.googleusercontent.com/-Mv28wKC0Tlc/UE2KtnfMHzI/AAAAAAAABfo/QugTFgcO44A/s288/razzle%2520stalk%2520b.jpg) (https://lh4.googleusercontent.com/-Mv28wKC0Tlc/UE2KtnfMHzI/AAAAAAAABfo/QugTFgcO44A/s0/razzle%2520stalk%2520b.jpg)(https://lh6.googleusercontent.com/-ZqliN5lE3DE/UE2KtWIPD1I/AAAAAAAABfo/swuIOc1UW4E/s288/ball%2520on%2520front.jpg) (https://lh6.googleusercontent.com/-ZqliN5lE3DE/UE2KtWIPD1I/AAAAAAAABfo/swuIOc1UW4E/s0/ball%2520on%2520front.jpg)(https://lh5.googleusercontent.com/--4jjayJFq7M/UE2KtcN6dQI/AAAAAAAABfo/ff4w99IuozI/s288/razzle%2520ball%2520stalky%2520strip.jpg) (https://lh5.googleusercontent.com/--4jjayJFq7M/UE2KtcN6dQI/AAAAAAAABfo/ff4w99IuozI/s0/razzle%2520ball%2520stalky%2520strip.jpg)

  The last one there shows you that there are stalks off of the ball, that is actually a tiny ball in front of a ball, in front of a ball, down a bit.. etc.. etc..    Rotating and combining works wonders...  



Title: Re: An old formula revised
Post by: KRAFTWERK on September 10, 2012, 09:49:26 AM
Now, this is getting more and more interesting!
(https://lh6.googleusercontent.com/-UsZSY594LBM/UE2KtG50R6I/AAAAAAAABfo/luMXrqRgNJ0/s288/2nd%2520order%2520stalk.jpg)
 :o :o :o :o


Title: Re: An old formula revised
Post by: kram1032 on September 10, 2012, 10:59:10 AM
It looks a whole lot like what people might imagine the holy grail to be like.
How does the MSet of this particular version look like?


Title: Re: An old formula revised
Post by: M Benesi on September 11, 2012, 12:26:55 AM
  The Mset from this is a bit screwed up.  Doesn't look way too great. I've figured out what I believe will be considered a canonical grail 3d Mset, but can't implement it in Chaospro without doing tons of unnecessary work, this one is a LOT easier.  Once I find a decent program that lets me calculate by x-planes, I think we'll have the mset.  If you're curious about my hypothetical mset, we can start a new thread- but I can't render it in ChaosPro.

  Update:  Mset is good.  Just have to use 1/2 pixel values or it gets too crazy.   Very similar to the julia, although a bit more wild.  Playing with higher n z^n for a bit.  Will get back to z^2 later...

  One problem with the Mset- too much detail increase per iteration... probably have to play with bailout.  In addition, for whatever reason, Julias require lower resolution than Mandies to be crisp (because the pixel seed is used less!).  Also, adding in the y and z pixel values stretches it in places, not as bad as a regular mandy, but it's not as uniform and fractally.

  I'm having the best luck with julia type pixel initiation, setting the first part's julia seed to -.5,-.5,-.5  (I'll explain this later, if anyone is going to try and implement the formula), then adding in 2/3rds (.66) of the x pixel component after the second calculation.  I picked 2/3rds because I like it the most... for now, also I believe that the length of the Mag x XYZ fractal is about 1/sqrt(2) shorter than the mset... so 2/3rds is close... probably should change it to sqrt(.5), ehh??

  If you use the total x component, you get the stalky thing that Kraftwerk commented on.

  So. here are a couple more-  the first one cracks me up, and has some grail like features- it's on the main stalk leading down the -x axis.  Funny as hell...  the next ones are from the elephant valley section, the first being a zoom into the frilly part to confirm it doesn't behave like a Mandy and lack cool fractal details (it has details), the second being a zoom into a hole off of elephant valley, took a left turn, zoomed into another hole, and started to find twisty interconnected stuff at iteration 9!! (well, much more zoomed, and more iterated- will post the bit of twists (image 4) when it's done calculating).

(https://lh4.googleusercontent.com/-ViEfP7e7kT0/UE5my_seo1I/AAAAAAAABf4/fqXjagaJ8S8/s288/ball%2520tree.jpg) (https://lh4.googleusercontent.com/-ViEfP7e7kT0/UE5my_seo1I/AAAAAAAABf4/fqXjagaJ8S8/s0/ball%2520tree.jpg)(https://lh3.googleusercontent.com/-t1r7peYgIZ0/UE5mzR3TnmI/AAAAAAAABgE/0N3YHTMOqh0/s144/elephant%2520valley%2520near%2520black%2520hole.jpg) (https://lh3.googleusercontent.com/-t1r7peYgIZ0/UE5mzR3TnmI/AAAAAAAABgE/0N3YHTMOqh0/s0/elephant%2520valley%2520near%2520black%2520hole.jpg)(https://lh3.googleusercontent.com/-NMxXKt8Upz8/UE5mzMsUEaI/AAAAAAAABf8/gLfHWOiMNm8/s288/elephant%2520valley%2520from%2520the%2520hole.jpg) (https://lh3.googleusercontent.com/-NMxXKt8Upz8/UE5mzMsUEaI/AAAAAAAABf8/gLfHWOiMNm8/s0/elephant%2520valley%2520from%2520the%2520hole.jpg)

  Ok.. here is that 9 iteration one.  There are 2... same image, different coloring... dunno... I think the bluish is better, you can see how the stuff is interconnected here in the elephant valley...

(https://lh3.googleusercontent.com/-jXwnxA2oJUw/UE5s_UCb5mI/AAAAAAAABgc/k8CMi0Osctc/s288/nice%2520twists%2520tin%2520valley%2520bluer.jpg) (https://lh3.googleusercontent.com/-jXwnxA2oJUw/UE5s_UCb5mI/AAAAAAAABgc/k8CMi0Osctc/s0/nice%2520twists%2520tin%2520valley%2520bluer.jpg)(https://lh6.googleusercontent.com/-zV8BlKOsORA/UE5s_mYtJpI/AAAAAAAABgg/GE3WGgG9vRQ/s288/nice%2520twists%2520tin%2520valley.jpg) (https://lh6.googleusercontent.com/-zV8BlKOsORA/UE5s_mYtJpI/AAAAAAAABgg/GE3WGgG9vRQ/s0/nice%2520twists%2520tin%2520valley.jpg)

  Now, you can set it to the actual x-axis pixel value, and get this nice stalk thing at the end, and I assume you can find the spherical parts back towards where seahorse valley is.  The x-pixel/sqrt(2) one has slightly stretched spheres towards the stalk, but once again I assume they are more spherical back towards the valley.  X-pixel*.66 has spheres right up the stalk... but it doesn't have those stalky stalks... soooo...   The last one is a deeper zoom into the elephant valley from earlier.

(https://lh4.googleusercontent.com/-Kdf9qIHM9mU/UE6MRJWFsOI/AAAAAAAABhg/QUt9CErdwrk/s288/stalk%2520demo%2520pixelr%25201%2520not%2520p66.jpg)(https://lh6.googleusercontent.com/-hyMgMz-GFlo/UE6MJecOLvI/AAAAAAAABg4/7QsgwSmEvx4/s288/p66%2520stalk%25201.jpg) (https://lh6.googleusercontent.com/-hyMgMz-GFlo/UE6MJecOLvI/AAAAAAAABg4/7QsgwSmEvx4/s0/p66%2520stalk%25201.jpg)(https://lh5.googleusercontent.com/-FvSZHTinqdo/UE6MRB_SzjI/AAAAAAAABhc/7ENgfJtrngw/s288/deeper%2520in%2520the%2520elephant.jpg) (https://lh5.googleusercontent.com/-FvSZHTinqdo/UE6MRB_SzjI/AAAAAAAABhc/7ENgfJtrngw/s0/deeper%2520in%2520the%2520elephant.jpg)

Stalk:
(https://lh6.googleusercontent.com/-Uli_XIMxhy8/UE7gneVGQ6I/AAAAAAAABiw/wKDj_xFGxgc/s288/big%2520ole%2520stalker.jpg) (https://lh6.googleusercontent.com/-Uli_XIMxhy8/UE7gneVGQ6I/AAAAAAAABiw/wKDj_xFGxgc/s0/big%2520ole%2520stalker.jpg)(https://lh5.googleusercontent.com/-qK3LE5-QdTY/UE7gnYyRqLI/AAAAAAAABiw/Y4Zqo0ZPpTQ/s288/cupcake%2520top.jpg) (https://lh5.googleusercontent.com/-qK3LE5-QdTY/UE7gnYyRqLI/AAAAAAAABiw/Y4Zqo0ZPpTQ/s0/cupcake%2520top.jpg)
Somewhere in elephant land:
(https://lh4.googleusercontent.com/-yGYuZZDp7Ac/UE7gnXLo27I/AAAAAAAABiw/sQe2O8TZNqQ/s0/neat%2520back.jpg)


Title: Re: An old formula revised
Post by: kram1032 on September 11, 2012, 11:20:51 AM
Really nice but what about the whole set?


Title: Re: An old formula revised
Post by: M Benesi on September 11, 2012, 07:32:01 PM

  here....  The last 3 are the same image, with the yz angle stretched differently for pixels.  Standard has THREE sections, corresponding to x, y, and z values (just like the original mag vs. xyz).  Keep in mind the partial Mandies (x- axis only) look better at first glance (less chaotic), so I'm posting them instead of the full Mandy (x,y,z).
the side, elephant valleyL:
(https://lh5.googleusercontent.com/-9zYPJGsh8P8/UE9zKW5EVsI/AAAAAAAABjs/2RAebACHdyk/s288/straight%2520on.jpg) (https://lh5.googleusercontent.com/-9zYPJGsh8P8/UE9zKW5EVsI/AAAAAAAABjs/2RAebACHdyk/s0/straight%2520on.jpg)(https://lh4.googleusercontent.com/-0fYKfdmgSfA/UE9zJzdZ7tI/AAAAAAAABjs/7hpdYhST6Tc/s288/elephant%2520valley.jpg) (https://lh4.googleusercontent.com/-0fYKfdmgSfA/UE9zJzdZ7tI/AAAAAAAABjs/7hpdYhST6Tc/s0/elephant%2520valley.jpg)

  The pointy end, different yz angle stretches (for pixels):
(https://lh3.googleusercontent.com/-A5YHIUkcjng/UE9zJ_PcKvI/AAAAAAAABjs/Vw50pJ0HAEI/s288/point%2520end%25202%2520spokes.jpg) (https://lh3.googleusercontent.com/-A5YHIUkcjng/UE9zJ_PcKvI/AAAAAAAABjs/Vw50pJ0HAEI/s0/point%2520end%25202%2520spokes.jpg)(https://lh6.googleusercontent.com/-R54X9fLCC60/UE9zKXah3tI/AAAAAAAABjs/rfPeX7GKJ90/s288/pointy%2520end.jpg) (https://lh6.googleusercontent.com/-R54X9fLCC60/UE9zKXah3tI/AAAAAAAABjs/rfPeX7GKJ90/s0/pointy%2520end.jpg)(https://lh6.googleusercontent.com/-x6MA9fdThd0/UE9zJxR79FI/AAAAAAAABjs/r29puqQMFIQ/s288/point%2520end%25204%2520spokes.jpg) (https://lh6.googleusercontent.com/-x6MA9fdThd0/UE9zJxR79FI/AAAAAAAABjs/r29puqQMFIQ/s0/point%2520end%25204%2520spokes.jpg)


Title: Re: An old formula revised
Post by: M Benesi on September 12, 2012, 03:18:42 AM
  Here is a comparison of the stalk with the plane old x axis component, followed by the sqrt(2)*x axis component (which will be up shortly).  Keep in mind that with either of these, as you travel away from the negative x axis, you start running into less "stalky" more spherical parts of the fractal.   This means it might be unnecessary to use the sqrt(2) x axis component- you can just travel towards the positive x axis and have the more spherical outcroppings.

(https://lh4.googleusercontent.com/-UkWX4gmW4Zg/UE_hQ0h1qiI/AAAAAAAABkk/nFGIxX1KVZc/s288/frill%2520stalk%25201p0%2520type.jpg) (https://lh4.googleusercontent.com/-UkWX4gmW4Zg/UE_hQ0h1qiI/AAAAAAAABkk/nFGIxX1KVZc/s0/frill%2520stalk%25201p0%2520type.jpg) (https://lh4.googleusercontent.com/-jm3OH9dk7Gw/UE_qlZjPtaI/AAAAAAAABk4/cUFnYLE6pzM/s288/sr2i%2520stalk%2520for%25201p0%2520type.jpg) (https://lh4.googleusercontent.com/-jm3OH9dk7Gw/UE_qlZjPtaI/AAAAAAAABk4/cUFnYLE6pzM/s0/sr2i%2520stalk%2520for%25201p0%2520type.jpg)

  Here are a couple in which I did the Mandy before the mag xyz.  Works as well, but has more of a Mandy shape.  The flat mandy variety doesn't work that well, still using the one I consider the most faithful to the 2d Mset. 

  Of course, you need to do the CORRECT coordinate transform between the 2 formulas to get it to work correctly.  This is probably why nobody has done this in Mandelbulber or the other formulas yet.  There are a couple other little tricks as well.  anyways-  here are the images.

  First one is standard, the second one with my z^2 improvement switch (from an old thread).  I like the standard more, not necessary to add details or size to an already detailed fractal.

  Did I mention these are all z^2?  :D

(https://lh6.googleusercontent.com/-eRdHqAv_jj8/UFAwrGdxj4I/AAAAAAAABlU/0P3tfoRmuVg/s288/straight%2520on%2520cannonical.jpg) (https://lh6.googleusercontent.com/-eRdHqAv_jj8/UFAwrGdxj4I/AAAAAAAABlU/0P3tfoRmuVg/s0/straight%2520on%2520cannonical.jpg)(https://lh3.googleusercontent.com/-6hA7jzvDyYU/UFAwq2rvlSI/AAAAAAAABlU/xnVjvwA_fqk/s288/straight%2520on%2520nx%2520mode.jpg) (https://lh3.googleusercontent.com/-6hA7jzvDyYU/UFAwq2rvlSI/AAAAAAAABlU/xnVjvwA_fqk/s0/straight%2520on%2520nx%2520mode.jpg)


Title: Re: An old formula revised
Post by: DarkBeam on September 12, 2012, 12:08:49 PM
When you finished mangling leave the formula to us ;D


Title: Re: An old formula revised
Post by: miner49er on September 12, 2012, 02:01:35 PM
Does this have the regular Mandelbrot set as a 2D cross-section?

If so then...wow!


Title: Re: An old formula revised
Post by: kram1032 on September 12, 2012, 04:32:09 PM
this certainly is darned close. I do see some quaternion-like whipped cream elements, but for once there is more detail than cream. (As far as I can tell)


Title: Re: An old formula revised
Post by: M Benesi on September 12, 2012, 08:35:31 PM
When you finished mangling leave the formula to us ;D

lol...  You're awesome...
   I've still got a few ideas floating in my brain, so might hold off until I try them out so we don't have last minute code changes.  After I try the ideas, I'll try and finalize, in other words clean up my crazy code, then get something posted.  

 I've gotta shop, run, cook dinner, etc.  (I'm in  UTC -4 hours)   so it'll be a bit before I get to it.

@miner49er- No cross-section, don't even know if it's possible with the interplay of the 2 formulas.  My intent is to mess with a 2d version of my Mag. vs. XYZ fractal (so it'd be mag vs. xy) and attempt to recreate the 2d mandy with that- but that's in the future.

  Now, a certain formula I came up with will definitely have the cross section, but I cannot implement it in ChaosPro.  It requires each yz-plane (perpendicular to x-axis) section to be analyzed individually- you can't just analyze pixels like this formula.

@kram1832- I dunno.  It doesn't seem to have the same type of whipped cream as the old bulbs.  It seems to be more like the 2d Mset, in which there are more detailed sections, and sections with less detail until you iterate more.

  Check out this little (low iteration) image from the 2d mandy.  There are smooth curves, in addition to pointy things, and areas with more details.  Keep in mind, the 3d images all have less iterations than this.

  (https://lh3.googleusercontent.com/-mLRe-wCBQjA/UFDVe3KTo3I/AAAAAAAABlo/jlVqwotyJu8/s400/mandy%2520detail%2520demo.jpg)


Title: Re: An old formula revised
Post by: kram1032 on September 12, 2012, 09:39:00 PM
Yeah, I guess 3D fractals of this complexity don't work well with extreme iteration depths. They turn into a fuzz, don't they?


Title: Re: An old formula revised
Post by: M Benesi on September 13, 2012, 05:29:27 AM
  Fuzz... or zoom in to 'em.  

  I've been laughing about "when you're done mangling" all day..  :D

 I like the original formula better (with the Mag xyz first), I think it looks cooler....  It's a bit more complicated, and I'm a bit tired right now.

  I'm going to post it, but I really will need to check it tomorrow when I am not as tired as I am at the moment.  In other words, don't implement this code thinking I've checked it thoroughly and accurately.  I might check it thoroughly and miss something due to brain fatigue.... if that's even possible.  :p

First part is the pixel set up.  We need to rotate our pixel components to provide the initialization for the first calculation.  The reason is the first calculation is of the Mag vs. XYZ fractal type, which has its axis of symmetry along the "magnitude axis", which corresponds to the line where x=y=z.  We want to align our axes of symmetry for the 2 formulas.

Code:
			// pixel part set up
//pixel_x= x part of pixel
//pixel_y= y part of pixel
//pixel_z= z part of pixel

//rotation around y axis, no y rotation

foxtrot=(90-54.7356)/180*pi;      //look up "magic angle"  54.7356 ...  it turns up a lot
whiskey= cos((foxtrot));             //  sqrt(2/3)
tango= sin((foxtrot));              // sqrt(1/3)

pixel_x_temp= pixel_x  * whiskey - pixel_z * tango;    //  I use sx,sy,and sz as variables in my iterations
sz= pixel_x  * tango     +  pixel_z * whiskey;        // along with temp variables nx,ny, and nz


//rotation around z axis, no z rotation

foxtrot=45/180*pi;
whiskey= cos((foxtrot));       // in other words, both of these = sqrt(.5)    that's   sqrt ( 1/2 )
tango= sin((foxtrot));        // just setting it up so you can see the rotation matrix

sx= pixel_x_temp * whiskey - pixel_y * tango;
sy= pixel_x_temp * tango     +  pixel_y * whiskey;

// that's it for our initialization values for the pixels, we just need our values for the mag xyz portion
  
  a= (pi/2)^(3-n)              //  n is of course the exponent of z^n
  b= n * pi/2          // I sometimes use a different equation- this one is fine for now!!!


  So now we have our initialization values.  Time for the iteration loop.  

Code:
			r=(sqr(sx)+sqr(sy)+sqr(sz));
r1=(sqr(sx)*a+r)^(n/2);    //  you can do different values of n for the different formulas
r2=(sqr(sy)*a+r)^(n/2);   //   for now, let's just get this main one working
r3=(sqr(sz)*a+r)^(n/2);    //  btw, here is where "a" is used
r=sqrt(r);

theta= atan2  (abs(sx)*b+flip(r));     // here is where "b" is used
phi=  atan2     (abs(sy)*b+flip(r));
tango=  atan2  (abs(sz)*b+flip(r));

//  in this next section, I add in a "seed" value... USE -.5  for now!!!  negative point five!!!  :p

sx=r1*cos(theta*pixeln)      + seed;     // use the same seed for all 3 of these values
sy=r2*cos(phi*pixeln)     + seed;      //  -.5 is good, keep the seed the same so the fractal
sz=r3*cos(tango*pixeln)     + seed;   // does not get distorted

//now we need to rotate all the components back towards the x-axis for our Mandy portion
//We will rotate them the OPPOSITE direction than we did before, and in opposite order!!!

//rotation around z axis, no z rotation
foxtrot=-45/180*pi;
whiskey= cos((foxtrot));     // sqrt(.5)
tango= sin((foxtrot));        // -sqrt(.5)       NEGATIVE... they are not the same!!

nx=sx*whiskey-sy*tango;
sy=sx*tango+sy*whiskey;    // sy is done!!
sx=nx;


//rotation around y axis, no y rotation
//whiskey=54.7356/180*pi;
foxtrot=-(90-54.7356)/180*pi;    //negative!#!@
whiskey= cos((foxtrot));      //sqrt(2/3)
tango= sin((foxtrot));       //  - sqrt(1/3)    NEGATIVE!#!@#   RAAARRRRR!@$#!

nx= sx  * whiskey - sz * tango;        
sz= sx  * tango     +  sz * whiskey;
sx=nx;


//  we are totally rotated and ready for the Mandy portion of our

r2=(sqr(sx)+sqr(sy)+sqr(sz))^(n/2);

theta=n* atan2((sx)+flip(sqrt(sqr(sy)+sqr(sz))));
phi=n* atan2((sy)+flip((sz)));
    // note that you don't have to divide the positive x_pixel by 2
if (x_pixel>0) {x_pixel=x_pixel/2;}    // x_pixel is the x component of the pixel!!!!
nx=r2*cos(theta)  + x_pixel;      //  .5 * x_pixel for the positive x axis!!!
     //or you need to do my detail switch
   // otherwise there will be a section of elephant valley without details
   //   note that using .5* x-pixel on the positive x axis simply reduces the
   // smooth singularity in the center of elephant valley, the detail switch eliminates it
// detail switch:

if (detail_switch) {
if (n==2 || n==6) {
if (pixel_x >0 && sx> sqrt(sqr(sy)+sqr(sz))) {
nx=-nx;
}
} else if (n==3 || n==5  || n==7 || n==9)    {
if (sx>0) {
nx=-nx;
}
}
}
sx=nx;
sy=r2*cos(phi)*sin (theta);      //  for even n, switching the y and z parts makes a more
sz=r2*sin(phi)*sin (theta);       //  symmetric fractal.. it's sort of cool, but I don't
  //  know if it's better...   I'll post a couple images after this code
 // you can add in all pixel components at this stage, but it's chaotic

  //UPDATE:  I'd definite switch the y and z components, maybe make it optional
  //UPDATE:  I like the symmetry it introduces- you still get TONS of interesting details
  //UPDATE:  but they are more symmetric (less distorted)

// time to rotate back towards our other axis of symmetry before we start out next iteration!!
//we are doing this in the original order, with POSITIVE rotations!

//rotation around y axis, no y rotation

foxtrot=(90-54.7356)/180*pi;    //positive again        
whiskey= cos((foxtrot));        //  sqrt(2/3)
tango= sin((foxtrot));     //   sqrt(1/3)           totally positive... +++++++++

nx= sx  * whiskey - sz * tango;
sz= sx  * tango     +  sz * whiskey;
sx=nx;

//rotation around z axis, no z rotation
foxtrot=45/180*pi;
whiskey= cos((foxtrot));     //    sqrt(.5)
tango= sin((foxtrot));    //  sqrt(.5)      ++++++++

nx=sx*whiskey-sy*tango;
sy=sx*tango+sy*whiskey;
sx=nx;


//   time to check bailout!!!!!!    
bail= sx^2 + sy^2 +sz^2  

//  if bail > bailout, it's outside of the fractal!!#!@#!
//  if bail < bailout  &&  you've completed all of your iterations, it's inside!!!
//  if bail < bailout  &&   you still are iterating, you need to plug
//  these new values into the iteration loop

  Ok, you can click to enlarge the images.  I will put them up in pairs, first normal y and z, second y and z values switched (in the Mandy part).

  If you look carefully at the elephant valley ones below, you can see the increase in symmetry when you switch the y and z values.

(https://lh4.googleusercontent.com/-_GJiRX7oa7w/UFFOZZ6xYfI/AAAAAAAABmE/L5593J8B-9U/s288/yz%2520normal.jpg) (https://lh4.googleusercontent.com/-_GJiRX7oa7w/UFFOZZ6xYfI/AAAAAAAABmE/L5593J8B-9U/s0/yz%2520normal.jpg) (https://lh4.googleusercontent.com/-pqrtokkTwmE/UFFOZes1iCI/AAAAAAAABmE/96Qj2C8HsQ4/s288/yz%2520switched.jpg) (https://lh4.googleusercontent.com/-pqrtokkTwmE/UFFOZes1iCI/AAAAAAAABmE/96Qj2C8HsQ4/s0/yz%2520switched.jpg)

Elephant valley side.  I should make bigger images so you can check out the symmetry better.  Will do so quickly, than change out these images.   CLICK TO ENLARGE

(https://lh5.googleusercontent.com/-wXLlgMuqYyU/UFFVEyg4lLI/AAAAAAAABnU/emH-J3kwwj4/s288/elephant%2520yz%2520normal.jpg) (https://lh5.googleusercontent.com/-wXLlgMuqYyU/UFFVEyg4lLI/AAAAAAAABnU/emH-J3kwwj4/s0/elephant%2520yz%2520normal.jpg) (https://lh4.googleusercontent.com/-kP5E5TvFfdU/UFFVE4kvfnI/AAAAAAAABnU/rvrHgXr3i-M/s288/elephant%2520yz%2520switched.jpg) (https://lh4.googleusercontent.com/-kP5E5TvFfdU/UFFVE4kvfnI/AAAAAAAABnU/rvrHgXr3i-M/s0/elephant%2520yz%2520switched.jpg)

Here is the mandy version, elephant valley side, might as well put them up.  Note that the first one looks like it is simply rotated at first glance, but if you look closer you can see that the switched yz version has greater symmetry in many details!
(https://lh6.googleusercontent.com/-wSA5fyV7Xro/UFFQjHKgPlI/AAAAAAAABmw/ofHx8EOHuR8/s288/mandy%2520yz%2520normal%2520elephant.jpg) (https://lh6.googleusercontent.com/-wSA5fyV7Xro/UFFQjHKgPlI/AAAAAAAABmw/ofHx8EOHuR8/s0/mandy%2520yz%2520normal%2520elephant.jpg) (https://lh4.googleusercontent.com/-WtgFZKoSMd8/UFFQjfaZkNI/AAAAAAAABmw/2omluCPM62w/s288/mandy%2520yz%2520switched%2520elephant.jpg) (https://lh4.googleusercontent.com/-WtgFZKoSMd8/UFFQjfaZkNI/AAAAAAAABmw/2omluCPM62w/s0/mandy%2520yz%2520switched%2520elephant.jpg)


Title: Re: An old formula revised
Post by: DarkBeam on September 13, 2012, 05:07:49 PM
 ;D you finished very soon - btw I will not convert because I am very busy. Sorry folks. :beer:


Title: Re: An old formula revised
Post by: M Benesi on September 14, 2012, 03:05:37 AM
  Might be good.  Finding new things out.  Definitely switch the y and z portions of the Mandy part.  It creates a lot of symmetry, and makes it look a lot nicer (even in dives).

UPDATE:  Have an idea about mathematically streamlining the formula, hold off on working on it for a bit, Chebyshev cosines(atans) should cut a bunch of calculations out, at least for the n=2, which is the coolest anyways.  Also came up with a new way of doing the mag-xyz portion that may ultimately be better (or perhaps worse- I did do something similar in the past).  


 UPDATE2:  Ummm... yeah..  Formula rewrites complete.  Cut about 33% time from calculations- set it up for z^2 only, as this is the most interesting looking.  New rewrite really hits the jackpot on fractallyness, all over the place- did a rewrite of the Mxyz portion's mathematics (changed it around a bit) before translating it to simple algebra..  It must be about time for Bib to break out a movie.

  Figured out a way (well, resurrected an old trick of mine) to get approximate 2d Mset cross sections for xy and xz planes, but it does not look as good as another version of the fractal, so that's ultimately going to be tossed out, unless someone realllllly wants to have something akin to an Mset cross section in the Mandy/Mxyz version.

  Will get the new code up in a bit.  It might be easier to put into Mandelbulber- it's simple algebra, cut and paste, no commands...


Title: Re: An old formula revised
Post by: Alef on September 16, 2012, 04:49:36 PM
Looks like triplex.
(https://lh5.googleusercontent.com/--4jjayJFq7M/UE2KtcN6dQI/AAAAAAAABfo/ff4w99IuozI/s288/razzle%2520ball%2520stalky%2520strip.jpg)

This looks very cool.
(https://lh4.googleusercontent.com/-UkWX4gmW4Zg/UE_hQ0h1qiI/AAAAAAAABkk/nFGIxX1KVZc/s288/frill%2520stalk%25201p0%2520type.jpg)
(https://lh4.googleusercontent.com/-ViEfP7e7kT0/UE5my_seo1I/AAAAAAAABf4/fqXjagaJ8S8/s288/ball%2520tree.jpg)

Hmm, how does look julia sets and inside renders?



p.s.

Just a small sugestion. On an upload, please keep each formula seperate, and with variables with default values that would give the best result. Or maybe just hidde unused variables. Default M-box values result nothing, and there are too many changable variables most of which having no conection with mandelbox.


Title: Re: An old formula revised
Post by: M Benesi on September 17, 2012, 08:38:40 AM
  I'm not sure what you mean by "Mbox" values?  They aren't used in the formula, which is a couple posts above this post.  There aren't any weird variables in the above code (AFAIK) as I just wrote it for DarkBeam the other day.

  Julias?  Well.. they are all right I suppose.  I like the one form the most, nice variety, etc.  I haven't really messed around from the inside yet either.  Coding and mathing, if you know what I mean.

  Additionally, I did a clean up and rewrite of the ChaosPro formulas, uploaded to the ChaosPro.de database in the compiler\benesi directory.  Definitely should use my coloring formulas if you're using ChaosPro, or at least something similar to mine (I forget the default quaternion coloring formulas... it's been years).

  They are under the name "Mag xyz forms.cfm" on the ChaosPro website, and I'm attaching them to this post.

   Anyways, it's not too hard to comprehend if you are familiar with ChaosPro.  I cleaned up the formula, made it pretty basic, with 2 "fast" z^2 versions that default to what I think are the best settings.  

 
  Rename the file from   "XXXXX.txt"  to   "XXXXX.cfm"     in other words, change the file extension.  To do this, you might have to select folder properties so you can view and change file extensions, or maybe just right click the file and select properties, or whatever.  

  In your ChaosPro formulas directory, under compiler, make a directory called Benesi (if it isn't there already), and drop the file there.  If you need further instructions... there are a bunch of smart people around here.  :D

Updated formula so spokes setting is correct (and moved it to the bottom of the formula page so people don't mess with it too much)

Update2 fixed detail mode switch settings for z^3,5,7,9....  detail mode still not fixed for z^2 julias...


Title: Re: An old formula revised
Post by: Alef on September 17, 2012, 04:48:44 PM
 I'm not sure what you mean by "Mbox" values?  They aren't used in the formula, which is a couple posts above this post.  There aren't any weird variables in the above code (AFAIK) as I just wrote it for DarkBeam the other day.

Additionally, I did a clean up and rewrite of the ChaosPro formulas, uploaded to the ChaosPro.de database in the compiler\benesi directory.  Definitely should use my coloring formulas if you're using ChaosPro, or at least something similar to mine (I forget the default quaternion coloring formulas... it's been years).

  They are under the name "Mag xyz forms.cfm" on the ChaosPro website, and I'm attaching them to this post.

   Anyways, it's not too hard to comprehend if you are familiar with ChaosPro.  I cleaned up the formula, made it pretty basic, with 2 "fast" z^2 versions that default to what I think are the best settings. 

  Rename the file from   "XXXXX.txt"  to   "XXXXX.cfm"     in other words, change the file extension.  To do this, you might have to select folder properties so you can view and change file extensions, or maybe just right click the file and select properties, or whatever. 

  In your ChaosPro formulas directory, under compiler, make a directory called Benesi (if it isn't there already), and drop the file there.  If you need further instructions... there are a bunch of smart people around here.  :D
I just wanted to convince you that some of your formulas could be a little more user fiendly;) Say when one loads your mandelbox, by defoult there is nothing, on changing variables one can got something, but there are so many variables, and most of them just don't influence mandelbox fractal, so this is like blind walk. But I haven't looked Chaos Pro database for some time, coz there is nothing much new.

 
Quote
Julias?  Well.. they are all right I suppose.  I like the one form the most, nice variety, etc.  I haven't really messed around from the inside yet either.  Coding and mathing, if you know what I mean.
I just hadn't read the whole thread, that there are half mandelbrot half julia sets. Just forget this.

Triplex formulas like mandelbulb allways have pretty boring inside renders. But some 3D brot fractals are very boring from outside, but are more complex when you zoom inside of them and flag inside render. Like this:
(http://www.ljplus.ru/img4/a/s/asdam/IMAGE6_Mbrot_half_inside_5.jpg)
Or this:
(http://www.ljplus.ru/img4/a/s/asdam/IMAGE6_Mbrot_half_inside_7.jpg)
This is pretty unnoticed feature of fractals. Maybe this formula have something interesting inside, maybe not.


Title: Re: An old formula revised
Post by: M Benesi on September 17, 2012, 09:16:46 PM
  You're totally off topic.  As to your off topic posts-  the variables allow you to do fun things with the fractals, but they are not for someone who isn't willing to experiment.  I've done a rewrite of that formula, and hopefully can overwrite the old version in the ChaosPro database.  In addition, I'll attach the new version to this post- try it out, lots of formulas and stuff eliminated.  I didn't remove all of the switches, instead moved them to the bottom of the formula tab, didn't feel like doing tons of work on it.  Stuff is set up so that you generally will have the correct settings, although you do need to change the scale and fold for various types.

 Note that ChaosPro sets the initial view position deep inside the Mbox.  I cannot control the beginning viewing position as far as I know... if you find out something in the documentation, then let me know in a NEW thread or a PM (well.. pm me if you start a thread).


  This thread is about something entirely different, so please stay on topic.  :)  


Title: Re: An old formula revised
Post by: hgjf2 on September 19, 2012, 07:21:16 PM
Curiosity:
I have anything the 3D fractals made in C#.
When giving the prizes at this competition "The 3D mandelbulb", that I want to participe?
 


Title: Re: An old formula revised
Post by: M Benesi on September 20, 2012, 03:54:03 AM
@hgjf2 -  Sorry, I don't entirely understand what you meant?

@Asdam -  Hey, tried inside.  I like the external view better.  It's interesting though, if you get the ChaosPro versions working.  It has similar features to the external view, just.. well... different.  Reminds me of other (Mbulb) interior renders.  Might have something to do with bailout settings- the lack of crispness on certain parts.  Something to think about.


Title: Re: An old formula revised
Post by: Alef on September 23, 2012, 07:03:24 PM
I just trying to convince to implement a bitt what would be user friendlyness in my opinion, as Chaos pro certainly don't have very much 3D content, but this software is pretty friendly with not very young PCs.

Probably I'm more interested in coding and new formulas. But with Benesi Orbital Coloring I experienced the same, if you start default quaternion (hybrid) and pick Benesi Orbital Coloring with a default factors (all =0) and default switches you get nothing. Here at fractalforums was some good pics of its use, but there are just too many switches and variables for try and error method. I can imagine that there is much more lame users than me, who just pick something, and if don't works they go to next.


Back to the topic.

Realy I think this fractal is one of the best new fractals I had seen here in fractalforums. It's orderly nature are much more visualy appealing than mass of mandelbulb and it have features expected for holly grail, such as all around repeating stalks. Well, I think "Holly Grail" alsou should be mathematical meaningfull what I just can't tell;)


Maybe this would have some use. I have simple code for cutouts in Chaos pro 3D. I put in bailout conditions additional variable autobailout. When pixel should be cut off autobailout = bailout +1; Maybe an unelegant, but it works.
Code:
// block for cutout.
parameter int iscuted;
parameter quaternion Ctaxis;
real autobailout, coordX, coordY, coordZ;

void init(void)
//block for cutout. An unelegant code.
autobailout=0;
coordX= real(Ctaxis);
coordY= imag(Ctaxis);
coordZ= part_j(Ctaxis);
if (iscuted == "Larger than")
{
if (coordX!=0 && real(pixel) > coordX )
{
autobailout= bailout +1;
}
if (coordY!=0 && imag(pixel) > coordY )
{
autobailout= bailout +1;
}
if (coordZ!=0 && part_j(pixel) > coordZ )
{
autobailout= bailout +1;
}
}
else if (iscuted == "Smaller than")
{
if (coordX!=0 && real(pixel) < coordX )
{
autobailout= bailout +1;
}
if (coordY!=0 && imag(pixel) < coordY )
{
autobailout= bailout +1;
}
if (coordZ!=0 && part_j(pixel) < coordZ )
{
autobailout= bailout +1;
}
}

bool bailout(void)
return( cabs(z) + autobailout < bailout );


void description(void)
//block for a cutout.
separator.label2.caption  = "CUTS along NONZERO coordinates.";
iscuted.caption="CUTTING";
iscuted.enum="None\nLarger than\nSmaller than";
iscuted.default= 0;

Ctaxis.caption ="Coordinates of cut";
Ctaxis.default= (0,0,0,0);
Ctaxis.visible = (iscuted=="Larger than" || iscuted=="Smaller than");


Title: Re: An old formula revised
Post by: M Benesi on September 23, 2012, 08:22:32 PM


The cutout code is perfectly logical.  It might be better if you had an option to do the absolute value of the pixel coordinates as well:  abs (real(pixel)) > coordX, etc...

  Still, without getting ahold of Martin, I'm thinking we might be unable to set the initial viewing position of fractals from within the formula-  the viewing position is set on the View tab. 

  As to the coloring formula- I'm doing a rewrite now, deleting a bit of extra code and options, cleaning up the interface, and trying to make it more user friendly.  Will attach it here, and post it to ChaosPro.de a bit later.



Title: Re: An old formula revised
Post by: Alef on September 23, 2012, 08:57:14 PM
Thanks for taking notice:)


Title: Re: An old formula revised
Post by: M Benesi on September 23, 2012, 09:49:31 PM
  I fixed up the interface a little bit.

  The "Palette Mode" option is pretty cool- it lets you use the palettes in ChaosPro (you can design your own as well), which means you can change the colors without recalculating the fractal.  I've set it to default settings that work well with this particular fractal type.

  I prefer "RGB" lighting to the other type of lighting, makes the colors brighter.  Do what you like though.  

  Here is the formula- drop it into the formulas directory (or "Benesi" directory).  As always, you need to rename the file because I cannot upload the correct file extensions to FF.

  THIS ONE HAS A DIFFERENT FILE EXTENSION (ccl instead of cfm)!!!!   RENAME TO "benesi coloring.ccl"    


Title: Re: An old formula revised
Post by: M Benesi on September 27, 2012, 07:10:42 AM
  Allright.  Added another little option to the formula.  Messed with this one earlier, didn't add it in with the other symmetry modes because I forgot.  It's "YZ Switch (-z)"... the other really nice "symmetry" mode is "YZ Switch". 

  This one (-z) has little z^2 Mandy patterns embedded in it.  

I'll attach it to this message, default setting is now the mode I just added.  

  This image is ~45 degrees from the stalk along the x-axis (the +z axis side):

(https://lh3.googleusercontent.com/-vjlHkDvo09s/UGPdMLP7RhI/AAAAAAAABoQ/NYYUiva2EgY/s400/mini%2520brot%2520far%2520side%2520of%2520stalk%2520%2520135%2520degrees%2520rot.jpg)

This is a stalk image...  haha...
(https://lh4.googleusercontent.com/-UKYJQZLrZ80/UGPfdSs7QpI/AAAAAAAABoo/-BZ09AzzAn8/s400/stalk%2520stuff.jpg)

Since it's a formula file, change the file extension from ".txt" to ".cfm"  


Title: Re: An old formula revised
Post by: hgjf2 on September 27, 2012, 09:06:41 AM
A version in C# for this 3D fractal type:


Title: Re: An old formula revised
Post by: hgjf2 on September 27, 2012, 09:09:19 AM
I told that join me at this competition "Let's put theory!, let's put images!, let's put implementation!, let,s put videos!,..."
Yet wait the prises.


Title: Re: An old formula revised
Post by: M Benesi on September 28, 2012, 04:15:44 AM
  Umm... don't think that you have the correct thread.


Title: Re: An old formula revised
Post by: M Benesi on September 29, 2012, 05:55:58 AM
So, at least for ChaosPro, I've reduced calculation times by over 30% with some formula re-writes.  Once I clean up the code, leaving a couple of legacy formulas for posterity, I'll post the new faster formulas.

  I'm using the "Switch YZ" mode instead of the negative Z "Switch YZ (-z)" mode because... well, for now it seems to be the best.  :P  I'm sure I'll like another type some other day.  

  Here is an image of a zoom into a bulb tree hanging towards the main body, zoomed into the top of one of it's bulb trees then rotated so that the tree is right side up.  Basically, it's a bulb tree near where seahorse valley is on a 2d Mandelbrot.

  Of course, this is a z^2.  Click to enlarge... rendering a second image with another iteration (by accident actually, but I'll post it in a minute or 2).

(https://lh3.googleusercontent.com/-RVz3oPPJHoQ/UGZvXGXI2TI/AAAAAAAABpM/l9yjWynPm-c/s288/that%2520first%2520one%2520a%2520serpent%2520coloring.jpg) (https://lh3.googleusercontent.com/-RVz3oPPJHoQ/UGZvXGXI2TI/AAAAAAAABpM/l9yjWynPm-c/s0/that%2520first%2520one%2520a%2520serpent%2520coloring.jpg)(https://lh5.googleusercontent.com/-zRq8DDA8mKw/UGZ1HDVuabI/AAAAAAAABpg/4-Jh8YkxDm8/s400/iterated%2520first%2520one%2520serpen.jpg) (https://lh5.googleusercontent.com/-zRq8DDA8mKw/UGZ1HDVuabI/AAAAAAAABpg/4-Jh8YkxDm8/s0/iterated%2520first%2520one%2520serpen.jpg)

  Here is a "shield" with an "altar" behind it.  Shape names?  

(https://lh4.googleusercontent.com/-pWgGUy1YKK8/UGZ--KLZvTI/AAAAAAAABqc/gxa9woRCm_c/s400/zoom%2520into%2520shield%2520on%2520right.jpg)

  Couple zooms into the shield, and the altar part of the shield (not the altar behind the shield in the image above- the shield has it's own towards one side):
(https://lh6.googleusercontent.com/-cTIJt0PlJ5Y/UGZ-86is52I/AAAAAAAABqc/G-fk9Qcq0hI/s288/shield%2520fractal%2520black%2520hole%2520ehh.jpg)(https://lh4.googleusercontent.com/-lSRiOyADdtU/UGZ--gAbJ2I/AAAAAAAABqc/xjSs7iFIyMk/s288/shields%2520altar.jpg)(https://lh4.googleusercontent.com/-XMBUhdMwQqQ/UGZ-9r7bSTI/AAAAAAAABqc/sAjlUXV51Vs/s288/shields%2520altar%2520emblem.jpg)(https://lh4.googleusercontent.com/-txx5WfLrR8M/UGZ-8xCK70I/AAAAAAAABqc/1v-P_ilKUhA/s288/shield%2520emblem%2520zoom.jpg)

Click to enlarge this altar, behind the shield above the small images.
(https://lh3.googleusercontent.com/-wjkNTrYwPa4/UGaEewRBumI/AAAAAAAABrE/D2Rb60tJarc/s400/altar%2520behind%2520the%2520shield.jpg) (https://lh3.googleusercontent.com/-wjkNTrYwPa4/UGaEewRBumI/AAAAAAAABrE/D2Rb60tJarc/s0/altar%2520behind%2520the%2520shield.jpg)


Title: Re: An old formula revised
Post by: M Benesi on September 29, 2012, 11:02:47 PM
  Click to enlarge.
  First 2 are Mandy Mags...
  Mandy z^2 Mag z^2 Elephant valley, Mandy z^2 Mag z^4 Elephant valley,
(https://lh5.googleusercontent.com/-VZf9WJ2Q-d8/UGdgTXTUPHI/AAAAAAAABr0/1ZQfvyf3jPM/s288/elephant%2520mandy%2520man2%2520mag2.jpg) (https://lh5.googleusercontent.com/-VZf9WJ2Q-d8/UGdgTXTUPHI/AAAAAAAABr0/1ZQfvyf3jPM/s0/elephant%2520mandy%2520man2%2520mag2.jpg)(https://lh6.googleusercontent.com/--uVJh_KZiHE/UGdgTpGE2sI/AAAAAAAABr0/IcguhE3zH2w/s288/elephant%2520mandystyle%2520man2%2520mag4.jpg) (https://lh6.googleusercontent.com/--uVJh_KZiHE/UGdgTpGE2sI/AAAAAAAABr0/IcguhE3zH2w/s0/elephant%2520mandystyle%2520man2%2520mag4.jpg)

  These are Mag Mandys.  Click to enbiggen-
  Mag z^4 Mandy z^2 Elephant Land, Mag z^2 Mandy z^2 Elephant Land:
(https://lh4.googleusercontent.com/-CRYUSQdES2A/UGdgTTPHP5I/AAAAAAAABr0/R-0LnR96Wyk/s288/elephant%2520mandy2%2520mag%25204.jpg) (https://lh4.googleusercontent.com/-CRYUSQdES2A/UGdgTTPHP5I/AAAAAAAABr0/R-0LnR96Wyk/s0/elephant%2520mandy2%2520mag%25204.jpg)(https://lh6.googleusercontent.com/-0mUTXgIpAHc/UGdimh1ERpI/AAAAAAAABsM/G1Nshf76qRs/s288/elephant%2520magstyle%2520mandy2%2520mag%25202.jpg) (https://lh6.googleusercontent.com/-0mUTXgIpAHc/UGdimh1ERpI/AAAAAAAABsM/G1Nshf76qRs/s0/elephant%2520magstyle%2520mandy2%2520mag%25202.jpg)

  The z^2 z^2 is a lot more connected- looks a lot better on the stalk end.  Combining with the z^4 makes the elephant valley end look sort of cool though....


Title: Re: An old formula revised
Post by: Alef on September 30, 2012, 05:08:55 PM
Now colouring is much more easy to use. Just scroll the switches and watch the result. Probably RGB is just more natural than CMY. There are blue jeens and red vine, but no cyan jeens and magenta vine.

Default version of Mag with 4 spikes cutted at z=0. It seems like Fracmonk multipowerbrot or carlson continiued fraction function, but it needs realy big picture for a nice look and Chaos Pro a bitt optimised furthest side of fractal.

Throught I used different colouring, bcos of electric lines.
(http://www.ljplus.ru/img4/a/s/asdam/Fatbird_Logtri.jpg)


Title: Re: An old formula revised
Post by: M Benesi on October 01, 2012, 03:51:56 AM
  You should try switching and editing the palettes- it allows you much quicker (and better) manipulation of the colors.  Palette mode allows the coolest stuff- and keep in mind, if you increase iterations a lot, you might want to set the color iteration back to a higher number!  

I better find out what I should use to capture a video of me doing stuff in ChaosPro so I can create a tutorial.  

  Now, zooming into certain places on the fractal, and setting the iteration count correctly reallllly helps with the details- it will be fuzzy if the iteration count is too high.  I need to think about this a bit- I'm currently playing with the idea of porting this specific formula to fragmentarium- but have a couple other things on my plate for now.

   We need a video or 2 as well...  

  Here is the latest update to the formulas.  The top 2 formulas in the list are now "fast" in ChaosPro- I removed the trig functions and used complex numbers instead.  This is a LOT faster for integer exponents, but it still has to use trig functions for non-integer z^n.

  As always, change the .txt file extension to .cfm before dropping the formula into your compiler directory.



Title: Re: An old formula revised
Post by: Alef on October 03, 2012, 04:43:59 PM
Palletes are superiour. But I like cosmic looks of direct RGB colouring, so I mixed them together by means of harmonic mean. From the start this was intended to be like Fractal Explorer "log counting". But since no sorce codes, not so simmilar, but FE used simmilar aprouch.

IMHO fractional powers are good if you want to animate power change, so not so great trade off;) Fragmentarium probably have one of the best raytracers, there were some photorealistic fragmaentarium fractal images, what couln't be said about Chaos Pro, just it don't works on certain machines.  

Here I have cutout at z=0 of zooms of mag with 4 spokes.

Rear end of m-set.
(http://www.ljplus.ru/img4/a/s/asdam/Fatbird_zz_rear.jpg)

Side bulb zoom.
(http://www.ljplus.ru/img4/a/s/asdam/Fatbird_zz_left.jpg)

Whole julia set with julia seed =0,0,0,0. When increasing julia seed fractal tends to dissapear into some chaotic fuzzyness, maybe this have something to do that mag aren't absolutely solid like quaternions.
(http://www.ljplus.ru/img4/a/s/asdam/Fatbird_z_Julia.jpg)


Title: Re: An old formula revised
Post by: M Benesi on October 04, 2012, 01:46:19 AM
  Asdam-  Try doing less iterations.  In other words, the initial value of 10 iterations is too many for this fractal type.

  Start at 4 iterations.  Increase to 5 iterations if you're zooming in a bit.  Go up to 6 iterations if you're zoomed in even more.

  This fractal will always be "fuzzy" if you use too many iterations- it lacks the smooth whipped cream sections of the Mandelbulb.  You will find that you get much better images. 


Title: Re: An old formula revised
Post by: M Benesi on October 05, 2012, 07:36:16 AM
  Here is a quick animation of the formula.  Just to show a bit of it.

  http://www.youtube.com/watch?feature=player_embedded&v=Ez7Mf99lCok (http://www.youtube.com/watch?feature=player_embedded&v=Ez7Mf99lCok)



Title: Re: An old formula revised
Post by: M Benesi on October 06, 2012, 03:54:47 AM
  Here is some updated code.

  I'm going to post a quick non-trigonometric z^2,z^2 version (z^2 mag, z^2 mandy).  By non-trigonometric I mean algebraic- it avoids calling trig functions which increases the speed quite a bit.  

  After that, I'll post a newer, easier trig version  (a bit later).  In a while, if anyone is interested in it, I can post the complex numbers version of the formula- it is actually a LOT faster in ChaosPro as it avoids calling trig functions (converting to angle, converting back to cosine and sine, etc.).  

  Here is the z^2,z^2 version:
initialization sequence:
Code:
			
//I decided to use a simpler version of the mag vs. xyz formula
//  It turned out a bit nicer, and a bit quicker to calculate as well
// REMEMBER THIS IS ONLY THE z^2 version, so      !!!!   mag_exponent=2    !!!

d=(mag_exponent + mag_exponent_variable)^2;    //  mag_exponent_variable should default to 1

//  decreasing the variable makes a spikier fractal, increasing it makes it flatter
//  In my ChaosPro formula, I like setting d= mag_exponent  * 1.5   as well, for a
//  slightly more connected higher mag_exponent fractals
//  so for n= 4, d=6   I suppose we could default to:
//  d=(mag_exponent * 1.5 + mag_exponent_variable)^2  with the variable=0 if we wanted

sx= x axis pixel value
sy= y axis pixel value
sz= z axis pixel value

pixelr=x axis pixel value
if (pixelr>0)  then  { pixelr = pixelr*.5 ; }


  That's it for the initialization.  We can eliminate a few square roots below by setting sqrt(1/2), sqrt(2/3), and sqrt(1/3) in the initialization.  I just wanted to leave the formula the way it is so people can see the rotation matrices for now....  

  Here is the iteration loop:
Code:
			whiskey= sqrt(2/3);      //this is our rotation for the x-z plane
tango= sqrt(1/3);

nx= sx  * whiskey - sz * tango;
sz= sx  * tango     +  sz * whiskey;
sx=nx;

whiskey=sqrt(.5); // this is our rotation for the x-y plane

nx= sx * whiskey - sy * whiskey;
sy= sx * whiskey + sy * whiskey;
sx=nx;

sx=sx^2;
sy=sy^2;
sz=sz^2;
r=sx+sy+sz;

nx= (sx+r) * (d*sx-sy-sz) / (d*sx+sy+sz) + seed;  //seed should default to -.5
ny= (sy+r) * (d*sy-sx-sz) / (d*sy+sx+sz) + seed;  // that is negative 1/2....
sz= (sz+r) * (d*sz-sx-sy) / (d*sz+sx+sy) + seed;

sx=nx;        // make sure you don't try to avoid this step!
sy=ny;       //

whiskey= sqrt(.5); //time to rotate to the mandy!!!
tango= -whiskey;   // notice the negative in this one!

nx=sx * whiskey -sy * tango;
sy=sx * tango + sy * whiskey;
sx=nx;


whiskey= sqrt(2/3);  
tango= -sqrt(1/3);   //notice the negative sqrt in this one?

nx= sx  * whiskey - sz * tango;
sz= sx  * tango    +  sz * whiskey;
sx=nx;

// time for our Mandy calculation-  I've tried all kinds, this is the one I like most
//  USE IT... IT is WAY BETTER!!@!#!@

sx2=sx^2;   // don't need the additional variable- you can just square more than once
sy2=sy^2;
sz2=sz^2;

nx=sx2-sy2-sz2;
r3=2*sx/sqrt(sy2+sz2);   //as long as sy2+sz2 != 0  of course.... :D

nz =r3*(sy2-sz2);    // NOTE THAT Y AND Z VALUES ARE SWITCHED!#!@$#!
ny =r3*2*sy*sz;      // Best for z^2... and other n=even    but for odd n you  
   //  want ny to be the first one and nz to be the second  (switch back)


sx= nx + pixelr; //  you might want to allow julia values to be added in
sy= ny; //  as well-- and have the option of leaving out "pixelr"
sz= nz; //   if only using julia values

//check bailout       sx^2+sy^2+sz^2.... etc.

  All right.  I think that's it for the z^2 z^2 version.  The multiple z^n version can wait for another time.  It's basically the formula I posted back on page 4 of this thread, with a modified initialization that really helps with the details for higher n (n>2).  

  The z^2 z^2 is really cool.  

  The complex numbers version of the formula is really cool as well, and it's FAST compared to using trig functions.  I actually wonder why people use so many trig functions- are GPUs really so optimized that the additional cycles of computation for trig functions are faster than avoiding them?



  Noticed something interesting.  You can add in the previous iterations X Value to the new iterations X Value and you get an interesting fractal as well.  Different, of course...


  Here is a z^2 with mag_exponent_variable=3, followed by part of the "flat mandy" type's elephant valley.
click to ENLARGE (especially the first one...)
(https://lh6.googleusercontent.com/-qaaWQXWkBSk/UG-1Rx3LmYI/AAAAAAAABss/iQNL2y12DVI/s400/this%2520one%2520is%2520plus%25203%2520mag%2520exponent.jpg) (https://lh6.googleusercontent.com/-qaaWQXWkBSk/UG-1Rx3LmYI/AAAAAAAABss/iQNL2y12DVI/s0/this%2520one%2520is%2520plus%25203%2520mag%2520exponent.jpg) (https://lh3.googleusercontent.com/-Us65eXF8ip0/UG-1VdLGBlI/AAAAAAAABss/pHEpPBgWfYo/s288/flat%2520mandy%2520elephant%2520valley.jpg) (https://lh3.googleusercontent.com/-Us65eXF8ip0/UG-1VdLGBlI/AAAAAAAABss/pHEpPBgWfYo/s0/flat%2520mandy%2520elephant%2520valley.jpg)

  Weird idea:  You know how fractal antennas work very well, based on certain 2 dimensional fractals.  Wonder how these 3 dimensional fractals would work?  What if they absorb energy efficiently?   You know what would be nice, warping spacetime. 


Title: Re: An old formula revised
Post by: jehovajah on October 06, 2012, 09:13:48 AM
The winding of such an antenna would be a problem all of its own! Still I am fairly sure a robotic system could be set up to wind or weave a good approximation. Would need to be careful of the dipole domains created by such a winding, because they could cancel each other out and make it just a twisted lump of metal rather than a super antenna . :embarrass:


Title: Re: An old formula revised
Post by: M Benesi on October 06, 2012, 10:32:46 PM
The winding of such an antenna would be a problem all of its own!  Still I am fairly sure a robotic system could be set up to wind or weave a good approximation.
  With new 3d printing technology, and CNC fabrication machinery, it's becoming easier.

Would need to be careful of the dipole domains created by such a winding, because they could cancel each other out and make it just a twisted lump of metal rather than a super antenna . :embarrass:
  Yeah.  It's a neat idea, although it might not work.  I'd definitely say try it before ruling out any interesting effects because of predicted canceling of signals. 

  I recently heard that some mechanical engineers proved (mathematically) that a specific piece of machinery could not work- but the machinery works. 

  In other words, a mathematical construct using known physical laws failed to work, yet the machinery works.  The same could be true for many things.


Title: Re: An old formula revised
Post by: hobold on October 07, 2012, 01:14:40 AM
Weird idea:  You know how fractal antennas work very well, based on certain 2 dimensional fractals.  Wonder how these 3 dimensional fractals would work?  What if they absorb energy efficiently?   You know what would be nice, warping spacetime. 
Trees (the ordinary plant life, not the abstract specimen of computer science) distribute their leaves fractally within a volume of 3-space. They do that with a fractal support structure made of wood.

Or in other words: your intuition was is good, trees do absorb both sunlight and carbon dioxide very efficiently. :)


Title: Re: An old formula revised
Post by: M Benesi on October 07, 2012, 02:03:07 AM
  About 40 minutes into the following documentary (PBS Nova- Fractals -  Hunting the Hidden Dimension), they do a little real world measurement of fractal like behavior of trees in a forest. 

  Probably what sparked my intuition....

http://www.youtube.com/watch?v=LemPnZn54Kw&feature=related (http://www.youtube.com/watch?v=LemPnZn54Kw&feature=related)


Title: Re: An old formula revised
Post by: cKleinhuis on October 07, 2012, 03:03:50 AM
i knew this video already, thank you for reminding me of that, more examples of usage of fractal dimension analysis for real lifers :D


Title: Re: An old formula revised
Post by: Alef on October 07, 2012, 05:29:21 PM
As far as I understand, fractal antenna works not becouse it is fractal, but becouse in single wire it contains many different lenghts and effectively fills the space. Each wavelenght requires different lenght of antenna. So antennas can have not only fractal pattern.  

Probably trigonometry is so popular becouse people understand it. Throught for a practical aplication I would prefare Pythagoras. There should be fractal honoring Pythagoras.

This one rendered pretty fast. Alsou increasing bailout value to some 1.0E20 made it smoother like lowering maximal iterations.

(http://fc04.deviantart.net/fs70/f/2012/281/1/a/1a08bee05e4738c6670532d4b82c824d-d5h68we.jpg)

Chaos Pro parameter:
Code:
Clock_of_Branches  {
  credits="Asdam1;10/3/2012/20/17"  commentTemplate="Saved on $month$\
  , $day$ $year$ at $hour$:$min$:$sec$\nDate: $date$\nTime: $time$\nR\
  esolution: $xdots$ x $ydots$\nCalculation time: $calctime$\nVersion\
  : $version$"
  CommentText="Saved on Oct, 7 2012 at 14:20:28\nDate: Oct 7, 2012\nT\
  ime: 14:20:28\nResolution: 480 x 360\nCalculation time: 00:05:29.22\
  4\nVersion: 4.0"
  creationTime=2012/10/3/20/17/28 saveTime=2012/10/7/14/20/28
  Creator="Asdam1" ModifiedBy="Asdam1" calcTime=329224 version=4.0
  Type=Quaternion Subtype=0 Width=480 Height=360 DisplayDepth=24
  gamma=+0.9 DOFEnabled=+1 DOFAperture=+0.125
  DOFFocalLength=+0.0776496875522733
  DOFPlaneDistance=+0.155299375104547 FogEnabled=+1 FogRed=220
  FogGreen=220 FogBlue=225 FogFront=+0.0640387280666078
  FogBack=+0.367712871807473 FogDensity=+3.01734853216892
  FogLinear=+0.05 FogSquare=+0.05 FogExp=+0.2
formula:
  filename="Mag xyz forms.cfm" entry="cp_85362" p_bailout=1e+020
  p_inversebailout=0 p_fractaltype="Mag Mandy 2 fast"
  p_colortime="Post Mandy Post Rotation" p_pixelmode="+ no abs"
  p_symmetrymode="YZ Switch     very nice" p_seed=-0.5 p_juliaMode=0
  p_Detail_Switch=0 p_bmode="Pi/2" p_checkvarset=2 p_amode="b^(3-n)"
  p_checkvarsetA=0.1 p_radswitch=0 p_n=2 p_pixeln=2 p_c=0/0/0/0
  p_addyzpixel=0 p_spokes=3 maxiter=8 highresmult=15 backtrace=10
inside:
  filename="NumberSeekerColouring.ccl" entry="LogTrichrome"
  p_pallete="Mixed Harmonic" p_posneg=0/0
  p_lgtype="4- Double logarithm" p_darkness=2 p_postfn="1- None"
  p_switchRB=1 p_baseR=1.35 p_baseG=1.55 p_baseB=1.65 solid=0
  background=0
dimensional:
  observer=0.09852919331003/-0.039523053619068/-1.0256463577236
  topview=0.036309924537838/0.94781697512594/-0.31674054215267
  viewpoint=-0.66014169536182/1.0138011158943/2.0393583267432
  backClippingPlane=3.3285493523157 viewangle=32
lighting:
  lightModel=0 light0Shadow=yes light1Enabled=yes light1Shadow=yes
gradient:
  smooth=yes colormodel=CM_RGB knotmode=all dragknotmode=global
  Offset=0 knotrgb=(8,252,164,80) knotrgb=(20,132,138,32)
  knotrgb=(30,80,118,200) knotrgb=(31,85,116,193)
  knotrgb=(59,252,4,0) knotrgb=(75,80,0,80) knotrgb=(79,84,0,85)
  knotrgb=(107,112,26,120) knotrgb=(109,100,28,107)
  knotrgb=(126,0,1,0) knotrgb=(127,5,0,0) knotrgb=(176,252,164,0)
  knotrgb=(187,252,252,0) knotrgb=(219,252,252,252)
  knotrgb=(220,252,252,248) knotrgb=(251,252,188,128)
}


Title: Re: An old formula revised
Post by: M Benesi on October 08, 2012, 01:57:30 AM
Nice job getting it to render smoothly. 

  Keep in mind, due to the nature of escape time fractals:

  less iterations= less time to calculate
  higher bailout= more time to calculate


Title: Re: An old formula revised
Post by: M Benesi on October 08, 2012, 01:58:18 AM
i knew this video already, thank you for reminding me of that, more examples of usage of fractal dimension analysis for real lifers :D


  I can't remember where we post videos of fractal stuff (not in movies, obviously).  ??   derp derp  ??

  Update:  I've found that this formula allows adding in old x,y, and z values to the end of certain parts, and simply the x old x value after the Mandy part.  You can combine adding/subtracting the values in different ways (including using the absolute value of the old components).

  Here are a couple images using z^2 - z/2  for the Mag portion- it really works quite nice.  Second one I add in a portion of the yz pixel component- I like the way it works with this option.  A bit sharper.
click to ENLARGE
(https://lh4.googleusercontent.com/-SQgIcA_RJtg/UHJN_aBoV4I/AAAAAAAABtM/QHWoumNVRLw/s400/cool%2520switch%2520mode%2520xyz%2520min%2520wvu%2520mag.jpg) (https://lh4.googleusercontent.com/-SQgIcA_RJtg/UHJN_aBoV4I/AAAAAAAABtM/QHWoumNVRLw/s0/cool%2520switch%2520mode%2520xyz%2520min%2520wvu%2520mag.jpg)(https://lh4.googleusercontent.com/-Mj_yuhmXb4U/UHJN_RlcnEI/AAAAAAAABtM/HTftYiO9_Ck/s288/cool%2520switch%2520mode%2520and%2520yz%2520pixel.jpg) (https://lh4.googleusercontent.com/-Mj_yuhmXb4U/UHJN_RlcnEI/AAAAAAAABtM/HTftYiO9_Ck/s0/cool%2520switch%2520mode%2520and%2520yz%2520pixel.jpg)


Title: Re: An old formula revised
Post by: M Benesi on October 11, 2012, 03:35:04 AM
  As you zoom into one of the central "Chinese paper fans", the number of outer fan blades increases:

(https://lh4.googleusercontent.com/-ZKSqsNB_W80/UHYhWbKcZJI/AAAAAAAABt0/m0TVXFFTcA4/s288/zoomin%2520on%2520center.jpg) (https://lh4.googleusercontent.com/-ZKSqsNB_W80/UHYhWbKcZJI/AAAAAAAABt0/m0TVXFFTcA4/s0/zoomin%2520on%2520center.jpg) (https://lh5.googleusercontent.com/-n_pKk02E6Ms/UHYhW14TiiI/AAAAAAAABt0/eWtIoQPAiX4/s400/zoomin%2520on%2520center%2520more.jpg) (https://lh5.googleusercontent.com/-n_pKk02E6Ms/UHYhW14TiiI/AAAAAAAABt0/eWtIoQPAiX4/s0/zoomin%2520on%2520center%2520more.jpg)

  Here's a random image, subtracting the beginning of the mag part from the end of it on the left.  On the right, it's adding the starting x component (before the mandy part) to the ending x component (after the mandy part).  The asymmetry is because I added in the YZ pixel portions during the Mandy part...  Make it have lots of little interesting details.
(https://lh4.googleusercontent.com/-w0fRNViuUhk/UHYhWXqY5jI/AAAAAAAABt0/ZdOpRBICe2M/s288/mossy%2520top.jpg) (https://lh4.googleusercontent.com/-w0fRNViuUhk/UHYhWXqY5jI/AAAAAAAABt0/ZdOpRBICe2M/s0/mossy%2520top.jpg)  (https://lh6.googleusercontent.com/-bPVsqa3wNis/UHYta7sEqhI/AAAAAAAABuM/myfreHa9DMU/s288/clam%2520shell.jpg) (https://lh6.googleusercontent.com/-bPVsqa3wNis/UHYta7sEqhI/AAAAAAAABuM/myfreHa9DMU/s0/clam%2520shell.jpg)


Title: Re: An old formula revised
Post by: jehovajah on October 12, 2012, 08:26:33 AM
http://www.fractalforums.com/mandelbulb-renderings/mandelbulb-renderings/msg9603/#msg9603

Kram1032 produced this many moons ago. Any chance of reworking this with your magic? First you might need to see if Chaos pro can do the sphere inversions.


Title: Re: An old formula revised
Post by: M Benesi on October 12, 2012, 09:42:23 AM
  I don't know how to do it.  An IFS, or maybe Indra's pearls 3d???  I'd think, from what Kram1032 said, it's some type of IFS.  If David Makin notices your post, I'd think he could tell you or at least point you in the right direction (I recall him talking about various IFS topics). 

  We'll see... someone will figure it out.  :)

  Jos Leys is the one who created the image.  He's got a pretty awesome website with lots of nice images:

http://www.josleys.com/index.php (http://www.josleys.com/index.php)

Maybe... I don't think it is Indra's pearls.. but here is a link for you to peruse at leisure:

http://klein.math.okstate.edu/IndrasPearls/ (http://klein.math.okstate.edu/IndrasPearls/)



Title: Re: An old formula revised
Post by: kram1032 on October 12, 2012, 01:10:00 PM
Uhm, jehovajah, I didn't produce that.
It's from somewhere on this awesome fractal site:
I put a collection of my Ultrafractal  efforts in 3D fractals (Mandelbulb and others).
See http://www.josleys.com (http://www.josleys.com)


Title: Re: An old formula revised
Post by: David Makin on October 12, 2012, 01:55:46 PM
  I don't know how to do it.  An IFS, or maybe Indra's pearls 3d???  I'd think, from what Kram1032 said, it's some type of IFS.  If David Makin notices your post, I'd think he could tell you or at least point you in the right direction (I recall him talking about various IFS topics). 
<snip>


I haven't done anything like these myself, at least not in 3D - but I think there may be something along these lines in reb.ulb for UF as I seem to recall Ron Barnett doing some sphere inversion formulas a bit like Jos Leys' ones - unfortunately I believe Jos is contract bound to keep his Indra's Pearls formulas private - something to do with a book he did ?

However I was thinking about trying a method I used in 2D but using quaternions or hyoercomplex/bicomplex or triplex etc. - specifically a full or restricted escape-time IFS where one or more of the transforms is a julia set and others are just affine - if the julia is the equivalent of z^2+zero then obviously the result will be made from spheres (or equivalent if using bicomplex).




Title: Re: An old formula revised
Post by: jehovajah on October 14, 2012, 04:51:04 AM
Respect JosLeys!

Maybe JosLeys could work with you on this Matt ?

Twinbee has seen the spheres at the extreme limit of the Mandelbulb power8, and that in itself is satisfying confirmation of the correlation of the process for both 2d and 3d. The extra degrees of freedom in the 3d case are what have to be sifted through to find the holy grail, but some way of clearing the mist of spheres has to be in place, and yours is the only one I am currently aware of.

It is not just a question of surface determination, or pixel  connectedness, a subject we discussed briefly many months ago now. I think that we have good grounds to expect small spherical regions to be obscuring the larger connected mass of spheres even close to the main body. This is why I find your results interesting.


Title: Re: An old formula revised
Post by: M Benesi on October 14, 2012, 08:10:11 AM
unfortunately I believe Jos is contract bound to keep his Indra's Pearls formulas private - something to do with a book he did ?

  I don't know- the link to the "Indra's Pearls" site above is from Jos Leys' website, and it has links to a book on Indra's Pearls, in addition to a LOT of information about them.  There is even a course that I am checking the notes of at the moment:
http://klein.math.okstate.edu/IndrasPearls/Wonders/

 The course is from the main Indra's Pearls site:

http://klein.math.okstate.edu/IndrasPearls/

  The link for which I found on Jos Leys site here:

http://www.josleys.com/links.php

Quote
However I was thinking about trying a method I used in 2D but using quaternions or hyoercomplex/bicomplex or triplex etc. - specifically a full or restricted escape-time IFS where one or more of the transforms is a julia set and others are just affine - if the julia is the equivalent of z^2+zero then obviously the result will be made from spheres (or equivalent if using bicomplex).

  Definitely sounds like it would work.

  I think I remember someone doing a 3d Julia of spheres a while back as well.  Can't recall though... perhaps a "3d julia spheres" search is in order.  :D


Title: Re: An old formula revised
Post by: M Benesi on October 14, 2012, 08:43:59 AM
Respect JosLeys!

Maybe JosLeys could work with you on this Matt ?
 He is probably busy doing important stuff.  :D

It is not just a question of surface determination, or pixel  connectedness, a subject we discussed briefly many months ago now. I think that we have good grounds to expect small spherical regions to be obscuring the larger connected mass of spheres even close to the main body. This is why I find your results interesting.
 I do like the spheres.  

  The following is an interesting idea.. but it will cut out many sections of the secondary fractal.  It might do it in an interesting way.
 I think our best bet (to the grail) is taking a rather complicated route.  We'd need to calculate each yz plane independently, using the radius of a 2d Mandelbrot at that point.

  By yz plane, I mean each point on the x- axis is an individual yz-plane.  

  at each x,  we would calculate the first  R that was within the 2d Mandelbrot.      z^n = (x + i R)^n

  Start at   R=2, and subtract from R incrementally until the point (x,R) is within the set.  


  Divide our yz plane components by R and calculate the whole plane (y + iz)^n.  It will be one flat 2d Mandelbrot.  Keep all points within the set- we will remove interior points later.

  Starting from that R, subtract from R incrementally until the point (x,R) is outside of the set.

  Divide our yz plane component by the new R and calculate the whole plane.  All of the points within the 2d Mandelbrot we calculate with the new R are OUTSIDE the 3d set.  

  Starting from that R, subtract from R incrementally until the point (x,R) is inside the set.

  Divide out yz plane component by the new R and calculate the whole plane.  Put all these points IN the set.

  Starting from that R, subtract from R incrementally until the point (x,R) is outside the set.

  Make all points within the new yz/R fractal outside the set.  Next R will be inside the set (you see the pattern?).

  Keep on repeating until R=0.  At this point, move on to the next yz-plane (the next x point, determined by whatever your x resolution is...).  Now repeat from the top.  


   This will work because dividing the yz components by a small number (say at x=-1.8, you will have a small R) will make them a lot larger.  This means you get a much smaller fractal for that particular plane (yz plane at x=-1.8).  You will get the same exact fractal (y+ iz)^n, it will just be scaled down.  

  If you want the claimed "Grail" look, you'd need to calculate the YZ 2d Mandelbrot as a z^5.  I always thought there would be an additional asymmetry due to the additional axis (the +/- x asymmetry, and an additional  +/- extra axis asymmetry), which would compound the asymmetry of the whole beast.

  I suppose someone has to implement this somewhere... I wouldn't mind seeing it, but it's  rather hard in ChaosPro.

  I think I'll have to repeat yz plane R calculations for EVERY pixel.  It would be MUCH easier if I could do the whole plane at a time- which I can't.  


Title: Re: An old formula revised
Post by: Alef on October 23, 2012, 05:53:49 PM
   I think our best bet (to the grail) is taking a rather complicated route.  We'd need to calculate each yz plane independently, using the radius of a 2d Mandelbrot at that point.

  By yz plane, I mean each point on the x- axis is an individual yz-plane.  

  at each x,  we would calculate the first  R that was within the 2d Mandelbrot.      z^n = (x + i R)^n

  Start at   R=2, and subtract from R incrementally until the point (x,R) is within the set.  


  Divide our yz plane components by R and calculate the whole plane (y + iz)^n.  It will be one flat 2d Mandelbrot.  Keep all points within the set- we will remove interior points later.

  Starting from that R, subtract from R incrementally until the point (x,R) is outside of the set.

  Divide our yz plane component by the new R and calculate the whole plane.  All of the points within the 2d Mandelbrot we calculate with the new R are OUTSIDE the 3d set.  

  Starting from that R, subtract from R incrementally until the point (x,R) is inside the set.

  Divide out yz plane component by the new R and calculate the whole plane.  Put all these points IN the set.

  Starting from that R, subtract from R incrementally until the point (x,R) is outside the set.

  Make all points within the new yz/R fractal outside the set.  Next R will be inside the set (you see the pattern?).

  Keep on repeating until R=0.  At this point, move on to the next yz-plane (the next x point, determined by whatever your x resolution is...).  Now repeat from the top.  


   This will work because dividing the yz components by a small number (say at x=-1.8, you will have a small R) will make them a lot larger.  This means you get a much smaller fractal for that particular plane (yz plane at x=-1.8).  You will get the same exact fractal (y+ iz)^n, it will just be scaled down.  

  If you want the claimed "Grail" look, you'd need to calculate the YZ 2d Mandelbrot as a z^5.  I always thought there would be an additional asymmetry due to the additional axis (the +/- x asymmetry, and an additional  +/- extra axis asymmetry), which would compound the asymmetry of the whole beast.

  I suppose someone has to implement this somewhere... I wouldn't mind seeing it, but it's  rather hard in ChaosPro.

  I think I'll have to repeat yz plane R calculations for EVERY pixel.  It would be MUCH easier if I could do the whole plane at a time- which I can't.  [/size]

IMHO if something is very hard for Chaos Pro compiler it would be almoust impossible for more restricted Mandelbulb3D or much harder language of Fragmentarium.

But this method sounds as the most realistic way to get to 3D Mandelbrot. Maybe this could be simpified using Distance Estimation or some analytical method like that. Maybe this would allow to get rid of some of the most complex steps. Never coded any distance estimated fractal, and had forgot all of derivatives, becouse they are pretty useless in real life aplication, but having some sort of non-iterating formula for needed variable could make it more easy. Arrays of stored variables or doble loop would be overkill.

Throught some ideal naturalistic pattern xxxbox fractal could be as good target as 3D mandelbrot;)


Title: Re: An old formula revised
Post by: M Benesi on October 24, 2012, 09:02:28 PM
  I'm not even sure the method will work.  I've taken fractals of different sizes and overlapped them- end up with lots of discontinuities.  I'll eventually implement a 2d version for quick tests of the algorithm, then extend that up to 3d (easily, as the algorithm is a 2d slice of a 3d object). 

  As to programming difficulties-

  In ChaosPro the difficulty is in being able to address a single yz plane at a time.  It takes a lot of time to recalculate the various Rs for every pixel in a yz plane.  In other words, it would be quicker to calculate the Rs one time for the whole plane.

  <I assume> Fragmentarium can be programmed to do so.  I just need to learn to program it- perhaps doing a dry run with the formula from this thread. 


Title: Re: An old formula revised
Post by: hgjf2 on October 25, 2012, 07:05:21 PM
Ask:  how to winning the prises for the FRACTALFORUMS competitions? The prises come via post or on card?


Title: Re: An old formula revised
Post by: Alef on October 28, 2012, 07:20:00 PM
Ask:  how to winning the prises for the FRACTALFORUMS competitions? The prises come via post or on card?

:hurt: What competitions? Why do you ask here and not dedicated pages. And what you expect from enthusiast based community :wtf:


Title: Re: An old formula revised
Post by: hgjf2 on October 29, 2012, 08:55:18 AM
:hurt: What competitions? Why do you ask here and not dedicated pages. And what you expect from enthusiast based community :wtf:
I believed and knew that the chapter "The 3D Mandelbulb" being a special fractal competition because have the subchapters "Let's put theory", "Let's put videos", "Let's put mplementations" , "Rendering" same as the chapter "Competitions and contents". And I knew this that current month it posting at some topic
"Old formula revised" exacthly in MAY when working at the annual fractal competitions, and I knew this the chapter have same organisation mode as the chapter "Competition and contents" and this chapter have certain texts and images copied from topic "Competition and contents".


Title: Re: An old formula revised
Post by: Alef on October 30, 2012, 04:00:39 PM
If you meant this:
http://www.fractalforums.com/index.php?action=gallery;cat=3 (http://www.fractalforums.com/index.php?action=gallery;cat=3)

Then you should go here with winers recieving calendars:
http://www.fractalforums.com/5th-annual-fractal-art-competition-2012/competition-2012-and-the-winners-are/ (http://www.fractalforums.com/5th-annual-fractal-art-competition-2012/competition-2012-and-the-winners-are/)

Quest for finding real 3D mandelbrot aka Holy Grail set is something other. If someone would find it, he would have dedicated article in wikipedia and his name eternalised in history of science;)


Title: Re: An old formula revised
Post by: Alef on November 06, 2012, 07:16:18 PM
Almoust the same spot, but more colours:
(http://fc05.deviantart.net/fs71/f/2012/311/3/8/clock_of_branches_2_by_edo555-d5k9yx9.jpg)

Code:
Clock_of_Branches_2  {
  credits="Asdam1;10/3/2012/20/17"  commentTemplate="Saved on $month$\
  , $day$ $year$ at $hour$:$min$:$sec$\nDate: $date$\nTime: $time$\nR\
  esolution: $xdots$ x $ydots$\nCalculation time: $calctime$\nVersion\
  : $version$"
  CommentText="Saved on Nov, 4 2012 at 01:44:10\nDate: Nov 4, 2012\nT\
  ime: 01:44:10\nResolution: 480 x 360\nCalculation time: 00:02:07.11\
  8\nVersion: 4.0"
  creationTime=2012/10/3/20/17/28 saveTime=2012/11/4/1/44/10
  Creator="Asdam1" ModifiedBy="Asdam1" calcTime=127118 version=4.0
  Type=Quaternion Subtype=0 Width=480 Height=360 DisplayDepth=24
  gamma=+1.1 roughness=+0.03 AOIntensity=+0.4 DOFEnabled=+1
  DOFAperture=+0.125 DOFFocalLength=+0.0692849163391902
  DOFPlaneDistance=+0.13856983267838 FogEnabled=+1 FogRed=23
  FogGreen=21 FogBlue=137 FogFront=+0.0610336979595676
  FogBack=+0.35890555522641 FogDensity=+3.07612387515116
  FogLinear=+0.05 FogSquare=+0.05 FogExp=+0.2
formula:
  filename="Mag xyz forms.cfm" entry="cp_85362" p_bailout=77700000000
  p_inversebailout=0 p_fractaltype="Mag Mandy 2 fast"
  p_colortime="Post Mandy Post Rotation" p_pixelmode="+ no abs"
  p_symmetrymode="YZ Switch     very nice" p_seed=-0.5 p_juliaMode=0
  p_Detail_Switch=1 p_bmode="Pi/2" p_checkvarset=2 p_amode="b^(3-n)"
  p_checkvarsetA=0.1 p_radswitch=0 p_n=2 p_pixeln=2 p_c=0/0/0/0
  p_addyzpixel=0 p_spokes=3 maxiter=7 highresmult=10 backtrace=10
inside:
  filename="NumberSeekerColouring.ccl" entry="LogTrichrome"
  p_pallete="Fractal Explorer like" p_posneg=0/0
  p_lgtype="1- Triple logarithm" p_darkness=3 p_postfn="1- None"
  p_switchRB=0 p_baseR=1.35 p_baseG=1.55 p_baseB=1.65 solid=0
  background=0
dimensional:
  observer=0.09852919331003/-0.039523053619068/-1.0256463577236
  topview=-0.051677551569366/0.94569859380349/-0.32091057997811
  viewpoint=-0.49607723609472/0.98369642435929/2.0854540178502
  backClippingPlane=3.3285493523157 viewangle=36
lighting:
  lightModel=0 light0Shadow=yes light1Enabled=yes light1Shadow=yes
  light4Enabled=yes light4Shadow=yes
gradient:
  smooth=yes colormodel=CM_RGB knotmode=all dragknotmode=global
  Offset=0 knotrgb=(0,255,248,231) knotrgb=(43,128,0,64)
  knotrgb=(85,255,248,231) knotrgb=(127,255,120,70)
  knotrgb=(170,34,33,25) knotrgb=(214,165,217,0)
}


Title: Re: An old formula revised
Post by: M Benesi on November 07, 2012, 02:55:10 AM
  Candyland.  :D

   I've noticed that this particular fractal type allows a lot of mathematical manipulations, and maintains fractally goodness, a lot like the 2d Mandelbrot. 

  Eventually I'll get around to posting some of the various things one can do.  For now, we are still waiting on an implementation by Luca (DarkBeam).    Luca- if you notice this, you might want to implement this formula in a totally different way.  I'll put up some code eventually- it will be a LOT simpler than the original code I posted for you. 

  I've also figured out, or in all likelihood rediscovered, a few more "transforms" that can be applied to a majority of (2d and 3d) fractals. 


Title: Re: An old formula revised
Post by: Alef on November 08, 2012, 03:39:21 PM
You 'll be more sucsessfull with syntopia. Darkbeam and Jesse for some time had halted programming  :beer:


Title: Re: An old formula revised
Post by: M Benesi on November 09, 2012, 03:43:42 AM
  Cool.  I understand the need for a break now and then. 

  I've been thinking about fragmentarium for a bit... just taking a break for a while.   


Title: Re: An old formula revised
Post by: M Benesi on November 17, 2012, 09:53:52 AM
Fragmentarium code is over in the "non-de" thread.  I'll copy it over here when I iron it out.  For now, check out the gears grinding away.  I'll update ChaosPro code with this (rotation type) option in a bit:

http://www.youtube.com/watch?edit=vd&v=Ih4k5KZAVxg (http://www.youtube.com/watch?edit=vd&v=Ih4k5KZAVxg)

  Here is the new very interesting hollow z^2 Mandy type, based on this same formula.

 (http://www.youtube.com/watch?edit=vd&v=Au8iBwCbaIE[/url)


Title: Re: An old formula revised
Post by: M Benesi on March 16, 2013, 05:41:05 AM
  Ok.  I never updated the ChaosPro code to add in the above variant (hollow one above this post- second youtube clip). 

  After rotating the x axis to the vector (-1,-1,-1) to (1,1,1), don't use the mag xyz formula.

  Use :
Code:
nx= 2*(abs(sx) + seed);   //  with seed around -.5   
ny= 2* (abs(sy)+seed);
nz=2* (abs(sz)+seed);
  Now rotate back from the vector axis to the x axis. 

  You can combine the result of this with the mag xyz- just calculate each separately and vary the weight of each part as you wish.

  Anyways, it's a nice little trick you can do with any of the rotation based fractals.  I implemented this in the fragementarium code for this fractal (in the "non-de" thread), although I haven't gotten around to creating a coloring method that allows the bling of ChaosPro palette mode for fragmentarium. 


Title: Re: An old formula revised
Post by: laser blaster on April 13, 2013, 10:56:24 PM
Wow, that's fantastic! ;D I don't know if it's the holy grail, but it sure looks like it.I'd love to see some pictures of the full XYZ Mandy version, even if it's a chaotic mess.

I'm trying to understand the math behind what you did here. Looking at the code on page 4, in the initialization code, it looks like you first rotate the coordinates such that the former x-axis aligns with the axis (1,1,1). Then you initialize two variables A and B. Moving on to the iteration part, it looks like you convert the coords to polar form, multiply the angles by pixeln(which I assume is just the chosen power, i.e. 2), convert back to standard form, and add a seed to the X,Y,Z values.

But there are some things I don't understand. It looks like you do more than the typical "multiply the angles by n and raise the length to power n". What do r1, r2, and r3 do? And what role do the a and b variables play? The math of it is all right there on the page, but I don't have a full grasp of what it actually does, in geometric terms.

Then the rest seems easy enough to understand. First you de-rotate everything back towards the x-axis. Then you add in the initial (unrotated) x pixel component. Then you do the detail switch, and rotate the whole thing once again.

It would be awesome if you could clear up my points of confusion, and any misconceptions I have about the formula. Thank you for your time.


Title: Re: An old formula revised
Post by: M Benesi on April 29, 2013, 07:43:09 AM
  I've been in the middle of moving my parents, and now I have a lot of stuff to take care of at their new place.  I've a bunch of stuff to take care of over the next week or so, but hopefully will have a bit of free time to explain things.

  Basically, there is a 45 degree rotation, followed by a (90-54....) degree rotation (90-magic angle (http://en.wikipedia.org/wiki/Magic_angle)).  This rotates to the 1,1,1 axis; then one later *** rotates back to the x-axis by reversing the process (or maybe I have it backwards- relatively buzzed right now, and definitely not in the mood to check my math). 

  ***  Rotate back to the other axis after applying the transform, which can be any transform one desires, as long as it works.  Which isn't saying much. 

  For example:

  take all 3 coordinates absolute value and subtract 1 (or something else) from them, assigning the new values to the corresponding coordinate ******, then rotate back. 


******  such as x=  abs (x) - 1;     y = abs (y) -1; .....


  Anyways, pretty awesome what one can get with this simple trick.  Too bad I've been pulling oranges out of the apple bin for a while.  Or maybe not.  I hate apples.


Title: Re: An old formula revised
Post by: jehovajah on May 02, 2013, 03:50:29 AM
Fragmentarium code is over in the "non-de" thread.  I'll copy it over here when I iron it out.  For now, check out the gears grinding away.  I'll update ChaosPro code with this (rotation type) option in a bit:

http://www.youtube.com/watch?edit=vd&v=Ih4k5KZAVxg (http://www.youtube.com/watch?edit=vd&v=Ih4k5KZAVxg)

  Here is the new very interesting hollow z^2 Mandy type, based on this same formula.


 (http://www.youtube.com/watch?edit=vd&v=Au8iBwCbaIE[/url)
Wow! Matt. Way cool!

And the gears rotate the right way too!
I am going to need this type of functionality in my fluid dynamic analysis thread at some stage soon .
The rotations preserve the regional boundaries but I want to model fluid flows that persist vortices even as the boundary constituents flow into each other.

The holy grail is an inspiring goal, but dude this is way cooler than that!


Title: Re: An old formula revised
Post by: M Benesi on May 04, 2013, 08:06:46 AM
  Drunk post.  :D     


Title: Re: An old formula revised
Post by: M Benesi on May 25, 2013, 07:32:18 AM
All right.  I made a pretty big error in the math of this formula, although it still turned out pretty nice looking.  Update: on second thought, checked the math, it was correct before.  The version below has the pi/4 rotations, but one should use the pi/2-magic angle versions.  

   Here is a much simpler version to play with (no Mag xyz portion of the formula).

  You can switch the order of the formula, putting the Mandelbulb portion first, then the rotation to the ABS portion, followed by the ABS portion, then the rotation back to the Mandelbulb portion.  If you do switch the order, you probably want to make the new z component (at the bottom of the Mandelbulb portion) negative.  "Trust me, I know what I'm doing."  A great quote...      anyways, switching the order makes it more Mandelbrot shaped.  

sx= part x of pixel
sy= part y of pixel
sz= part z of pixel

whiskey= sqrt(1/2);

Code:
		// rotate to absolute value axis

//rotation around y axis

nx= sx  * whiskey -  sz * whiskey;
sz= sx  * whiskey +  sz * whiskey;
sx=nx;

//rotation around z axis

nx=sx * whiskey - sy * whiskey;
sy=sx * whiskey + sy * whiskey;
sx=nx;

// ABS portion of the formula

sx= 2* abs(sx) - 1;     // you can use different values besides 1,  it's a good arbitrary
sy= 2* abs(sy) - 1;    // starting value... use the same value for all 3 variables!@!!
sz= 2* abs(sz) - 1;    //  bloop

// rotate back to Mandelbulb x-axis

//rotation around z axis

nx= sx* whiskey + sy*whiskey;
sy=-sx* whiskey + sy*whiskey;
sx=nx;

//rotation around y axis

nx= sx  * whiskey +  sz * whiskey;
sz=-sx  * whiskey +  sz * whiskey;
sx=nx;

// Here is the Mandelbulb part

r2=(sqr(sx)+sqr(sy)+sqr(sz))^abs(n/2);  //magnitude

r1=sqrt(sqr(sy)+sqr(sz));   // for the angle

theta=atan2((sx)+flip(r1))*n;
phi=atan2((sy)+flip((sz)))*n;

nx=r2*cos(theta);
nz=(r2*cos(phi)*sin (theta));     // new z and new y are switched to
ny=(r2*sin(phi)*sin (theta));   // make it more symmetric- I like it a bit more  

if (Julia) {
sx=nx + x_component;
sy=ny + y_component;
sz=nz + z_component;
} else {
if (x_pixel<0) {
sx=nx + x_pixel_component;    // whole component below zero
} else {
sx=nx+ .5* x_pixel_component;  //  .5 * component above zero
}

sy=ny;   // no pixel components for these guys!!!
sz=nz;
}

// now check bailout, repeat iteration


(https://lh3.googleusercontent.com/-kWQjAs-YFXM/UaBKVA5KnnI/AAAAAAAACEY/SP7i3KW5jc8/s0/new%2520pi%2520over%25204%2520double%2520type.jpg)

  Here is some interesting math for you:
Code:
			r1=1/sqrt(3);
r2=(1-r1)*.5;
nx=(sx+sy+sz)*r1;
ny=r2*(sy-sz)+(sy-sx)*r1;
sz=r2*(-sy+sz)+(sz-sx)*r1;
sx=nx;
sy=ny;

//rotation around x axis

ny= -sy  * sqrt(1/2) + sz * sqrt(1/2);
sz= +sy  * sqrt(1/2) + sz * sqrt(1/2);
sy=ny;

// is more or less the same as:

//rotation around z axis

nx=sx * sqrt(1/2) + sy * sqrt(1/2);
sy=-sx * sqrt(1/2) + sy * sqrt(1/2);
sx=nx;

//rotation around y axis

nx= sx  * sqrt(2/3) +  sz * sqrt(1/3);
sz= -sx  * sqrt(1/3) +  sz * sqrt(2/3);
sx=nx;



//  (as long as I did the correct rotation directions)


  What is the difference between the 2?  :D  


Title: Re: An old formula revised
Post by: laser blaster on March 28, 2014, 08:36:26 PM
I've been playing around with the fragmentarium version, and it's a very beautiful fractal indeed! Definitely the closest thing to the holy grail yet (visually). There are still plenty of stretched areas, but it's a much nicer looking, more orderly stretch than the whipped cream effect of other formulas. Did you specifically construct the formula to create grail-like features, or did you just stumble onto it by chance? Do you happen to have any insight as to how the formula creates the detailed bulb-on-bulb structure for power 2, when other formulas fail to do so? I'm very curious about this.


Title: Re: An old formula revised
Post by: M Benesi on April 11, 2014, 11:03:17 PM
  Hi LB,

  I don't know if I believe in chance, but I certainly don't have the mathematical skills to construct the formula with a preconceived purpose in mind. 

  I was messing around with various ideas, and they all came to fruition with that formula.  Basically, with "luck" (a greater hand behind my efforts) and perseverance I arrived at the formula. 

  Jesse (and I) did something similar with the Amazing Box fractal a while back by blending the AB fractal with the MandelBulb and got some interesting results.  I had created the non-blended version of this fractal (look towards the beginning of the thread), then attempted to combine the fractal with the MandelBulb and didn't get spectacular results. 

  Because this specific fractal was aligned with the magnitude axis (-1,-1,-1) to (1,1,1), and was very distorted when mixed with the MandelBulb, I eventually came to the idea that the fractal should be rotated in between iterations to successfully combine it with the MandelBulb. 

  Eventually, trying different things lead to the very simple version of the formula-  I was attempting a power 1 version of the Mag vs. XYZ formula from the beginning of this thread and came up with the simplified |x| -1, |y|-1, |z|-1 version.  Which makes me think that the Mag vs. XYZ formula might have a more logically derived version, but I haven't bothered to investigate it yet.

  In other news, I am going to try and implement a new type of periodic function, similar to the exponential function, in Fragmentarium.
   
  A little while back, I had an idea to create a new type of exponential function (e^n) based on my desire to develop a way to divide by zero.  I messed around and found something similar to the exponential function that had a corresponding logarithmic function.  The function allows the input of more than one angle, and creates greater variations over the whole.  If the first angle is pi, the second angle's sin and cosine vary from -1 to 1 and 1 to 3 respectively.  If the first angle is pi/2, the second angle's sin and cosine vary from -2 to 0 and 0 to 2 respectively.  If the first angle is 0, the second angle's sin and cosine are normal (vary the same way).  If the first angle is 3/2 pi, the second angle's sin and cosine both vary for 0 to 2. 

  I've got to check if it's a direct correspondence-  anyways, gotta go. 


Title: Re: An old formula revised
Post by: jehovajah on April 21, 2014, 08:53:00 PM
Interesting. Something in your description reminds me of DeBroglies analogy of corpuscle and associated or corresponding wave.

I would be interested to see the results. ;D


Title: Re: An old formula revised
Post by: M Benesi on May 31, 2014, 08:20:55 AM
  Hey JJ, just checked back in today.  It ended up not working well whatsoever.  hehe...  Don't know if I mentioned it in the other thread I posted about it here, but it ended up being e^(a+b) - e^a.  Nothing spectacular.  This explained the variation of the sin and cosine functions.... sin (a+b) - sin (a) and cos (a+b)-cos(a). 

  Didn't really work all that well at all.


Title: Re: An old formula revised
Post by: kram1032 on May 31, 2014, 09:53:31 AM
dividing by zero is already done by people all the time. It's called taking the derivative :D


Title: Re: An old formula revised
Post by: M Benesi on May 31, 2014, 10:24:44 PM
hey Kram1032... I totally don't get the humor, and that is frustrating....


Title: Re: An old formula revised
Post by: kram1032 on June 01, 2014, 01:49:37 PM
Taking a derivative is essentially the correct way to divide by zero - based on taking the limit.
If you can take the limit, you can divide. If there is no unique limit, you can't.
The notation \frac{d^nf}{dx^n} essentially divides by 0 n times.

Of course, that's not the only case in which you actually can divide by 0.

In case of \frac{\sin{x}}{x}, you can look at the taylor polynomial of \sin{x} which is \sin{x}=\sum_{k=0}^\infty \frac{{\left(-1\right)}^k x^{1+2k}}{{\left(1+2k\right)}!} which, in turn, you can easily divide by x to obtain the series:  \frac{\sin{x}}{x}=\sum_{k=0}^\infty \frac{{\left(-1\right)}^k x^{2k}}{{\left(1+2k\right)}!}.
In doing so, you'll find, that, for x=0, the function returns 1.

Another method to figure out a division by zero is via L'Hôpital's rule:

Take two completely generic functions f\left(x\right) and g\left(x\right).
Let's assume, at a point x_0, g\left(x\right)=0.
Thus \frac{f\left(x_0\right)}{g\left(x_0\right)} would be a division by 0.
However, if this is possible, a value can be found at some point by looking at \frac{f^'\left(x_0\right)}{g^'\left(x_0\right)}.
If that still results in a division by 0 (i.e. g^'\left(x_0\right)=0), you just have to keep going. At some point, the n-th derivative  g^{\left(n\right)} \left( x_0 \right) \neq 0. and the division \frac{f^{\left(n\right)}\left(x_0\right)}{g^{\left(n\right)}\left(x_0\right)} can be done.
The value you get in that case will be precisely the value you'll get for the very first division  \frac{f\left(x_0\right)}{g\left(x_0\right)}.
Technically, to be more exact, you'd need to use limits.
But to cut a long story short, it already is known how to properly divide by 0. You just need to keep track of extra information, namely the behavior of the two functions you divide as the denominator approaches 0. In case of two constant functions, with, say, f\left(x\right)=1 and g\left(x\right)=0, this will just result in a directed infinity.

So really, when people say, dividing by 0 is undefined, what they really mean is, dividing two mere numbers, not functions, by 0, is underdefined. More information can (but doesn't have to) resolve the problems. If the problems remain, you get a singularity. Most singularities, however, can be dealt with pretty well. (Polynomial singularities, namely)
Exponential singularities are rarer but also more problematic.


Title: Re: An old formula revised
Post by: M Benesi on June 01, 2014, 07:12:21 PM
Nicely written, easy to understand.  Always nice to read something written like that.