37 lines
909 B
Factor
37 lines
909 B
Factor
|
|
USING: kernel namespaces math opengl.gl opengl.glu ui ui.gadgets.slate
|
|
random-weighted cfdg ;
|
|
|
|
IN: cfdg.models.sierpinski
|
|
|
|
: shape ( -- ) circle ;
|
|
|
|
! : sierpinski ( -- )
|
|
! iterate? [
|
|
! shape
|
|
! [ 0.6 s 5 r 0.2 b -1.5 y 0 x sierpinski ] do
|
|
! [ 0.6 s 5 r -0.2 b 0.75 y -1.2990375 x sierpinski ] do
|
|
! [ 0.6 s 5 r 0.75 y 1.2990375 x sierpinski ] do
|
|
! ] when ;
|
|
|
|
: sierpinski ( -- )
|
|
iterate? [
|
|
shape
|
|
[ -1.5 y 0 x 0.6 s 5 r 0.2 b sierpinski ] do
|
|
[ 0.75 y -1.2990375 x 0.6 s 5 r -0.2 b sierpinski ] do
|
|
[ 0.75 y 1.2990375 x 0.6 s 5 r sierpinski ] do
|
|
] when ;
|
|
|
|
: top ( -- ) [ -13.5 r 0.5 b sierpinski ] do ;
|
|
|
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
: init ( -- )
|
|
[ ] >background
|
|
{ -4 8 -4 8 } >viewport
|
|
0.01 >threshold
|
|
[ top ] >start-shape ;
|
|
|
|
: run ( -- ) [ init ] cfdg-window. ;
|
|
|
|
MAIN: run |