Logo by bib - Contribute your own Logo!


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

this forum will stay online for reference
News: Visit us on facebook
Welcome, Guest. Please login or register. June 09, 2023, 04:33:25 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
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: Quantum Quarternion  (Read 581 times)
0 Members and 1 Guest are viewing this topic.
Fractal Senior
Posts: 1739

« on: May 26, 2015, 02:33:24 PM »

Quantum Quarternion


manipulated quarternion
« Reply #1 on: May 26, 2015, 03:42:43 PM »

Very nice. Any details about how it was rendered?

Is there a DE forumla for it? smiley
Fractal Molossus
Posts: 696

Shapes only exists in our heads.

« Reply #2 on: May 26, 2015, 06:35:24 PM »

Those images are always super sharp and smooth. I never get Mandelbulber to work like that. I suspect mclarekin to have some special tricks besides his manipulated fractals.
Fractal Senior
Posts: 1739

« Reply #3 on: May 27, 2015, 02:34:28 AM »

@ Youhn.  I only post the super sharp and smooth ones, lol smiley smiley smiley. But seriously, considering  openCL is single precision, Mandelbulber  custom formulas renders great images if I  don't get to close.

@ TruthSerum,

Firstly: Quote from Buddhi's v1.xx code

//There are three types of formulas:
//1) which uses analytic distance estimation: trig_DE, trig_optim (default)
//2) IFS formulas and Mandelbox: menger_sponge, tglad, smoothMandelbox, kaleidoscopic, mandelboxVaryScale4D
//3) rest of formulas, which uses "delta DE" algorithm for distance estimation.
Except that user Zebastian has recently explained that in OpenCL we use Analytic DE also for quarternions, so I am using  dist = 0.5f * r * native_log(r) / rp;

From my experience Delta DE generally produces a more grainy looking image.   In Mandelbulber v1.xx,  Delta DE is used if Hybrid is enabled, however by experimentation some hybrids can produce reasonable images. But generally I avoid formulas that use this type of DE.

This image was made from the following openCL basic quarternion formula, with 3D rotation and fabs added.

Hi Buddhi, following is the basic code I now use for quarternions, set up with 7 parameters to tweek. (I sometimes also add in box fold and mandelbox  3D rotation and fabs.)


// This file has all commands which are executed once before iteration loop.
// It can be used to initialize all variables and do some preliminary calculations
// all available variables are defined in mandelbulber_cl_data.h

// quart Jc4 addition like Julia, c4 = c4 * point

   float4 newz = 0.0f;
   float4 zp = (float4){1.0f, 0.0f, 0.0f, 0.0f};
   float4 z4 = (float4){z.x, z.y, z.z, 0.0f};
   //float4 c4 = (float4){c.x, c.y, c.z, 0.0f};
//contant addition   
float4 Jc4  = (float4){consts->fractal.custom[3], consts->fractal.custom[4], consts->fractal.custom[5], consts->fractal.custom[6]};   

// constant point multiplier
float4 c4  = (float4){consts->fractal.custom[9] * point.x, consts->fractal.custom[10] * point.y, consts->fractal.custom[11] * point.z, 0.0f};   


// QU+c4+Jc4

// This file has all commands which are executed inside iteration loop
//    for(i = 0; i < N; i++)
// example is based on Quarternion formula
// z is a main 3-dimentional iterated vector
// c4 and Jc4 are constant variables like in Mandelbrot set: z(n+1) = z(n)^2 + c
// r is a length of z vector

// basic quarternion

   zp = 2.0 * quaternionMul(z4, zp);
         newz = quaternionSqr(z4);
         z4 = newz + c4 + Jc4;
         r = length(z4);
         if (r < colourMin) colourMin = r;
         if(r>40.0f || any(isinf(z4)))

         float rp = length(zp);
         dist = 0.5f * r * native_log(r) / rp;
         out.colourIndex = colourMin * 5000.0f;

I have been experimenting with adding a C constant (which can be a Julia coordinate) and adding also a  point multiplier constant .

i.e   z = z * m + Jc3 + c3     for mandelbox,   z+=( Jc3 + c3)    for mandelbulb

This approach gives more parameters to tweek, and you can morph/animate between normal and Julia.

So maybe consider this approach for formulas .

As always, thanks so much for this software, I have fun and have also learnt a bit about programming.
Fractal Supremo
Posts: 1158

« Reply #4 on: May 27, 2015, 01:09:21 PM »

Quick thing: it's "quaternion" smiley

Fractal Senior
Posts: 1739

« Reply #5 on: May 27, 2015, 01:52:22 PM »

 embarrass Thanks lyceum.  embarrass

Aghhh, I've been  spelling it wrong for months.  embarrass embarrass embarrass
Pages: [1]   Go Down
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Quarternion Quarterly - Autumn 1959 Mandelbulber Gallery mclarekin 0 273 Last post November 01, 2014, 01:49:47 AM
by mclarekin
Quarternion Quarterly - WINTER 1960 Mandelbulber Gallery mclarekin 0 298 Last post November 02, 2014, 02:16:51 AM
by mclarekin
Wreck of the Quarternion Mandelbulber Gallery mclarekin 0 324 Last post November 05, 2014, 10:15:48 AM
by mclarekin
Aquatic Quarternion Quovercraft Mandelbulber Gallery mclarekin 1 320 Last post November 10, 2014, 07:35:12 AM
by cKleinhuis
Aquatic Quaz1rnoid Quarternion Mandelbulber Gallery mclarekin 0 288 Last post November 13, 2014, 05:33:50 AM
by mclarekin

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