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] 2 3 4   Go Down
 Author Topic: Jerusalem cube - can be made via KIFS?  (Read 6268 times) Description: 0 Members and 1 Guest are viewing this topic.
DarkBeam
Global Moderator
Fractal Senior

Posts: 2512

Fragments of the fractal -like the tip of it

 « on: November 30, 2012, 07:06:34 PM »

Looks a promising fractal.

http://alt-fractals.blogspot.it/2011/08/jerusalem-cube.html

I can see that it does not have an uniform scale btw, so I guess it's impossible to convert it in simple KIFS, without breaking strict continuity of space?

Thanks for deep thoughts
 Logged

No sweat, guardian of wisdom!
M Benesi
Fractal Schemer

Posts: 1075

 « Reply #1 on: December 01, 2012, 12:02:23 AM »

I've seen something similar while messing with Menger Cubes or Koch Cubes...  not sure about the specifics of the formula I used.  Did a quick try, and didn't find it.

All right.  I've gotta convert it (the Menger) to a NON DE formula to make the render sharper, but for now, use the Menger KIFS in Fragmentarium.  Rotation angle= 45 , rotate around 1,0,0  (the x axis, I suppose).  You have cut outs, however, where the Menger holes are rotated to.  Need to move the rotation...
 « Last Edit: December 01, 2012, 12:40:16 AM by M Benesi » Logged

cKleinhuis
Fractal Senior

Posts: 7044

formerly known as 'Trifox'

 « Reply #2 on: December 01, 2012, 12:04:37 AM »

why is it using non rational numbers ?! because the cube is divided by 5 instead of 3 ?!
 Logged

---

divide and conquer - iterate and rule - chaos is No random!
M Benesi
Fractal Schemer

Posts: 1075

 « Reply #3 on: December 01, 2012, 12:41:05 AM »

Nah..   Cube, with side length 1 has a diagonal of $\sqrt{2}$.  In fact, all diagonals of a square are side length * $\sqrt{2}$....
 « Last Edit: December 01, 2012, 12:43:48 AM by M Benesi » Logged

kram1032
Fractal Senior

Posts: 1863

 « Reply #4 on: December 01, 2012, 02:38:45 AM »

That's pretty
 Logged
DarkBeam
Global Moderator
Fractal Senior

Posts: 2512

Fragments of the fractal -like the tip of it

 « Reply #5 on: December 01, 2012, 10:57:28 AM »

why is it using non rational numbers ?! because the cube is divided by 5 instead of 3 ?!

The holes and cubes of a menger sponge are equal in size, BUT! look carefully the JCube... Some cubes are smaller some bigger (just in the in the 1st iter!), that means that you can not multiply all components by a scaling factor like in normal fractals (3 or 2 usually). When this happens normally you need some cuts and this is bad whenever you try to add rotations somewhere!

 Logged

No sweat, guardian of wisdom!
DarkBeam
Global Moderator
Fractal Senior

Posts: 2512

Fragments of the fractal -like the tip of it

 « Reply #6 on: December 01, 2012, 11:03:58 AM »

Quick sketch with paint

Refer to http://alt-fractals.blogspot.it/2011/11/jerusalem-square.html for more accurate reference
 jcube.PNG (5.5 KB, 218x358 - viewed 974 times.) « Last Edit: December 01, 2012, 11:05:43 AM by DarkBeam » Logged

No sweat, guardian of wisdom!
David Makin
Global Moderator
Fractal Senior

Posts: 2286

 « Reply #7 on: December 01, 2012, 11:06:36 AM »

Just work out the smallest sub-cube that the Jcube can be made from correctly and use as many plain transforms with that scale as necessary.
e.g. if it had 2 uniform holes (with all solid cubes the same size) at the 1st level then it would be the same as the standard Menger but with 5*5*5 transforms with scale 1/5, if 3 at the first level then 7*7*7 with scale 1/7 etc. - obviously with uneven sizes of holes and/or solids much smaller sub-cubes may be necessary although perhaps this could be avoided with adjustment of scale of the transforms maybe based on depth in the tree....
 Logged

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

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
DarkBeam
Global Moderator
Fractal Senior

Posts: 2512

Fragments of the fractal -like the tip of it

 « Reply #8 on: December 01, 2012, 11:12:57 AM »

Just work out the smallest sub-cube that the Jcube can be made from correctly and use as many plain transforms with that scale as necessary.
e.g. if it had 2 uniform holes (with all solid cubes the same size) at the 1st level then it would be the same as the standard Menger but with 5*5*5 transforms with scale 1/5, if 3 at the first level then 7*7*7 with scale 1/7 etc. - obviously with uneven sizes of holes and/or solids much smaller sub-cubes may be necessary although perhaps this could be avoided with adjustment of scale of the transforms maybe based on depth in the tree....

But KIFS just use "simple" transforms like in this Menger sponge idk about "tree depth"

Code:
for(i=0;i<MI && r<bailout;i++){
rotate1(x,y,z);

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

rotate2(x,y,z);

x=scale*x-CX*(scale-1);
y=scale*y-CY*(scale-1);
z=scale*z;
if(z>0.5*CZ*(scale-1)) z-=CZ*(scale-1);

r=x*x+y*y+z*z;
}
 Logged

No sweat, guardian of wisdom!
David Makin
Global Moderator
Fractal Senior

Posts: 2286

 « Reply #9 on: December 01, 2012, 11:14:06 AM »

Tree depth==iteration count in KIFS
However I just realised that even KFS could use different scales based on location....

Personally I'm interested to see if anyone can come up with a fast way to render a finite-level "not" the Menger Sponge say "not" a level 4 Menger for instance
 « Last Edit: December 01, 2012, 11:19:36 AM by David Makin » Logged

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

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
DarkBeam
Global Moderator
Fractal Senior

Posts: 2512

Fragments of the fractal -like the tip of it

 « Reply #10 on: December 01, 2012, 11:16:18 AM »

Tree depth==iteration count in KIFS
Things may become hard to handle in hybrids? Itercount can not tell you the truth
 Logged

No sweat, guardian of wisdom!
David Makin
Global Moderator
Fractal Senior

Posts: 2286

 « Reply #11 on: December 01, 2012, 12:48:13 PM »

Things may become hard to handle in hybrids? Itercount can not tell you the truth

Depends on the type of hybrid
If not every iteration of the entire hybrid includes the "sponge" then a separate count would be required just to count iterations for which the "sponge" is used.
 Logged

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

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
knighty
Fractal Iambus

Posts: 819

 « Reply #12 on: December 02, 2012, 08:22:21 PM »

I can't get a KIFS too!
Here is what I get:
Code:
static scl=1/(sqrt(2)-1) /*=1+sqrt(2)*/, a=1-2*(sqrt(2)-1);
JC3(x,y,z){
r=x*x+y*y+z*z;dd=1;
for(i=0;i<MI && r<100;i++){
x=abs(x);y=abs(y);z=abs(z);
if(x<y){t=x;x=y;y=t;}
if(z<x){t=z;z=x;x=t;}
if(x<y){t=x;x=y;y=t;}
if(y<a && x>1-2*a+y-a){
x-=1;z-=1;
x*=scl*scl;y*=scl*scl;z*=scl*scl;dd*=scl*scl;
x+=1;z+=1;
}else{
x-=1;y-=1;z-=1;
x*=scl;y*=scl;z*=scl;dd*=scl;
x+=1;y+=1;z+=1;
}
r=x*x+y*y+z*z;
}
(sqrt(r)-1.75)/dd
}

(BTW, in reply #6 picture, if the big square size is 1 we have:
Scale2=Scale1^2.
that means that: Scale1^2+2*Scale1-1=0.
the correct value is: Scale1=sqrt(2)-1. which is the positive solution the the equation above. )
 jeru.jpg (78.13 KB, 640x480 - viewed 665 times.) Logged
Alef
Fractal Supremo

Posts: 1174

 « Reply #13 on: December 03, 2012, 08:05:59 AM »

Wov, a Vaticane Cube. This is one of the interesting new fractal ever. Probably it don't offers  much variants, but this shape have deep cultural and religious background what makes it attractive.

Maybe two sierpinsky triangles making this would be pretty interesting thing.
 Logged

fractal catalisator
DarkBeam
Global Moderator
Fractal Senior

Posts: 2512

Fragments of the fractal -like the tip of it

 « Reply #14 on: December 03, 2012, 10:15:10 AM »

I can't get a KIFS too!
Here is what I get:
Code:
static scl=1/(sqrt(2)-1) /*=1+sqrt(2)*/, a=1-2*(sqrt(2)-1);
JC3(x,y,z){
r=x*x+y*y+z*z;dd=1;
for(i=0;i<MI && r<100;i++){
x=abs(x);y=abs(y);z=abs(z);
if(x<y){t=x;x=y;y=t;}
if(z<x){t=z;z=x;x=t;}
if(x<y){t=x;x=y;y=t;}
if(y<a && x>1-2*a+y-a){
x-=1;z-=1;
x*=scl*scl;y*=scl*scl;z*=scl*scl;dd*=scl*scl;
x+=1;z+=1;
}else{
x-=1;y-=1;z-=1;
x*=scl;y*=scl;z*=scl;dd*=scl;
x+=1;y+=1;z+=1;
}
r=x*x+y*y+z*z;
}
(sqrt(r)-1.75)/dd
}

(BTW, in reply #6 picture, if the big square size is 1 we have:
Scale2=Scale1^2.
that means that: Scale1^2+2*Scale1-1=0.
the correct value is: Scale1=sqrt(2)-1. which is the positive solution the the equation above. )

KNIGHTY!!! How in the world you are always able to solve all problems! Your brain is a treasure chest! I adore it! I am envioussss!

I wonder if you are also able to make a "general" version that calculate the limit, and the other scale, so that Scale1 is a user parameter. Other possible params are of course Cx, Cy, Cz like the other Menger. Even if it will not support rotates it will be surely appreciated from the MB3D folks!!!

In other words; a = function(scl) and scl2 = function(scl) instead of a fixed value
 « Last Edit: December 03, 2012, 10:16:58 AM by DarkBeam » Logged

No sweat, guardian of wisdom!
 Pages: [1] 2 3 4   Go Down