Logo by Mahmut - 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: Support us via Flattr FLATTR Link
 
*
Welcome, Guest. Please login or register. March 28, 2024, 05:04:57 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 [2] 3 4 ... 10   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: Kaleidoscopic (escape time) IFS  (Read 116126 times)
Description: An interresing class of fractals
0 Members and 2 Guests are viewing this topic.
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #15 on: May 03, 2010, 09:45:19 PM »

Thanks.
Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
JosLeys
Strange Attractor
***
Posts: 258


WWW
« Reply #16 on: May 03, 2010, 10:47:15 PM »

Quote
The -2 is in reality the radius of a bounding sphere of the fractal..

I'm not sure I understand.
These things do not turn to dust as far as I can see.
I'm now doing something where I've zoomed to a magnification of about 1.5 million, using just DE=sqrt(R)/scale^i. I simply stop if DE<A, and my A is now about 1E-11. Must say I have max iters set at 100 and bailout at 1000.

Here it is (without anti aliasing) :


* KaleidoIFS_010.jpg (176.08 KB, 640x640 - viewed 1164 times.)
Logged
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #17 on: May 03, 2010, 10:49:08 PM »

These Kaleidoscopic fractal are amazing!!! I have to try with this.
Logged

subblue
Conqueror
*******
Posts: 116



WWW
« Reply #18 on: May 03, 2010, 11:26:12 PM »

I'm loving this new algorithm. Lots to explore smiley

Lots of windows:


And the inside:

Logged

www.subblue.com - a blog exploring mathematical and generative graphics
knighty
Fractal Iambus
***
Posts: 819


« Reply #19 on: May 04, 2010, 02:08:56 PM »

Quote
The -2 is in reality the radius of a bounding sphere of the fractal..

I'm not sure I understand.
These things do not turn to dust as far as I can see.
I'm now doing something where I've zoomed to a magnification of about 1.5 million, using just DE=sqrt(R)/scale^i. I simply stop if DE<A, and my A is now about 1E-11. Must say I have max iters set at 100 and bailout at 1000.

Here it is (without anti aliasing) :
With a max iterations of 100 you don't need the -2. If scale=3, A=1E-11 corresponds roughly to 21 iteration. So with max iters set 100 you can (in principle) zoom much deeper before getting dust.

Here is a sequence for the last picture of the original post. this is done with rotate1()=rotate2(). the rotation is about the z axis.


Here is the algorithms I use for simple tetra-sierpinski and menger sponge. A nice feature of these is that you can control the recursion depth just like the classic "geometric" method:
Code:
sierpinski(x,y,z){
   scale=2;
   r=0;
   for(i=0;i<MI && r<1;i++){
      x1=rot[0][0]*x+rot[1][0]*y;
      y1=rot[0][1]*x+rot[1][1]*y;
      z1=z;
      x=x1;y=y1;z=z1;
     
      if(x-y<0){x1=y;y=x;x=x1;}
      if(x+y<0){x1=-y;y=-x;x=x1;}
      if(x-z<0){x1=z;z=x;x=x1;}
      if(x+z<0){x1=-z;z=-x;x=x1;}
      if(y-z<0){y1=z;z=y;y=y1;}
      if(y+z<0){y1=-z;z=-y;y=y1;}
     
      r=(x+y-z-1)*1/sqrt(3);
     
      x=scale*x-(scale-1);
      y=scale*y-(scale-1);
      z=scale*z-(scale-1);
   }
   return r*scale^(1-i);
}

menger(x,y,z){
   scale=3;
   r=0;
   for(i=0;i<MI && r<1;i++){
      x=abs(x);y=abs(y);z=abs(z);
      if(x-y<0){x1=y;y=x;x=x1;}
      if(x-z<0){x1=z;z=x;x=x1;}
      if(y-z<0){y1=z;z=y;y=y1;}
     
      x1=x-1;y1=y-1;z1=z-1;
      r=max(x1,max(y1,z1));
      /*nice alternative that gives rounded (external) edges.
      It's not necessary to calc the sqrt() at eache iteration
      if(x1<0 && y1<0 && z1<0) r=max(x1,max(y1,z1));
      else r=sqrt(max(0,x1)^2+max(0,y1)^2+max(0,z1)^2);
      */
     
      x=scale*x-(scale-1);
      y=scale*y-(scale-1);
      z=scale*z;
      if(z>0.5*(scale-1)) z-=(scale-1);
   }
   r*scale^(1-i)
}
Logged
bib
Global Moderator
Fractal Senior
******
Posts: 2070


At the borders...


100008697663777 @bib993
WWW
« Reply #20 on: May 04, 2010, 03:08:18 PM »

I like a lot the "mechanical" aspect of this cubes.

Next challenge : can anyone do a fractal that will look like the Eiffel tower ? cheesy

Logged

Between order and disorder reigns a delicious moment. (Paul Valéry)
knighty
Fractal Iambus
***
Posts: 819


« Reply #21 on: May 04, 2010, 09:39:36 PM »

That should be possible. We already have one that looks a little like "l'arche de la Défense".  grin

I'm loving this new algorithm. Lots to explore smiley

Lots of windows:
<Quoted Image Removed>

And the inside:
<Quoted Image Removed>

The inside looks promising. It would be useful to have a cutting plane at hand for those that have more interresting features inside.

You can add colouring as in this post http://www.fractalforums.com/index.php?topic=2526.msg12794#msg12794. I use this one for the menger sponge family:
Code:
Mengercolor(x,y,z){
   r=x*x+y*y+z*z;
   c=0;
   for(i=0;i<MI;i++){//It is better to use a fixed iterations number to avoid shift when zooming.

      rotate1();

      c1=0;
      c1+=0.5*(1-sgn(x));c1+=0.5*(1-sgn(y));c1+=0.5*(1-sgn(z));
      x=abs(x);y=abs(y);z=abs(z);
      if(x-y<0){x1=y;y=x;x=x1;c1+=1;}
      if(x-z<0){x1=z;z=x;x=x1;c1+=1;}
      if(y-z<0){y1=z;z=y;y=y1;c1+=1;}

      rotate2(); 
 
      x=scale*x-stc[0]*(scale-1);
      y=scale*y-stc[1]*(scale-1);
      z=scale*z;
      if(z>0.5*stc[2]*(scale-1)) {z-=stc[2]*(scale-1);c1+=1;}
      c+=c1*0.5;
      r=x*x+y*y+z*z;
   }
   return c;//this will be used as an index into a palette
}
Logged
Hamilton
Alien
***
Posts: 22


« Reply #22 on: May 05, 2010, 12:14:14 AM »

That's great shapes you got there, Knighty.  smiley
It sounds like a very interesting algorithm, indeed.
Did you use your own renderer to get thoses images?
Logged
knighty
Fractal Iambus
***
Posts: 819


« Reply #23 on: May 05, 2010, 02:17:21 PM »

It is a little, badly written, full of bugs script that runs with evaldraw (a nice program by ken silverman that includes a just in time c-like language compiler).  grin
Logged
Nahee_Enterprises
World Renowned
Fractal Senior
******
Posts: 2250


use email to contact


nahee_enterprises Nahee.Enterprises NaheeEnterprise
WWW
« Reply #24 on: May 05, 2010, 02:43:49 PM »

I'm loving this new algorithm.  Lots to explore  smiley
   ..........
And the inside:

I like this cut-away view!!   smiley   
Reminds me of a four barrel carburetor that gave me problems once while I was trying to give it a new kit.
 
Logged

Jesse
Download Section
Fractal Schemer
*
Posts: 1013


« Reply #25 on: May 05, 2010, 05:24:14 PM »

Have only done some basics without rotation yet, but it gives also funny alternating hybrids:


Yes, it is a hybrid of vegetables and mint bonbons...
Logged
knighty
Fractal Iambus
***
Posts: 819


« Reply #26 on: May 05, 2010, 10:09:17 PM »

Nice rendering! (as usual  tongue stuck out) Is it a mix of juliabulb and tetra-sierpinski?
Logged
JosLeys
Strange Attractor
***
Posts: 258


WWW
« Reply #27 on: May 05, 2010, 10:22:26 PM »

Knighty, do you have some background information on how you constructed the generator code?
I mean, how does does
if(x-y<0){x1=y;y=x;x=x1;}
    if(x+y<0){x1=-y;y=-x;x=x1;}
    if(x-z<0){x1=z;z=x;x=x1;}  etc etc

generate the Sierpinsky ? ..and the code for the Menger sponge is also a bit of magic in my eyes..

I was trying to generate an octahedral Sierpinsky, but so far all my efforts have failed..
Logged
knighty
Fractal Iambus
***
Posts: 819


« Reply #28 on: May 05, 2010, 11:22:45 PM »

These are the symmetry planes of the tetrahedra...etc. I have to go now. I'll try to give more info tomorrow.
Logged
msltoe
Iterator
*
Posts: 187


« Reply #29 on: May 06, 2010, 12:46:09 AM »

Good stuff here...

If you remember some of my escape-time Sierpinskis, what you can do in general is define a set of vertices (e.g., those for an octahedron). Then for a given "z", find the nearest vertex. Reflect off the vertex, etc. using 2*(vertex)-point or something like that.

http://www.fractalforums.com/3d-fractal-generation/sierpinski-like-fractals-using-an-iterative-function/

-mike
Logged
Pages: 1 [2] 3 4 ... 10   Go Down
  Print  
 
Jump to:  


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.282 seconds with 25 queries. (Pretty URLs adds 0.018s, 2q)