]> gitweb.factorcode.org Git - factor.git/blob - unmaintained/cfdg/models/sierpinski/sierpinski.factor
c02806f5b9fb1a747bffdd6b3f6b7c639b2d7066
[factor.git] / unmaintained / cfdg / models / sierpinski / sierpinski.factor
1
2 USING: kernel namespaces math opengl.gl opengl.glu ui ui.gadgets.slate
3        random-weighted cfdg ;
4
5 IN: cfdg.models.sierpinski
6
7 : shape ( -- ) circle ;
8
9 ! : sierpinski ( -- )
10 ! iterate? [
11 !   shape
12 !   [ 0.6 s 5 r  0.2 b -1.5  y          0 x sierpinski ] do
13 !   [ 0.6 s 5 r -0.2 b  0.75 y -1.2990375 x sierpinski ] do
14 !   [ 0.6 s 5 r         0.75 y  1.2990375 x sierpinski ] do
15 ! ] when ;
16
17 : sierpinski ( -- )
18 iterate? [
19   shape
20   [ -1.5 y          0 x 0.6 s 5 r  0.2 b sierpinski ] do
21   [ 0.75 y -1.2990375 x 0.6 s 5 r -0.2 b sierpinski ] do
22   [ 0.75 y  1.2990375 x 0.6 s 5 r        sierpinski ] do
23 ] when ;
24
25 : top ( -- ) [ -13.5 r 0.5 b sierpinski ] do ;
26
27 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
28
29 : init ( -- )
30   [ ]           >background
31   { -4 8 -4 8 } >viewport
32   0.01          >threshold
33   [ top ]       >start-shape ;
34
35 : run ( -- ) [ init ] cfdg-window. ;
36
37 MAIN: run