Logo by Fiery - 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: Check out the originating "3d Mandelbulb" thread here
 
*
Welcome, Guest. Please login or register. September 24, 2019, 12:01: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]   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: Bulb - Quaternion Hybrids  (Read 1121 times)
0 Members and 1 Guest are viewing this topic.
mclarekin
Fractal Senior
******
Posts: 1739



« on: February 14, 2016, 05:39:44 AM »

In Mandelbulber dev. V2.07 there are some new squaring formulas added. When coding them I  look at what I call the "base shapes", being the base formula without any constants added (i.e no add Cpixel, no add Julia Constant). Attached image shows that they render as approx. spheres.

The following posts will show some basic hybridisation.



* q No constants 350.jpg (209.72 KB, 1792x350 - viewed 219 times.)
Logged
M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #1 on: February 14, 2016, 07:45:46 AM »

  M3D Sym 3... beautiful.  I think my dad will be partial to the Julia bulb one, for an entertaining reason. 
Logged

mclarekin
Fractal Senior
******
Posts: 1739



« Reply #2 on: February 14, 2016, 08:33:24 AM »

The following hybrids all have a mandelbulb pwr 2 as the second formula in the sequence, and run one iteration each. In three of these examples I added a small amount of addition constant to "bring out" the pattern, other than that there is still no addition of constants therefore the hybrids are still approx spheres.

Changing the power of the mandelbulb will change the pattern.

At this stage adding some constants or other tweaks will create  a large range of  hybrids. The Mandlbulbs,  Julia Bulbs and standard quaternion all work with each other and use the same fast analytic DE.


* q 2nd mbulb.jpg (229.44 KB, 1792x350 - viewed 213 times.)
Logged
mclarekin
Fractal Senior
******
Posts: 1739



« Reply #3 on: February 14, 2016, 09:44:55 AM »

In previous quaternions I had added some internal scaling, that worked OK with Delta DE but would not work with analytic DE.
So I tried a vector based DE calculation adjustment that I had used with Benesi Mag transforms, and the smooth sphere turned into a ribbed sphere. Now when I use this Quaternion 3DE to make hybrids, the beginning base shape is textured rather than smooth.

Quote

 aux.r_dz = aux.r_dz * 2.0 * aux.r;
  z = CVector3(z.x * z.x - z.y * z.y - z.z * z.z, z.x * z.y, z.x * z.z);  // Quaternion base shape

  CVector3 temp = z;
  double tempL = temp.Length();
  z *= fractal->transformCommon.constantMultiplier122; // internal scaling, default  (1,2,2)
  if (tempL < 1e-21)
    tempL = 1e-21;
  double avgScale = z.Length() / tempL;
  aux.r_dz *= avgScale;



* q quaternion 3DEad.jpg (226.69 KB, 1678x330 - viewed 220 times.)
Logged
mclarekin
Fractal Senior
******
Posts: 1739



« Reply #4 on: February 14, 2016, 10:38:02 AM »

M3D's msltoe sym3 formula seems to suit the Quaternion 3DE hybridisation, as it was smoothish in its Julia form, so it could handle extra texture. This Quaternion 3DE was added to the sym3 UI, with "start/stop at" iteration parameters. The attached images show a comparison of sym3  hybridised with the standard Quat and the Quat 3DE, with the quaternion  part starting at different iterations


* q quat start 3DE.jpg (242.23 KB, 1781x350 - viewed 211 times.)
Logged
mclarekin
Fractal Senior
******
Posts: 1739



« Reply #5 on: February 14, 2016, 11:09:08 AM »

Now I add  a -0.8 to the x-axis (julia constant/offset/shift/addition constant/translation) to create something like msltoe's original image, and the differences in surface texture can be seen. Standard DE  to the left, and Quat 3DE on the right.  Both images have the quaternion part "late starting" at iteration 5.


* q quat julia.jpg (147.92 KB, 1233x350 - viewed 256 times.)
Logged
mclarekin
Fractal Senior
******
Posts: 1739



« Reply #6 on: February 14, 2016, 11:44:42 PM »

Both images above, had the quaternion part "late starting" at iteration 5.  That was to make them look like a Msltoe Julia Bulb. The attached images have the quat part starting at iteration 0. The Julia Bulb is greatly distorted by the quaternion influence.


* q quat000 .jpg (161.07 KB, 1120x350 - viewed 215 times.)
Logged
mclarekin
Fractal Senior
******
Posts: 1739



« Reply #7 on: February 15, 2016, 01:00:43 AM »

Now when standard DE is too smooth and 3D Vector based DE is too textured, a parameter is added to vary the influence.  The attached images demonstrate changing the influence from 0 (none) to  1 (full) , and also 4.
The influence factor can also be dropped to say - 0.3 before the DE calculation goes bad.  So what we have is a tool for distorting a smooth bulb surface, albeit this  is a DE tweak not a fractal tweak.

Code:
 {
    aux.r_dz = aux.r_dz * 2.0 * z.Length();
    z = CVector3(z.x * z.x - z.y * z.y - z.z * z.z, z.x * z.y, z.x * z.z);
    if (fractal->transformCommon.functionEnabledAxFalse)
    {
      CVector3 temp = z;
      double tempL = temp.Length();
      z *= CVector3(1.0, 2.0, 2.0); // mult. scale (1,2,2)
      if (tempL < 1e-21) tempL = 1e-21;
      double avgScale = z.Length()/tempL;
 [color=red]     //aux.r_dz *= avgScale * fractal->transformCommon.scaleA1;
      double tempAux = aux.r_dz * avgScale;
      aux.r_dz = aux.r_dz + (tempAux - aux.r_dz) * fractal->transformCommon.scaleA1;[/color]
    }
    else
    {
      z *= CVector3(1.0, 2.0, 2.0); // mult. scale (1,2,2)
    }
  }


* q quat vect.jpg (199.04 KB, 1202x400 - viewed 210 times.)
Logged
mclarekin
Fractal Senior
******
Posts: 1739



« Reply #8 on: February 15, 2016, 04:14:59 AM »

When we create bulb_quat hybrids as two separate formulas with their own UI, we can further manipulate the quaternion influence by entering the number of iterations that are run with the first formula before commencing on the next. The attached images are created by  setting a sequence of the bulb to run for 3 iterations then the quaternion for 3 iterations and then back to the bulb etc. With the additional control that the quaternion can only run between iteration 7 and iteration 23. The image on the left has 0.0  Quaternion 3DE texturing influence, whereas the image on the right has the parameter set to 0.8. 


* q quat DE08.jpg (129.79 KB, 635x522 - viewed 208 times.)
Logged
Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Hybrids Images Showcase (Rate My Fractal) Power 8 5 1381 Last post March 23, 2010, 07:27:40 PM
by Power 8
First test with Interpolated hybrids Mandelbulb3D Gallery KRAFTWERK 0 587 Last post September 08, 2010, 03:52:19 PM
by KRAFTWERK
Hybrids with dIFS? feature request MarkJayBee 3 1028 Last post December 28, 2015, 08:05:03 PM
by chunkygravy
A new collection of 3D hybrids in Ultrafractal UltraFractal JosLeys 0 1144 Last post March 14, 2013, 11:40:42 PM
by JosLeys
Mandelbulber hybrids Help & Support lazalov 2 579 Last post December 13, 2015, 03:37:27 AM
by lazalov

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.101 seconds with 28 queries. (Pretty URLs adds 0.008s, 2q)