Logo by LAR2 - Contribute your own Logo!

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

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

this forum will stay online for reference
News: Follow us on Twitter
 
*
Welcome, Guest. Please login or register. March 28, 2024, 12:45:47 PM


Login with username, password and session length


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


Pages: [1] 2   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: It's a Mandelbulb with absolute value of y pixel component... cut out the xtra  (Read 10095 times)
0 Members and 1 Guest are viewing this topic.
M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« on: June 11, 2010, 02:18:53 AM »

  SMALLIFYING IMAGES SO THE REAL "REAL TRUE" 3D FORMULA CAN TAKE PRECEDENCE  it will be posted below in new post

  Works great hybridized with the Mandelbox, lots of interesting patterns, and for whatever reason it is smoother...

  It's a modification of my Type B1 formula.  Doesn't have the whispyness of the old "true mandy" formula, rather it is fractally and zoomable in many locations (although doing 20+ iterations takes a long time, so the higher z^n variations are still going to dominate my fractalling until I get a new computer).  

  Note that it uses different code for the z^3 version (posted at bottom of message).  Not sure about which code segment should be used for each one beyond z^3 (yet)...   The  even n z^n (2,4,6,8....) use the original code.  The odd n z^n (3,5,7,9....) use the new code.  I'm not sure where the flaw is (maybe accumulated errors, but I doubt it) but there is distortion in all versions.  We are using 2 x pixel additions and switching them to achieve balance (between the 2 magnitudes) which leads to accumulated errors as we iterate.

  Anyways, the main point being that the farther you get from the x-axis, the more distorted the fractal gets.  

  Here is my type B3 version of David Makin's minibrot which I think would have a lot more branches if I rendered it better (slower):


  Anyways, I posted the code in another thread, but figured I should post it here as well (was thinking about "Search for the holy grail" thread, but saw that jehovajah said it was getting a little too long, and as I just re-read the original 37 page thread, I wholeheartedly agree).  

  Here is the code, followed by a zoom (to be posted when done with render... about 1 hour and 50 minutes for a 24 iteration 800x800) into either the period 2 or 4 bulb (can't remember which- it is calculating now, maybe even a sub bulb of the 2 or 4):

  Including mathematical translations of code after actual ChaosPro code.  Consider thanking Martin Pfingstl for creating freeware software that allows people with limited resources to do mathematical exploration (and thank the Maxima team).

  Use z^2 version for even n (z^2,4,6,8....) and z^3 version for odd (in other words, z^2 code is z^even code and z^3 code is z^odd code)

Code:
 


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

theta=atan2(sx+flip(sy));    //  atan2 (in ChaosPro syntax) calculates the arctangent of real x plus imaginary y
tango=atan2(sx2+flip(sz));  //  flip (in ChaosPro syntax) multiplies a real value by [i]i[/i]  
                //  so the previous 2 statements calculate the angle between real x and imaginary y for the first angle "theta"
                //  and 'imaginary" z for the second angle "tango"

if (pixelr>0) { //  If the x value of the pixel is greater than zero, use the r3 radius for value nx (the one with the sx2 component)
nx=r3*cos(theta*v);   // this calculates our rotational component, just like in the regular Mandelbulbs you guys know
} else {    //  if the x value is 0 or less, use the r2 radius for value nx (the one with the sx component)
nx=r2*cos(theta*v);  //   in other words: nx = r2 * cosine (angle theta * v)  v is the rotations which is set = to n
}

if (pixelr>0) { //  If the x value of the pixel is greater than zero, use the r2 radius for value nx2 (the one with the sx component)
nx2=r2*cos(tango*v);
} else {   //  if the x value is 0 or less, use the r3 radius for value nx2 (the one with the sx2 component)
nx2=r3*cos(tango*v);
}

ny=r2*sin(theta*v);   //  these are pretty much standard, as are the rest
nz=r3*sin(tango*v);

 if (juliaMode) {   // just a standard if/else statement... if the boolean variable juliaMode is true use the perturbation variables
sx=nx+cr;      // cr is the real perturbation value
sx2=nx2+cr;   // cr is used for both x values
sy=ny+ci;      // ci is used for the y:  The c is pretty standard for fractals, the i is form imaginary
sz=nz+cj;      // cj is used for the z:  the j is used because it pretty much standard for quaternions, and I still use it for z axis
 } else {              // if you didn't set the boolean juliaMode=true (hitting the checkbox) you will do standard Mandelbrot addition
sx=nx+(pixelr);      // of pixel values..  once again use the real (x axis) pixel component for
sx2=nx2+(pixelr);   //  both x values
sy=ny+abs(pixeli);  //  the y axis pixel component
sz=nz+abs(pixelj);  //  the z axis pixel component
 }

 z=quaternion (sx,sy,sz,sx2);  //This statement feeds information to ChaosPro's orbital coloring scheme which allows you to use
  // orbital values of the variables at whatever iteration you pick to assign colors (picks them from a palette you set)

 bail=abs(sx)+abs(sy)+abs(sz)+abs(sx2);   //  and of course bail is the variable I send to the bailout check within ChaosPro
  //  I tend to set bail a bit high ~12-22 just because I do.  Probably eats a few more iterations... but I am not sure of the
 // exact value for 4 variables (8?  16?  12 seems to work... but so does 4... so... hrm...).


  Image will be posted later (1:10:xx left).
  Anyways, the image is crappy.  Just a bad zoom, so I picked out David's old minibrot (more or less) to do a render which should take about 45 minutes to an hour.  I also have a neat area of elephant valley (don't follow the axes, instead pick areas between them for maximum interesting fractallyness) getting done, but the coloring scheme is to show details (set to 3 iterations less than total and .1 speed, offset 55 gives nice details (where it is slightly lower it is dark) but it doesn't give good differences between the big areas.  I'll see if I can get it to show the big details too, but... my coloring scheme skills are severely lacking, just ask Trifox).  

  Here is the elephant valley, and I'll throw in a couple of ... crappy seahorse valley ones afterwords.  


Seahorse (actually, now that I think about it, I wasn't in between the axes, which isn't as awesome for elephant valley, so... there you go, that's why they are boring):


  then here is the period 4 bulb zoom (crappy render, should have picked a better angle/location):



  Modified z^3 code segment (do an if statement, or whatever):
Code:
 QUICK NOTE:  z^3 uses a different setup than z^2 (to be like a z^3 2d Mandelbrot over both z and y axis):

if (pixelr>0) {
nx=-r2*cos(theta*v);
} else {
nx=-r2*cos(theta*v);
}
if (pixelr>0) {
nx2=-r3*cos(tango*v);
} else {
nx2=-r3*cos(tango*v);
}

ny=-r2*sin(theta*v);
nz=-r3*sin(tango*v);
« Last Edit: June 18, 2010, 08:28:51 AM by M Benesi » Logged

KRAFTWERK
Global Moderator
Fractal Senior
******
Posts: 1439


Virtual Surreality


WWW
« Reply #1 on: June 11, 2010, 08:40:27 AM »

WOW, that looks really interesting M!

Lots of things going on at the "spikes" some nice minibrots there?
Logged

reesej2
Guest
« Reply #2 on: June 12, 2010, 10:21:46 AM »

Definitely promising! Great work!
Logged
M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #3 on: June 12, 2010, 10:57:54 PM »

  Thanks!

    The formula is promising, but I've hit writer's block. I'm drawing blanks on how to balance the y-z drift.  I've tried a few things so far, but nothing really hits the spot. The grail is still just out of reach, ehh?

  @Kraftwerk:  Yeah, there are tons of little distorted mini-brots coming off the main body in ALL directions (besides the one in the above image), each with its own set of mini-brots coming off of it. 

  The fractals are also a bit squarish/spiky, which I've never really enjoyed (in fractals), as I prefer the smoother types.  I've got to check out how I corrected previous "spiky-brots" and apply it to this situation- might be as simple as a sign change, might be much more complicated.

  Anyways, here is the main z^2, rotated 45 degrees vertically so we can view the interesting parts (valleys, mountains and cliffs in the 3d thing we've got here).  



  And a spiky grasshopper head from z^8 (needs another iteration):

« Last Edit: June 12, 2010, 11:00:49 PM by M Benesi » Logged

M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #4 on: June 15, 2010, 09:09:26 AM »

Well, I found a way to balance the whole thing out, ending up with something almost exactly the same as David's roundy 4d "true 3d" Mandelbrot.  It's not as pleasant, although it has (nearly... weirdness at higher iterations... maybe something, maybe nothing) perfect Mandelbrot's of all varieties upon rotation about the x axis.

  It just isn't very interesting.  Hrmm.. anyways, code follows, maybe an image tomorrow:

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

theta=atan2(sx+flip(sy));
tango=atan2(sx+flip(sz));
if ((sy+sz)<0) {     //  this statement really doesn't do anything noticeable... you can scratch it
whiskey=atan2(sx-flip(sqrt(sqr(sy)+sqr(sz))));
} else {
whiskey=atan2(sx+flip(sqrt(sqr(sy)+sqr(sz))));
}

nx=r2*cos(whiskey*v);
ny=r2*sin(theta*v);
nz=r2*sin(tango*v);

if (juliaMode) {
  sx=nx+cr;
sy=ny+ci;
sz=nz+cj;
} else {
sx=nx+(pixelr);
sy=ny+(pixeli);
sz=nz+(pixelj);
}
z=quaternion (sx,sy,sz,0);
bail=abs(sx)+abs(sy)+abs(sz);


  It allows exploration of higher order fractals (I think this formula is a repeat of another from the past... can't recall however), although they aren't that exciting...
Logged

miner49er
Safarist
******
Posts: 82


« Reply #5 on: June 15, 2010, 05:30:08 PM »

Is this the 'Real McCoy'?

I would love to see the Z^2 + C one rotating around the X/Y/Z axis...hint hint
Logged
M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #6 on: June 15, 2010, 09:14:37 PM »

  Right now I am rendering a couple z^2 amazing hybrid B4 (amazing hybrids are fractal types blended with Tom Lowe's "amazing fractal" Mandelbox).  As this formula is type b4... I might post the images in this thread as well as in the images part of the forum.

  As to a rotation animation, maybe later.  Type B4 (not the first formula I posted in the thread, the newest formula above your post) looks almost EXACTLY like David Makin's "roundy true 3d" '4d' Mandelbrot, of which there is a quick animation of a minibrot he posted in the original "true 3d mandelbrot" thread here.

  Below are a few quick images comparing type B4 and Type B3d (b3d is more interesting, B4 has "perfect" Mandelbrot slices where y and z equal 0 due to its formula).  Also, type b3d uses one less iteration for more detail.

front face (b4 then b3d):

45 degrees towards rear from side view (b4 then b3d):

rear (b4 then b3d):

front face 45 degrees towards side view (b4 then b3d):

side view (b4 then b3d):
Logged

KRAFTWERK
Global Moderator
Fractal Senior
******
Posts: 1439


Virtual Surreality


WWW
« Reply #7 on: June 16, 2010, 08:58:21 AM »

Interesting and beautiful images! I love the coloring of these latest renders M!
Logged

M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #8 on: June 17, 2010, 08:59:33 PM »

  Thanks Kraftwerk.

   Ok, this could be the real formula.  It demonstrates interesting properties, and I know it's the real formula because I cut cross sections of it, it is amazingly fractal, and it's just awesome.  It only is "perfectly" cross sectional Mandelbrot's at z^5,9,13....  every forth n.  This is similar to a regular Mandelbrot, which is only perfectly symmetric over the y axis every other z^n (z^3,z^5,z^7....).  

  The fractal is only perfectly symmetric over both the z and y axes every 4th n.  It is symmetric over z and over y respectively every 2nd n (z^3,z^5,z^7...) but it only has symmetry over both axes at once (all around) every 4th n (z^5,z^9...).  I suppose it's logical that the 3 dimensional version would only have perfect symmetry every 4 instead of 2 n's.  Perhaps the 4d version will only be symmetric every 8 n, or maybe each additional dimension squares the number behind it (I'd tend to think it only multiplies by 2 each time, but haven't expanded to 4d yet).  

  It's a type I fractal (since M Benesi wrote it, you can call it a type I M Benesi fractal, if you want), with sumode and rXmodec checked.  I'll post the simplified code in this thread (without all of the check box options: just the streamlined type I M Benesi 3d Mandelbrot fractal).

Code:
r2=(sqr(sx)+sqr(sy2)+sqr(sz2))^(n/2);

theta=atan2(sx+flip(sy));
whiskey=atan2(sx+flip(sz));
tango=atan2(sx+flip(sqrt(sy2^2+sz2^2)));
foxtrot=atan2(sy2+flip(sz2));

nx=r2*cos(tango*v);
ny=r2*sin(theta*v);
nz=r2*sin(whiskey*v);
ny2=r2*cos(foxtrot*v)*sin(tango*v);
nz2=r2*sin(foxtrot*v)*sin(tango*v);

if (juliaMode) {
sx=nx+cr;
sy=ny+ci;
sz=nz+cj;
sy2=ny2+ci;
sz2=nz2+cj;
} else {
sx=nx+(pixelr);
sy=ny+abs(pixeli);
sz=nz+(pixelj);
sy2=ny2+abs(pixeli);
sz2=nz2+(pixelj);
}

bail=abs(sx)+abs(sy)+abs(sz);
z=quaternion(sx,sy,sz,0);   // just for ChaosPro orbital coloring scheme

  The coloring is different for images due to orbital coloring scheme (components of color are assigned by which value is which, look at the z= quaternion (sx,sy,sz,0) statement, if you switch axes, you will switch which proportion is where in your orbital sampling... anyways).  

  Here are some boring, straight on, z^5 slices (that look exactly like a z^5 2d Mandelbrot).  They are the same over all axes.  
looking down (towards negative) y axis:

looking down the z:

lookin' down x:


  Anyways... the fractals are amazing.  
« Last Edit: June 17, 2010, 09:01:08 PM by M Benesi » Logged

kram1032
Fractal Senior
******
Posts: 1863


« Reply #9 on: June 17, 2010, 10:57:11 PM »

beautiful cheesy
Logged
twinbee
Fractal Fertilizer
*****
Posts: 383



WWW
« Reply #10 on: June 18, 2010, 12:05:38 AM »

Hi Matthew, Those are some stunning pictures you have (see this thread), but as you have already hinted, it's almost certainly not the holy grail. There are still many whipped cream sections which have areas 'stretched out', and the variety is great, but I'm sure the real thing would be even more mind-blowing than we can imagine.

As you may now know, just because each 2D cross section looks promising, that doesn't necessarily indicate it's the grail. I would still expect spheres to surround spheres for the real thing.
Logged
M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #11 on: June 18, 2010, 01:45:41 AM »

  Thanks Kram1032!

  @Twinbee:

   I expect there to be locations in which the 3 variables (x, y, and z) cancel one another out in 3+ dimensional rotation based fractal (it's not simply the play of one variable against another, when you have 3 variables, perhaps one can cancel the effects of the other 2 out), but this isn't necessarily the reason for the smooth sections.  To address the stretchy sections: sometimes one variable can have a greater angular effect then another (x vs y is a greater angle than x vs z) so this results in a stretching of the pattern in the direction of greater (or maybe lesser) angular magnitude.  

As to the "smooth sections" indicating it's not a Mandelbrot, smooth sections are not evidence against Mandelbrot type fractals for a very very simple and demonstrable reason:

  The fractal was only 8 iterations (this isn't the reason, it's simply part of the reason for some of the larger smoother sections).

  Let's look at an 8 iteration 5th order 2d mandelbrot:

Then a zoom into its 2d smooth section:

increase of iterations (9 instead of 8 ):

Still has smooth sections... Increase to 12 iterations:

Still smooth sections... Increase to 16 iterations:


  The smooth sections are pretty much a 2d version of whipped cream.  Probably indicates that the 2d Mandelbrot set isn't the "Real 2d Mandelbrot" set after all, ehh?  :p  

  Anyways, if you increase iterations (of a smooth section), it get's smaller (like in a 2d Mandelbrot set):

this one was 5 or 6 iterations (5th order):

this is the same location with an iteration increase of 1:

another iteration increase:


  You can keep on zooming into the smooth section.  If you increase iterations until it is no longer smooth, the cure for its lack of smoothness is to zoom into it more until it is smooth again (try this with a 2d Mandelbrot).  Not all sections of the 3d Mandelbrot become chaotic at the same rate.  Shockingly, the 2d Mandelbrot displays exactly the same trait: not all sections of the 2d Mandelbrot become chaotic at the same rate).  

  As to your last statement about spheres to surround spheres for the real thing, I don't agree, simply because this is the real thing.  But if it really needs spheres to surround spheres (whatever that means), that's the Amazing Hybrid I z^9.  A bunch of golf balls, surrounding spheres made of golf balls.  Pretty hilarious looking actually:



  However, in light of your comments as to the truthiness of the truthiest 3d Mandelbrot, the fractal and I (type I I, not fractal type I, although the fractal is fractal type I) have decided to give you your very own section of the z^4.
« Last Edit: June 18, 2010, 04:01:19 AM by M Benesi » Logged

pseudogenius
Guest
« Reply #12 on: June 18, 2010, 07:09:49 AM »

Whoa, closest z^2 to the grail yet!   smiley

But, I cannot accept that this is the real thing  sad
Not just because of personal expectations, but because of the following things that many people,including me, think the all 3d mandel should have. Some have mathematical basis also.

1. Symmetric about xy and yz plane. smiley
2. Most of the set must be bounded by cardioid revolved around the x axis   sad
3. The head must be a near sphere, and the main body and head must be covered by near spheres of varying sizes.   sad

I was really hoping someone had found it.  cry

There still might be something out there. All these types of near grails might have something in common. This seems harder than unifying quantum mechanics and relativity.  wink

Still, great job M Benesi. You're fractal is amazing!  smiley


Logged
M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #13 on: June 18, 2010, 07:32:36 AM »

  Update: hilarity has ensued.  I fixed the distortion of the Mandelbulb.  Guess what you do?  Take the absolute value of the y pixel component when adding it in.  That's what this fractal is.
Code:
r2=(sx^2+sy^2+sz^2)^(n/2);
theta=atan2(sx+flip(sqrt(sz^2+sy^2)));
phi=atan2(sy+flip(sz));

nx=r2*cos(v*theta);
ny=r2*sin(v*theta)*cos(v*phi);
nz=r2*sin(v*theta)*sin(v*phi);


if (juliaMode) {
sx=nx+cr;
sy=ny+ci;
sz=nz+cj;
} else {
sx=nx+(pixelr);
sy=ny+abs(pixeli);
sz=nz+(pixelj);
}
z=quaternion(sx,sy,sz,0);
bail=sx^2+sy^2+sz^2;

  All the unnecessary code is extraneous.  And hilarious.  cheesy  Which means the Mandelbulb is realllllly freakin close.  Just an absolute value off, a sign change to make it totally Mandelbroty.... hahahaha  hahahaha, I've been taking the absolute value of the y component for so long (at least a week or 2... actually a lot longer, maybe) that I didn't even think of applying it directly to the Mandelbulb....


  It's pretty hilarious now that I glanced at the code.  It became so convoluted (as I added switches) I didn't notice that I basically use the Mandelbulb formula with sy2 and sz2, then use the bailout from sy and sz, which are calculated against the sx portion of the Mandelbulb code.  I was trying to find a way to balance all 3 variables, and that was one way to do it (that produced Mandelbrot type patterns).

  Not that you are definitely wrong, but I don't think that artistic expectations (spherical cardioid, etc.) have foundation in anything other than imagination, artistic fantasy imagination at that.  The simple fact is that with the 3d Mandelbrot (as opposed to a 2d), you have a more complex interaction between the variables (not only do you have x vs y, you have y vs z and x vs z, all 3 interactions effecting one another, which means you will only get patterns matching the simple 2d formula on the axes).  

 Here's a quick z^5 julia to check out:
« Last Edit: June 18, 2010, 08:36:24 AM by M Benesi » Logged

kram1032
Fractal Senior
******
Posts: 1863


« Reply #14 on: June 18, 2010, 11:59:22 AM »

pseudogenius: Don't forget that the Mbulb images up there have a rather low iteration count.
I've seen superhigh iterated 2nd order Mbulbs before and they usually turned out to look a lot more spherical. It's just that the additional detail from the spikes and such gets so dustlike that it nearly looks smooth. wink

So we'll have to see a highly iterated version of it to know what the behaviour is around the caridote and the main circle/sphere...
Logged
Pages: [1] 2   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Absolute Tree and a Sunset Mandelbulb3D Gallery KRAFTWERK 0 539 Last post October 23, 2011, 11:30:32 AM
by KRAFTWERK
An absolute beginner to x64 ASM on Linux Programming « 1 2 » ker2x 15 4960 Last post May 14, 2012, 06:47:11 PM
by Adam Majewski
Pixel's Alpha Value iterated in a Fractal like Equation (new) Theories & Research 1 0 265 Last post May 18, 2015, 08:17:21 PM
by 1
Absolute Reductionism? General Discussion rloldershaw 2 1509 Last post August 02, 2016, 05:29:23 PM
by rloldershaw
absolute beginner Fragmentarium robiwankenobi 2 1050 Last post January 13, 2017, 03:23:26 PM
by Adam Majewski

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

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