News: Support us via Flattr FLATTR Link

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

 Pages: [1]   Go Down
 Author Topic: MixPinsky4ex reciprocalX3b  (Read 1210 times) Description: 0 Members and 1 Guest are viewing this topic.
Sabine
Fractal Fertilizer

Posts: 373

 « on: November 20, 2016, 05:21:04 PM »

Fragmentarium MixPinsky4ex reciprocalX3b

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

Mixpinski4ex/reciprocalX3b?
 FFmixprecipr.frag (15.18 KB - downloaded 76 times.) « Last Edit: November 30, 2016, 05:48:00 PM by Sabine » Logged

sabine62.deviantart.com
DarkBeam
Global Moderator
Fractal Senior

Posts: 2512

Fragments of the fractal -like the tip of it

 « Reply #1 on: November 20, 2016, 10:11:00 PM »

I like! And also you can do some var swizzle like this right after the recip (or before)
p.xyzw = p.yxwz;
There are lots of combines to be tried, but is effettive until you miss the 4d rotation
 Logged

No sweat, guardian of wisdom!
Sabine
Fractal Fertilizer

Posts: 373

 « Reply #2 on: November 20, 2016, 11:04:21 PM »

Thank you, Luca!
Will try the swizzle thingy :}
But what do you mean with it being effective until I miss 4d rotation? It won't work with 4d rotation? Or it will be more effective with 4d rotation?
 Logged

sabine62.deviantart.com
mclarekin
Fractal Senior

Posts: 1739

 « Reply #3 on: November 21, 2016, 01:56:08 AM »

My two cents.

4D swizzling combined with 3D rotations, misses out a layer of combinations (those involving rot.w)

The extent of the combinations becomes infinitely more infinte, when the extra three rotations input variables  (we now have six infinity rot inputs).

The formula without any rotations is very limited when comparing different layers of infinity.

With the other parameters we are moving out or in from the origin (changing the vector length), with rotations we are maintaining the vector length.

BTW

When you apply  two abs() formulas in a loop, what better than a rotation in between them, to map some points back to neg values

 Logged
mclarekin
Fractal Senior

Posts: 1739

 « Reply #4 on: November 21, 2016, 04:43:54 AM »

if(Zw) r2=z.x*z.x+z.y*z.y+z.z*z.z + z.w * z.w; // bailout criteria, and I added in the z.w part to see if it  necessary
else  r2=z.x*z.x+z.y*z.y+z.z*z.z;
if(i>=RotStart) z.xyz*=fracRotation2;
if(reciprocalX3b)    z.x = sign(z.x) * (1/Limiter1) + (1/Limiter2) - (1/(abs(mul1*z.x)+ Limiter1)) + (1/(mul2  z.x*z.x+ Limiter2));

In a "standard" sort of loop. r2 = z.x*z.x+z.y*z.y+z.z*z.z;  is the last function before if( r> bailout stop). That means we are tesing the vect length after the final mapping of z.
However you can have it anywhere, and have more than one bailout check in a loop. The number of bailout checks and their placement is yet another "variable parameter" in finding new variations.

The reciprocalX3b  if(reciprocalX3b)    z.x = sign(z.x) * (1/Limiter1) + (1/Limiter2) - (1/(abs(mul1*z.x)+ Limiter1)) + (1/(mul2 * z.x*z.x+ Limiter2));

anthing goes if it works.

I would have expected  z.x =sign(z.x)  *  ( all the sub-functions);

if so (all the sub functions ) =  (number/number  + number/number  +   1/ (abs  etc  ... )  +    a scaled inverse squared plus offset)

You can:    float sabi   =  (number/number  + number/number )  in the initial conditions before the loop and save recalculating it with every iteration.

or I would probably just replace     (number/number  + number/number )    with a single float number slide (-5,0,5) and work it that way

 Logged
Sabine
Fractal Fertilizer

Posts: 373

 « Reply #5 on: November 21, 2016, 08:01:09 AM »

@mclarekin You really make my poor brain creek on this morning:} Thank you for that!
Please pardon me, as I do not understand all yet (but I think I get the general idea), so much to learn so little time;)

First the zwizzle thing: It is an existing term! Really thought maybe Luca had it made up, such a wonderful word
I was presuming we'd (well ok, you and Luca, and Crist-JRoger, (still way too intimidating yet for me  )) get the 4d-rotation properly going some day, then w will be playing along nicely, won't it?
The usefulness rotation between two abs()-formulas in a loop I get, I hope I will remember!

Then the reciprocal: I have already last night added another transform (_invcylindrical) into the mix (a very popular combination in mb3d, gives nice 'rooms', though in Fragm the lighting inside objects (not the proper fractalish 'inside' but outside surfaces inside the fractal is a drama Placing the two transforms before the loop will let them behave like pre-transforms. To be proper transforms the need to be placed within the loop, I always thought?

Quote
a scaled inverse squared plus offset
Of the whole thing? Or one of the numbers.. or whatever I want?

Just for fun I have already changed things within the code of the line, as you say: anything goes, and it is really behaving quite nicely when altered a bit here and there.

BTW had the thumbs-up from Luca, it's a proper reciprocalX3b

 Logged

sabine62.deviantart.com
mclarekin
Fractal Senior

Posts: 1739

 « Reply #6 on: November 21, 2016, 09:22:13 AM »

My wording is not always the best , so understand what you can, but always feel free to ask for more clarification.

The std 4D rot is just a matter of dedicating some time, but I get sidetracked and have been doing some exploring.

_invCylindrical is amazing, I have yet to really test it out, but I was getting interesting stuff with both linear  and bulb_type formulas. I updated the Benesi T1 Pinetree by including it as the last transform in the loop.

One way that I construct a loop is by having

Iter 0 - formula1
iter 1 - formula2

iter 2 to termination - formula 3 (or a sequence of formulas.)

so in OpenCL i often move the initial single iteration formulas into initial conditions and  are a pretransform.

swizzle is a word i read here, so it may be a forum only word part of the secret language of fractal coders  but it aptly describes axis swapping.

@ crist.  The inverse 3D  heading to infinity is a weird place compared to normal fractal space, I have not learnt much about it

 Logged
DarkBeam
Global Moderator
Fractal Senior

Posts: 2512

Fragments of the fractal -like the tip of it

 « Reply #7 on: November 21, 2016, 09:56:55 AM »

https://www.opengl.org/wiki/GLSL_Optimizations#Use_Swizzle

How dare you not trusting me
 Logged

No sweat, guardian of wisdom!
Sabine
Fractal Fertilizer

Posts: 373

 « Reply #8 on: November 21, 2016, 07:16:03 PM »

@Luca

I now also read in that URL about "Get MAD". Is this next step for me? :}

@mclarekin Reading Luca's link about GLSL-optimizations together with what you wrote, something begins to dawn on me... slowly Will have to really dive into this to fully understand and be able to apply, but thanks again!
 « Last Edit: November 21, 2016, 09:27:35 PM by Sabine » Logged

sabine62.deviantart.com
Fractal Molossus

Posts: 678

 « Reply #9 on: November 21, 2016, 09:14:56 PM »

You wish... That's not something easily achievable for just anyone  . It take years of training!
 Logged

All I want is a warm bed, a kind word and unlimited power (Ashleigh Brilliant)
Sabine
Fractal Fertilizer

Posts: 373

 « Reply #10 on: November 21, 2016, 09:29:24 PM »

@Madman I read the how-to and indeed, how disappointing, no soft-padded white cells before the 8th semester!
 Logged

sabine62.deviantart.com
DarkBeam
Global Moderator
Fractal Senior

Posts: 2512

Fragments of the fractal -like the tip of it

 « Reply #11 on: November 21, 2016, 10:38:49 PM »

Also @mclarekin when you use reciprocals the only rotations that don't result in fuzzy stuff are multiples of 90° essentially those can always be obtained swizzling and changing signs (if desired) try!
 Logged

No sweat, guardian of wisdom!
mclarekin
Fractal Senior

Posts: 1739

 « Reply #12 on: November 22, 2016, 02:19:40 AM »

@ Professor Dark.  Will try in openCL, (MandelbulberV2 maths has yet to  include swizzlablity functions )

The other optimisations are good too, - mad, mix & dot.

@ madman, In New Zealand,  madness is a result of generations of careful selective breeding,  and now I find in Europe  you can become mad by simply  attending a university.

I can picture your diploma. a "masters  in  Madness, 1st degree honours"  ( I am assuming you would have been top of the class.)
 Logged
 Pages: [1]   Go Down