Logo by AGUS - 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 29, 2024, 05:37:11 AM


Login with username, password and session length


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


Pages: [1]   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: Quantum Quarternion  (Read 686 times)
0 Members and 1 Guest are viewing this topic.
mclarekin
Fractal Senior
******
Posts: 1739



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

Quantum Quarternion



http://www.fractalforums.com/index.php?action=gallery;sa=view;id=17780

manipulated quarternion
Logged
TruthSerum
Guest
« 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
Logged
youhn
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.
Logged
mclarekin
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

Quote
//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.

Quote
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.)


Code:

// 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};   






Code:

// 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;
               
         break;
            }






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.
Logged
lycium
Fractal Supremo
*****
Posts: 1158



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

Quick thing: it's "quaternion" smiley
Logged

mclarekin
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
Logged
Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Quarternion Quarterly - Autumn 1959 Mandelbulber Gallery mclarekin 0 345 Last post November 01, 2014, 01:49:47 AM
by mclarekin
Quarternion Quarterly - WINTER 1960 Mandelbulber Gallery mclarekin 0 363 Last post November 02, 2014, 02:16:51 AM
by mclarekin
Wreck of the Quarternion Mandelbulber Gallery mclarekin 0 437 Last post November 05, 2014, 10:15:48 AM
by mclarekin
Aquatic Quarternion Quovercraft Mandelbulber Gallery mclarekin 1 417 Last post November 10, 2014, 07:35:12 AM
by cKleinhuis
Aquatic Quaz1rnoid Quarternion Mandelbulber Gallery mclarekin 0 362 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.196 seconds with 29 queries. (Pretty URLs adds 0.008s, 2q)