Logo by Pauldelbrot - 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: Did you know ? you can use LaTex inside Postings on fractalforums.com!
 
*
Welcome, Guest. Please login or register. March 29, 2024, 06:33:43 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] 2 3   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: _polyfold_sym and polyfoldsymIFS in mandelbulber 2  (Read 12183 times)
Description: As of version madelbulber v2.09 - is formula/transformation available?
0 Members and 1 Guest are viewing this topic.
freakiebeat
Forums Freshman
**
Posts: 16


WWW
« on: December 09, 2016, 12:30:39 AM »

I am currently working with mandelbulber v2.09, and looking for any formulas or transforms that provide the functionalities of _polyfold_sym and polyfoldsymIFS from mb3d. Can anyone provide me with the formula/transform name(s), or is this not yet implemented in v2?
Logged

A Flame A Day Keeps Psychosis Away - http://bit.ly/my247sheep
mclarekin
Fractal Senior
******
Posts: 1739



« Reply #1 on: December 10, 2016, 02:40:48 AM »

Not implemented yet. There are sooooo many to implement. I will put these on my TODO list.
Logged
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #2 on: December 10, 2016, 09:04:39 AM »

Found this in old pms. Sent by the user alexl:
void Poly_Fold(inout dvec4 p, float order)
{
   float m = order/TWOPI;

   float angle = round(m*(-atan(float(p.x),float(p.y))))/m;

   p.xy=rotate(p.xy,angle);
}

void Poly_Fold_xz(inout dvec4 p, float order)
{
   float m = order/TWOPI;

   float angle = round(m*(-atan(float(p.x),float(p.z))))/m;

   p.xz=rotate(p.xz,angle);
}

void Poly_Fold_yz(inout dvec4 p, float order)
{
   float m = order/TWOPI;

   float angle = round(m*(-atan(float(p.y),float(p.z))))/m;

   p.xz=rotate(p.yz,angle);
}
But the sym version is different
wink
Logged

No sweat, guardian of wisdom!
M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #3 on: December 10, 2016, 11:13:26 PM »

I did a far more complicated version with extra rotations in fragmentarium, if McLarekin can translate it... eventually.  

  Doy.. here is a Kaleidoscopic rotation demo- you can do multiple 3d polyfolds if you know multiple axes of symmetry and know the tricks to align them.  I'll write a tutorial if someone wants me to.



  If Luca checks it for redundancies, it basically does the polyfold stuff, but has extra cool Kaleidoscopic rotations thrown into the mix.


  If you want to avoid additional trig functions, set EXTRA_TRIG_FUNCTIONS=false, otherwise do it the extra trig function way.


  If you have an even number of polyfolds, set EvenFolds true for... less rotations.  

bool EvenFolds =  set true if Folds is even
float Rotate= kaleidscopic rotation variable...
float FoldAdjust=  adjustment so axis of symmetry (if you use an object with symmetry) is aligned correctly
float folds=  number of folds

  
Code:
       bool EXTRA_TRIG_FUNCTION=false;
        
float rxy;
float ratrack=pi2-pi2/folds;   //pi2 is 2*pi
float rotadjust=-pi/folds  + FoldAdjust;     // I called folds splits in my original code...
// I called them splits because I didn't know
float pintrack=pi/folds;      //what they were called.....
float pi2splits=pi2/folds;
float  i=0.0;    //why a float??  I was doing something with it...  

float omega=atan(z.y,z.x);
if (omega<0.0) {omega+=pi2;}    //so angle goes from 0 to 2pi instead of having negative part

float rotate=0;  

   //I only wanted to do the kaleidoscope rotations on specific iterations
  // doing multiple polyfolds... you can do it every iteration or whatever- for cool effects
  // only do it on specific iterations- I was making kaleidoscopes out of 2d polyfolding

if (RotateIter==n) {rotate=Rotate;}    //only do the rotation on a specific iteration


while (omega>pi2folds && i<floor(folds+1.0)) {
i+=1.0;

if (EvenFolds) {rotate*=-1;}    //if you have an even number of folds, you can do 1/2 as
                                                                 //many rotations- it's sort of cool

if (!EXTRA_TRIG_FUNCTION) {   //that is a NOT "!"  :D
rotadjust+=ratrack;
pintrack+=pi2folds;
omega-=pi2folds;
} else {     //with extra trig function, you don't need the above... just do the above instead
omega-=pi2folds;
}
}

if (EXTRA_TRIG_FUNCTION) {   // don't do this unless you absolutely love using transcendental functions
z=length(z)*vec2(cos(omega),sin(omega));
}

// if you don't have an even number of folds, you have to make an even number of rotations like the following:

if (omega>pi2folds*.5 && !EvenFolds) {rotate*=-1;}

// pintrack is used to shift the fold center outwords- images follow

vec2 z2=vec2(cos(pintrack),sin(pintrack));    

// splitrad is the distance from the center that the folds are shifted outwards

z.xy-=z2*splitrad;
rxy=length (z.xy);  

// rotadjust keeps every duplicate aligned correctly.  
omega=atan(z.y,z.x)+rotadjust+rotate+FoldAdjust;
z.xy=rxy * vec2(cos(omega),sin(omega));


return z;

  Did a 2d kaleidoscope using the above function:


  And other stuff (polyfolds, and a modified boxtiling function):


 
« Last Edit: December 10, 2016, 11:33:39 PM by M Benesi » Logged

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



« Reply #4 on: December 10, 2016, 11:39:11 PM »

I feel I am about to be sidetracked yet again.  I will try in OpenCL first.

This formula should look real good with an "audio to parameter interface"

In theory I should be faster at coding and debugging by now, so give me a month. grin
Logged
M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #5 on: December 10, 2016, 11:54:15 PM »

lol  cheesy
Logged

quaz0r
Fractal Molossus
**
Posts: 652



« Reply #6 on: December 10, 2016, 11:56:48 PM »

i think im startin to feel it  alien
Logged
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #7 on: December 11, 2016, 12:07:33 AM »

Just a month? More like six months cheesy
Logged

No sweat, guardian of wisdom!
M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #8 on: December 11, 2016, 01:29:15 AM »

   this isn't hypnotic quaz0r... just a demo- it's cool to be able to rotate polyfolds...

 

  Rotated it on the 2nd iteration (5 iterations total polyfolds- MengerIFS is already aligned for the code I wrote because of the symmetries of the Menger since I'm folding around the x axis).

 
Logged

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



« Reply #9 on: December 11, 2016, 05:05:07 AM »

Yes six months is more realistic for the actual formula development part

First is the paperwork, getting official permission from the relevant authorities .
Then I have to find financial backing in a world where only a chosen few know what a fractal is.
Pay the shadowy underground figures that actually secretly control the supply and demand in the fractal market.
I then need to get the consultants in for market research, mathematical input, and prep the media company in charge of presentation and dreaming up "wacky" ideas to publicize the official formula launch.


Then the difficult bit.

I get my brain out of storage, strip it down and rebuild it , fixing or replacing any damaged parts as best as  I can.  Provide necessary fuel, lubrication and coolant  A Beer Cup A Beer Cup A Beer Cup.

A few test runs,  and some fine tuning, and we are ready to set a date to start on the development work.

It tires me out just thinking about it, there has got to be a better way of earning a living.

But then after the necessary 6 months, when we have the formula packaged and ready for the market, it all kind of feels worth the effort. And the formula release parties are not to be missed. wink
Logged
quaz0r
Fractal Molossus
**
Posts: 652



« Reply #10 on: December 11, 2016, 06:48:53 AM »

lubrication
Logged
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #11 on: December 11, 2016, 11:16:29 PM »

Oh my lol wink
I hope for a speedup then  A Beer Cup
Logged

No sweat, guardian of wisdom!
M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #12 on: December 12, 2016, 03:29:55 AM »

Faster translation for Kaleidoscopic rotations for M3D too!!!

  Going to be able to do neat things...



<a href="https://www.youtube.com/v/meZtYlY3fUo&rel=1&fs=1&hd=1" target="_blank">https://www.youtube.com/v/meZtYlY3fUo&rel=1&fs=1&hd=1</a>
« Last Edit: December 13, 2016, 07:49:33 AM by M Benesi » Logged

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



« Reply #13 on: December 14, 2016, 04:04:33 AM »

Well QT Creator is currently crashing if I try and finish coding 4D rotation , SOOOOO , let' s do something else



* carbuncle 444 _aa1.jpg (164.29 KB, 987x1200 - viewed 655 times.)
Logged
mclarekin
Fractal Senior
******
Posts: 1739



« Reply #14 on: December 14, 2016, 04:06:13 AM »

First I needed to interest him by quoting maths.


* carbuncle 444 _aa2.jpg (217.46 KB, 1625x1150 - viewed 649 times.)
Logged
Pages: [1] 2 3   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Mandelbulber 0.80 Mandelbulber Buddhi 5 7967 Last post June 27, 2010, 05:30:54 PM
by knighty
Mandelbulber 0.85 Mandelbulber Buddhi 6 4616 Last post July 25, 2010, 10:00:13 PM
by kram1032
Mandelbulber 0.93 Mandelbulber Buddhi 12 6085 Last post October 17, 2010, 03:19:15 PM
by Buddhi
mandelbulber Help & Support ramblerette 1 974 Last post October 18, 2010, 02:56:02 PM
by ramblerette
Mandelbulber 0.94 Mandelbulber « 1 2 » Buddhi 15 10193 Last post October 24, 2010, 09:36:01 AM
by Buddhi

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