Fractals - IFS catalogue

→ Fractals in L-Systems

Levy dragon :

f1(z) = (1 + i)z/2 - 1
f2(z) = (1 - i)z/2 + 1   
levy {
  .5  -.5  .5   .5 -1  0  .5
  .5   .5  -.5  .5  1  0  .5
}
   

Heighway dragon :

f1(z) = (1 + i)z/2 - 1
f2(z) = (-1 + i)z/2 + 1   
(said "Jurassic park")
heighway {
   .5 -.5  .5   .5 -1 0 .5
  -.5 -.5  .5  -.5  1 0 .5
}
   

Twindragon :

f1(z) = (1 + i)z/2 - 1
f2(z) = (-1 - i)z/2 + 1   
twin {
    .5 -.5  .5  .5  1 0 .5
   -.5	.5 -.5 -.5 -1 0 .5
}
   

Tame twindragon :

f1(z) = (1 + i√7)z/4 - 1
f2(z) = (1 + i√7)z/4 + 1   
(di-ursus)
tame {
   .25  -.6614378 .6614378 .25  1 0 .5
   .25  -.6614378 .6614378 .25 -1 0 .5
}
   

Scorpion :

f1(z) = (1 + i)z/2 - 1   
f2(z) = (1 - i)z/2 + 1
   with z conjugate of z   
scorpion {
  .5  .5  .5 -.5 -1 0 .5
  .5  .5 -.5  .5  1 0 .5
}
   

Arachnodragon :

f1(z) = (-1 + i)z/2 - 1   
f2(z) = (-1 - i)z/2 + 1
arachnodragon {
  -.5 .5  .5  .5 -1 0 .5
  -.5 .5 -.5 -.5  1 0 .5
}
   

Dibolt :

f1(z) = (1 + i)z/2 - 1   
f2(z) = (-1 + i)z/2 + 1
dibolt {
  .5 .5 .5 -.5 -1 0 .5
 -.5 .5 .5  .5  1 0 .5
}
   

Square spiral :

f1(z) = -iz/√3 + i/√3
f2(z) = iz/√3 + 1
f3(z) = iz/√3 + 1 + i/√3  
trisquare {
  0  .5773503 -.5773503 0  0  .5773503 .33
  0 -.5773503  .5773503 0  1  0        .33
  0 -.5773503  .5773503 0  1  .5773503 .34
}
   

Terdragon :

f1(z) = λz
f2(z) = iz/√3 + λ
f3(z) = λz + λ
  with λ = 1/2 - i/(2√3)   
  and λ the conjugate   
terdragon {
 .5 .2886751 -.2886751 .5  0   0       0.33
  0 -.5773503 .5773503  0 .5 -.2886751 0.33
 .5 .2886751 -.2886751 .5 .5 .2886751  0.34
}
   

half-terdragon :

f1(z) = λz
f2(z) = -λz + x
f3(z) = -iz/√3 + x
  with λ = ei π/6   
halfterd {
   .5 -.2886751 .2886751    .5  0  0  .33
  -.5  .2886751 -.2886751  -.5  1  .5 .33
   0   .5773503 -.5773503   0   1  .5 .34
}
   

half-terdragon j :

f1(z) = λz
f2(z) = -λz + 1
f3(z) = -iz/√3 + ei π/3
  with λ = ei π/6   
halfterdj {
   .5 -.2886751 .2886751    .5  0  0      .33
  -.5  .2886751 -.2886751  -.5  1  0      .33
   0   .5773503 -.5773503   0  .5 .866025 .34
}
   

z-Terjig :

f1(z) = λz
f2(z) = iz/√3 + λ
f3(z) = λz + λ
  with λ = e-i π/6/√3   
zterjig { ; sablier
  .5 -.2886751 -.2886751 -.5 0   0        .33
  0   .5773503  .5773503  0  .5 -.2886751 .33
  .5 -.2886751 -.2886751 -.5 .5  .2886751 .34
}
   

Terlock :

f1(z) = λz
f2(z) = -λz + 1
f3(z) = λz + 1
  with λ = e-i π/6/√3   
terlock {
   .5  -.2886751 .2886751  .5  0  0  .33
  -.5   .2886751 .2886751  .5  1  0  .33
   .5  -.2886751 .2886751  .5  1  0  .34
}
   

short Terbolt :

f1(z) = λz
f2(z) = iz/√3 + 5/4 - i√3/4
f3(z) = λz + 1
  with λ = ei π/6/√3   
sterbolt {
  .5 .2886751 .2886751  -.5  0      0         .33
  0 -.5773503 .5773503   0   1.25  -.4330127  .33
  .5 .2886751 .2886751  -.5  1      0         .34
}
   

cis-Fudgeflake (India) :

f1(z) = λz
f2(z) = λz + 1
f3(z) = λz + j   
  with λ = e-i π/6/√3   
  j = ei π/3
fudgeflake { ; c=1/sqrt(3), a = -30░
   .5  .288675 -.288675  .5  0  0       .33
   .5  .288675 -.288675  .5  1  0       .33
   .5  .288675 -.288675  .5 .5 .866025  .34
}
   

trans-Fudgeflake (Gosper) :

f1(z) = λz
f2(z) = λz + 1
f3(z) = λz + j   
  with λ = e-i π/6/√3   
gosper { ; c=1/sqrt(3), a = -30░, y/-y 
   .5  -.288684 -.288667  -.5  0  0       .33
   .5  -.288684 -.288667  -.5  1  0       .33
   .5  -.288684 -.288667  -.5 .5 .866025  .34
}
   

Sierpinski gasket:

f1(z) = z/2
f2(z) = z/2 + 1
f3(z) = z/2 - j
    j = e2iπ/3 = -1/2 + i√3/2
    -j = eiπ/3 = 1/2 + i√3/2
gasket { ; Sierpinski gasket
  .5 0 0 .5  0  0      .33
  .5 0 0 .5  1  0      .33
  .5 0 0 .5 .5 .866025 .34
}
   

Flake :

f1(z) = z/2
f2(z) = z/2 + 1
f3(z) = z/2 - j
flocon { ; Sierpinsky, -y
  .5 0 0 -.5  0  0      .33
  .5 0 0 -.5  1  0      .33
  .5 0 0 -.5 .5 .866025 .34
}
   

Triangle spiral :

f1(z) = z/2 + 1/2
f2(z) = jz/2 + 1 + j/2
f3(z) = jz/2 + 1/2 + j/2
f4(z) = -jz/2 + 1/2 + j/2
   j  = e2iπ/3 = -1/2 + i√3/2
trispi {
  .5   0         0         .5   .5   0        .25
 -.25 -.4330127  .4330127 -.25  .75  .4330127 .25
 -.25  .4330127 -.4330127 -.25  .25  .4330127 .25
  .25 -.4330127  .4330127  .25  .25  .4330127 .25
}
   

Triangle variant :

f1(z) = z/2 + 1/2
f2(z) = jz/2 + 1 + j/2
f3(z) = j/2 + 1/2 + j/2
f4(z) = z/2 + i√3/2
   j  = e2iπ/3 = -1/2 + i√3/2
trispi2 {
   .5   0         0         .5   .5  0        .25
  -.25 -.4330127  .4330127 -.25  .75 .4330127 .25
  -.25  .4330127 -.4330127 -.25  .25 .4330127 .25
   .5   0         0        -.5   0   .8660254 .25
}
   

Pseudo-gasket :

f1(z) = z/2
f2(z) = z/2 + 1
f3(z) = z/2 - j
f4(z) = z/2 + (1-j)/3   
   j  = e2iπ/3 = -1/2 + i√3/2
pseudogasket { ; pseudo Sierpinski (4-rep)
  .5  0  0 .5  0  0      .25
  .5  0  0 .5  1  0      .25
  .5  0  0 .5 .5 .866025 .25
  .5  0  0 .5 .5 .288675 .25
}
   

Shift-gasket :

f1(z) = z/2
f2(z) = jz/2 + 1
f3(z) = jz/2 + 1/2 + i√3/2
f4(z) = z/2 + 1/2 + i√3/6
   j  = e2iπ/3 = -1/2 + i√3/2
shiftgasket {
   .5   0         0         .5   0   0        .25
  -.25 -.4330127  .4330127 -.25  1   0        .25
  -.25  .4330127 -.4330127 -.25  .5  .8660254 .25
   .5   0         0         .5   .5  .2886751 .25
}
   

Triangle arrow :

f1(z) = z/2
f2(z) = jz/2 + 1
f3(z) = jz/2 + 1/2 + i√3/2
f4(z) = -z/2 + 3/2 + i√3/2
   j  = e2iπ/3 = -1/2 + i√3/2
triarrow {
   .5   0         0         .5   0  0        .25
  -.25 -.4330127  .4330127 -.25  1  0        .25
  -.25  .4330127 -.4330127 -.25  .5 .8660254 .25
  -.5   0         0        -.5  1.5 .8660254 .25
}
   

Curved arrow :

f1(z) = z/2
f2(z) = jz/2 + 1
f3(z) = jz/2 + 1/2 + i√3/2
f4(z) = -z/2 + 3/2 + i√3/6
   j  = e2iπ/3 = -1/2 + i√3/2
curved {
   .5   0         0         .5   0   0        .25
  -.25 -.4330127  .4330127 -.25  1   0        .25
  -.25  .4330127 -.4330127 -.25  .5  .8660254  .25
  -.5   0         0         .5  1.5  .2886751  .25
}
   

60-trimer 60-monomer :

f1(z) = z ei π/3/2
f2(z) = z ei π/3/2 + 1
f3(z) = z ei π/3/2 - j
f4(z) = z ei π/3/2 + (1-j)/3   
   j  = e2iπ/3 = -1/2 + i√3/2
trimono { ; 60-trimer 60-monomer
  .25  -.4330127 .4330127 .25 0   0        .25
  .25  -.4330127 .4330127 .25 1   0        .25
  .25  -.4330127 .4330127 .25 .5  .8660254 .25
  .25  -.4330127 .4330127 .25 .5  .2886751 .25
}
   

60-trimer 0-monomer :

f1(z) = z ei π/3/2 + x
f2(z) = z ei π/3/2 + x + 1
f3(z) = z ei π/3/2 + x - j
f4(z) = z ei π/3/2 + (1-j)/6  
   x = i√3/6,  j = e2i π/3
0trimono { ; 60-trimer 0-monomer
  .25  -.4330127 .4330127 .25 0   -.2886751 .25
  .25  -.4330127 .4330127 .25 1   -.2886751 .25
  .25  -.4330127 .4330127 .25 .5   .5773503 .25
  .5    0        0        .5  .25  .1443376 .25
}
   

Frog :

f1(z) = z/2 + 1/4 + i√3/4
f2(z) = -z/2 + 3/4 + 5i√3/12
f3(z) = -jz/2 + i√3/6
f4(z) = -jz/2 + 3/4 - i√3/12
   j = e2i π/3
frog {
   .5   0         0         .5   .25  .4330127  .25
  -.5   0         0         -.5  .75  .7216878  .25
   .25  .4330127 -.4330127  .25  0    .2886751  .25
   .25 -.4330127  .4330127  .25  .75 -.1443376  .25
}
   

Stingray :

f1(z) = z/2 + i/4
f2(z) = (z + 1)/2 + i/4
f3(z) = (iz + 1)/2 + i/4
f4(z) = -iz/2 + 3i/4
pastenague {
 .5  0   0  .5  0 .25 .25
 .5  0   0  .5 .5 .25 .25
  0 -.5  .5 0  .5 .25 .25
  0  .5 -.5 0   0 .75 .25
}
   

Anti-stingray :

f1(z) = (-z + 1)/2 + i/4
f2(z) = -z/2 + 1 + i/4
f3(z) = (iz + 1)/2 + i/4
f4(z) = -iz/2 + 3i/4
antipasty { ; anti-stingray
 -.5  0   0  .5 .5 .25 .25
 -.5  0   0  .5 1  .25 .25
  0 -.5  .5  0  .5 .25 .25
  0  .5 -.5  0  0  .75 .25
}
   

Quintet :

f1(z) = λz
f2(z) = λz + 1
f3(z) = λz + 1 + i
f4(z) = λz + i
f5(z) = λz + (1 + i)/2
  λ = ei arctan(1/2)/√5
crucipenta { ; Mandelbrot quintet
 .4  -.2 .2 .4 0  0  .25
 .4  -.2 .2 .4 1  0  .25
 .4  -.2 .2 .4 1  1  .25
 .4  -.2 .2 .4 0  1  .25
 .4  -.2 .2 .4 .5 .5 .25
}
   

trans - Quintet :

f1(z) = λz
f2(z) = λz + 1
f3(z) = λz + 1 + i
f4(z) = λz + i
f5(z) = λz + (1 + i)/2
  λ = ei arctan(1/2)/√5
tcrucipenta { ; trans
 .4  .2 .2 -.4 0  0  .25
 .4  .2 .2 -.4 1  0  .25
 .4  .2 .2 -.4 1  1  .25
 .4  .2 .2 -.4 0  1  .25
 .4  .2 .2 -.4 .5 .5 .25
}
   

Flowsnake :

f1(z) = λz
f2(z) = λz + 1
f3(z) = λz + 1 + j
f4(z) = λz - 2j
f5(z) = λz - 2j - 1
f6(z) = λz - j - 1
f7(z) = λz - j
  λ = ei arctan(√3/5)/√7
   j  = e2iπ/3 = -1/2 + i√3/2
hexa { 
 .3571429  -.1237179 .1237179 .3571429   0   0         .15
 .3571429  -.1237179 .1237179 .3571429   1   0         .14
 .3571429  -.1237179 .1237179 .3571429   1  1.732051   .14
 .3571429  -.1237179 .1237179 .3571429   0  1.732051   .14
 .3571429  -.1237179 .1237179 .3571429   .5  .8660254  .14
 .3571429  -.1237179 .1237179 .3571429  1.5  .8660254  .14
 .3571429  -.1237179 .1237179 .3571429  -.5  .8660254  .15
}
   

trans-Flowsnake :

f1(z) = λz
f2(z) = λz + 1
f3(z) = λz + 1 - j
f4(z) = λz - 2j
f5(z) = λz - 1 - 2j
f6(z) = λz - 1 - j
f7(z) = λz - j
  λ = ei arctan(√3/5)/√7
   j  = e2iπ/3 = -1/2 + i√3/2
thexa { 
 .3571429  .1237179 .1237179 -.3571429   0   0         .15
 .3571429  .1237179 .1237179 -.3571429   1   0         .14
 .3571429  .1237179 .1237179 -.3571429   1  1.732051   .14
 .3571429  .1237179 .1237179 -.3571429   0  1.732051   .14
 .3571429  .1237179 .1237179 -.3571429   .5  .8660254  .14
 .3571429  .1237179 .1237179 -.3571429  1.5  .8660254  .14
 .3571429  .1237179 .1237179 -.3571429  -.5  .8660254  .15
}
   

Irreptiles

Akiyama :

f1(z) = λz
f2(z) = λ5z + 1
   with λ ≈ 0.868837 ei 220.328°  
|λ|² solution of X5 + X = 1
akiyama { ; Pisot
  -.662  .562 -.562 -.662 0 0 .5
   .460 -.183  .183  .460 1 0 .5
}
   

Akiyama 2 :

f1(z) = λz
f2(z) = λ5z + 1
   with λ ≈ 0.868837 e-i 40.328°  
   (180° - 220.328°)
akiyama2 {
   .662  .562 -.562  .662 0 0 .5
  -.460 -.183  .183 -.460 1 0 .5
}
   

Akiyama 3 :

f1(z) = c.ez
f2(z) = -c5e5iαz + 1
    c ≈ 0.868837
    α ≈ 220.328°  
akiyama3 {
  -.662  .562 -.562 -.662 0 0 .5
  -.460  .183 -.183 -.460 1 0 .5
}
   

Pisot-3 :

f1(z) = c.ez
f2(z) = c³e3iαz + 1
   c ≈ 0.826031
   solution of X6 + X2 = 1  
   α ≈ 73.632°
pisot3 { 
   .233 -.793  .793  .233 0 0 .5
  -.426  .369 -.369 -.426 1 0 .5
}
   

Pisot-3 π-α :

f1(z) = c.eiα'z
f2(z) = c³e3iα'³z + 1
   idem 180° - 73.632°  
pisot6 { 
   .233 -.793 .793 .233 0 0 .5
   .426 -.369 .369 .426 1 0 .5
}
   

Pisot-3 -f2 :

f1(z) = c.ez
f2(z) = -c³e3iαz + 1
   idem 73.632°
pisot5 { 
  -.233 -.793  .793 -.233 0 0 .5
   .426  .369 -.369  .426 1 0 .5
}
   

Pisot-3 π-α, -f2 :

f1(z) = c.eiα'z
f2(z) = -c³e3iα'z + 1
   idem 180° - 73.632°
pisot4 { 
  -.233 -.793 .793 -.233 0 0 .5
  -.426 -.369 .369 -.426 1 0 .5
}
   

Pseudo-terdragon :

f1(z) = z.ei α/√2
f2(z) = z.e2i α/2 + 1
f3(z) = z.e2i α/2 - 1   
  α = arccos(√2/4)
     ≈ 69.295188°
pseudoter { ; 
  .25   -.6614378 .6614378  .25   0  0 .33
  -.375 -.3307189 .3307189 -.375  1  0 .33
  -.375 -.3307189 .3307189 -.375 -1  0 .34
}
   

Rauzy :

f1(z) = c.ez
f2(z) = c²e2iαz + 1
f3(z) = c³e3iαz + 1 + λ
c ≈ 0.73735270576, α ≈ 235.311°
rauzy {
  -.419  .606 -.606 -.419 0     0    .33
  -.192 -.509  .509 -.192 1     0    .33
   .388  .097 -.097  .388 .580 -.606 .34
}
   

Leaf :

f1(z) = -z/2 + 1
f2(z) = z/2 + 1/2
f3(z) = (1 + i)z/4 + 1/2
f4(z) = (1 - i)z/4 + 1/2
f5(z) = -(1 - i)z/4 + (3 - i)/4
f6(z) = -(1 + i)z/4 + (3 + i)/4

et variantes

leaf {
  -.5   0    0   .5  1    0   .17
   .5   0    0   .5  .5   0   .17
   .25 -.25  .25 .25 .5   0   .16
   .25  .25 -.25 .25 .5   0   .17
  -.25  .25  .25 .25 .75 -.25 .17
  -.25 -.25 -.25 .25 .75  .25 .16
}

2leaf {
   .5   0    0    .5   0   0  .17
   .5   0    0    .5   .5  0  .17
   .25 -.25  .25  .25  .5  0  .16
   .25  .25 -.25  .25  .5  0  .17
  -.25 -.25  .25 -.25  .5  0  .17
  -.25  .25 -.25 -.25  .5  0  .16
}

halfleaf {
   .5   0    0    .5   0   0   .17
   .5   0    0    .5   .5  0   .17
   .25 -.25  .25  .25  .5  0   .16
   .25  .25 -.25  .25  .25 .25 .17
  -.25 -.25  .25 -.25  .5  0   .17
  -.25  .25 -.25 -.25  .75 .25 .16
}
   

Images drawn by the IFS Construction Kit
These fractals have been reverse designed from the web site IFS Fractal rep-tiles
Some fractals need a rather long time to draw ... (slow converging)

IFS syntax

For each transform function, the coefficients are defined in order :
a,b,c,d,e,f,p      from the matrix :
(x') = (a   b) × (x) +  (e)
(y')   (c   d)   (y)    (f)
p is the probability for each transform, the sum of pi must be 1
Example :
; comments
fern { ; some fern
    0	 0    0  .16 0	 0 .01    ; f1
   .85	.04 -.04 .85 0 1.6 .85    ; f2
   .2  -.26  .23 .22 0 1.6 .07    ; f3
  -.15	.28  .26 .24 0 .44 .07    ; f4
  }

 

Home Arithmetic Geometric Misc Topics Scripts Games Exercices Mail Version Franšaise    Parent