]> gitweb.factorcode.org Git - factor.git/blob - unmaintained/cfdg/models/snowflake/snowflake.factor
9efb3352fa7c7e2c9e9cff54d778ee2160a3bb37
[factor.git] / unmaintained / cfdg / models / snowflake / snowflake.factor
1
2 USING: kernel namespaces math opengl.gl opengl.glu ui ui.gadgets.slate
3        random-weighted cfdg ;
4
5 IN: cfdg.models.snowflake
6
7 : spike ( -- )
8 iterate? [
9   { { 1    [ square
10              [ 0.95 y 0.97 s spike ] do ] }
11     { 0.03 [ square
12              [ 60 r spike ] do
13              [ -60 r spike ] do
14              [ 0.95 y 0.97 s spike ] do ] } }
15   call-random-weighted
16 ] when ;
17
18 : snowflake ( -- )
19 spike
20 [ 60 r spike ] do
21 [ 120 r spike ] do
22 [ 180 r spike ] do
23 [ 240 r spike ] do
24 [ 300 r spike ] do ;
25
26 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
27
28 : init ( -- )
29   [ ]               >background
30   { -40 80 -40 80 } >viewport
31   0.1               >threshold
32   [ snowflake ]     >start-shape ;
33
34 : run ( -- ) [ init ] cfdg-window. ;
35
36 MAIN: run
37