diff --git a/extra/springies/models/3snake/3snake.factor b/extra/springies/models/3snake/3snake.factor new file mode 100644 index 0000000000..92d39ac2c2 --- /dev/null +++ b/extra/springies/models/3snake/3snake.factor @@ -0,0 +1,168 @@ + +USING: kernel namespaces arrays sequences threads math ui random bake + springies springies.ui ; + +IN: springies.models.3snake + +: random-range ( a b -- n ) 1+ over - random + ; + +: model ( -- ) + +{ } clone >nodes +{ } clone >springs +0.001 >time-slice +gravity off + +1 19.0 328.0 0.0 0.0 1.0 1.0 mass +2 36.0 328.0 0.0 0.0 1.0 1.0 mass +3 54.0 328.0 0.0 0.0 1.0 1.0 mass +4 72.0 328.0 0.0 0.0 1.0 1.0 mass +5 90.0 328.0 0.0 0.0 1.0 1.0 mass +6 108.0 328.0 0.0 0.0 1.0 1.0 mass +7 126.0 328.0 0.0 0.0 1.0 1.0 mass +8 144.0 328.0 0.0 0.0 1.0 1.0 mass +9 162.0 328.0 0.0 0.0 1.0 1.0 mass +10 180.0 328.0 0.0 0.0 1.0 1.0 mass +11 198.0 328.0 0.0 0.0 1.0 1.0 mass +12 216.0 328.0 0.0 0.0 1.0 1.0 mass +13 234.0 328.0 0.0 0.0 1.0 1.0 mass +14 252.0 328.0 0.0 0.0 1.0 1.0 mass +15 270.0 328.0 0.0 0.0 1.0 1.0 mass +16 288.0 328.0 0.0 0.0 1.0 1.0 mass +17 306.0 328.0 0.0 0.0 1.0 1.0 mass +18 324.0 328.0 0.0 0.0 1.0 1.0 mass +19 342.0 328.0 0.0 0.0 1.0 1.0 mass +20 360.0 328.0 0.0 0.0 1.0 1.0 mass +21 378.0 328.0 0.0 0.0 1.0 1.0 mass +22 396.0 328.0 0.0 0.0 1.0 1.0 mass +23 414.0 328.0 0.0 0.0 1.0 1.0 mass +24 432.0 328.0 0.0 0.0 1.0 1.0 mass +25 450.0 328.0 0.0 0.0 1.0 1.0 mass +26 468.0 328.0 0.0 0.0 1.0 1.0 mass +27 504.0 328.0 0.0 0.0 1.0 1.0 mass +28 486.0 328.0 0.0 0.0 1.0 1.0 mass +29 522.0 328.0 0.0 0.0 1.0 1.0 mass +30 540.0 328.0 0.0 0.0 1.0 1.0 mass +31 558.0 328.0 0.0 0.0 1.0 1.0 mass +32 576.0 328.0 0.0 0.0 1.0 1.0 mass +33 594.0 328.0 0.0 0.0 1.0 1.0 mass +34 612.0 328.0 0.0 0.0 1.0 1.0 mass +35 626.0 328.0 0.0 0.0 1.0 1.0 mass +1 1 2 200.0 1.500000 18.0 spng +2 3 2 200.0 1.500000 18.0 spng +3 3 4 200.0 1.500000 18.0 spng +4 4 5 200.0 1.500000 18.0 spng +5 5 6 200.0 1.500000 18.0 spng +6 6 7 200.0 1.500000 18.0 spng +7 7 8 200.0 1.500000 18.0 spng +8 8 9 200.0 1.500000 18.0 spng +9 9 10 200.0 1.500000 18.0 spng +10 10 11 200.0 1.500000 18.0 spng +11 11 12 200.0 1.500000 18.0 spng +12 12 13 200.0 1.500000 18.0 spng +13 13 14 200.0 1.500000 18.0 spng +14 14 15 200.0 1.500000 18.0 spng +15 15 16 200.0 1.500000 18.0 spng +16 16 17 200.0 1.500000 18.0 spng +17 17 18 200.0 1.500000 18.0 spng +18 18 19 200.0 1.500000 18.0 spng +19 19 20 200.0 1.500000 18.0 spng +20 20 21 200.0 1.500000 18.0 spng +21 21 22 200.0 1.500000 18.0 spng +22 22 23 200.0 1.500000 18.0 spng +23 23 24 200.0 1.500000 18.0 spng +24 24 25 200.0 1.500000 18.0 spng +25 25 26 200.0 1.500000 18.0 spng +26 26 28 200.0 1.500000 18.0 spng +27 28 27 200.0 1.500000 18.0 spng +28 27 29 200.0 1.500000 18.0 spng +29 29 30 200.0 1.500000 18.0 spng +30 30 31 200.0 1.500000 18.0 spng +31 31 32 200.0 1.500000 18.0 spng +32 32 33 200.0 1.500000 18.0 spng +33 33 34 200.0 1.500000 18.0 spng +34 34 35 200.0 1.500000 18.0 spng +35 1 3 200.0 1.500000 36.0 spng +36 2 4 200.0 1.500000 36.0 spng +37 3 5 200.0 1.500000 36.0 spng +38 4 6 200.0 1.500000 36.0 spng +39 5 7 200.0 1.500000 36.0 spng +40 6 8 200.0 1.500000 36.0 spng +41 7 9 200.0 1.500000 36.0 spng +42 8 10 200.0 1.500000 36.0 spng +43 9 11 200.0 1.500000 36.0 spng +44 10 12 200.0 1.500000 36.0 spng +45 11 13 200.0 1.500000 36.0 spng +46 12 14 200.0 1.500000 36.0 spng +47 13 15 200.0 1.500000 36.0 spng +48 14 16 200.0 1.500000 36.0 spng +49 15 17 200.0 1.500000 36.0 spng +50 16 18 200.0 1.500000 36.0 spng +51 17 19 200.0 1.500000 36.0 spng +52 18 20 200.0 1.500000 36.0 spng +53 19 21 200.0 1.500000 36.0 spng +54 20 22 200.0 1.500000 36.0 spng +55 21 23 200.0 1.500000 36.0 spng +56 22 24 200.0 1.500000 36.0 spng +57 23 25 200.0 1.500000 36.0 spng +58 24 26 200.0 1.500000 36.0 spng +59 25 28 200.0 1.500000 36.0 spng +60 26 27 200.0 1.500000 36.0 spng +61 28 29 200.0 1.500000 36.0 spng +62 27 30 200.0 1.500000 36.0 spng +63 29 31 200.0 1.500000 36.0 spng +64 30 32 200.0 1.500000 36.0 spng +65 31 33 200.0 1.500000 36.0 spng +66 32 34 200.0 1.500000 36.0 spng +67 33 35 200.0 1.500000 36.0 spng +68 1 4 200.0 1.500000 53.0 spng +69 2 5 200.0 1.500000 54.0 spng +70 3 6 200.0 1.500000 54.0 spng +71 4 7 200.0 1.500000 54.0 spng +72 5 8 200.0 1.500000 54.0 spng +73 6 9 200.0 1.500000 54.0 spng +74 7 10 200.0 1.500000 54.0 spng +75 8 11 200.0 1.500000 54.0 spng +76 9 12 200.0 1.500000 54.0 spng +77 10 13 200.0 1.500000 54.0 spng +78 11 14 200.0 1.500000 54.0 spng +79 12 15 200.0 1.500000 54.0 spng +80 13 16 200.0 1.500000 54.0 spng +81 14 17 200.0 1.500000 54.0 spng +82 15 18 200.0 1.500000 54.0 spng +83 16 19 200.0 1.500000 54.0 spng +84 17 20 200.0 1.500000 54.0 spng +85 18 21 200.0 1.500000 54.0 spng +86 19 22 200.0 1.500000 54.0 spng +87 20 23 200.0 1.500000 54.0 spng +88 21 24 200.0 1.500000 54.0 spng +89 22 25 200.0 1.500000 54.0 spng +90 23 26 200.0 1.500000 54.0 spng +91 24 28 200.0 1.500000 54.0 spng +92 25 27 200.0 1.500000 54.0 spng +93 26 29 200.0 1.500000 54.0 spng +94 28 30 200.0 1.500000 54.0 spng +95 27 31 200.0 1.500000 54.0 spng +96 29 32 200.0 1.500000 54.0 spng +97 30 33 200.0 1.500000 54.0 spng +98 31 34 200.0 1.500000 54.0 spng +99 32 35 200.0 1.500000 50.0 spng + +10 +[ + -400 400 random-range -400 400 random-range 2array + nodes> random + set-node-vel +] +times + +; + +: go* ( quot -- ) + [ [ [ springies-window* 1000 sleep % ] with-scope ] with-ui ] bake call ; + +! : go ( -- ) [ [ springies-window* 1000 sleep model ] with-scope ] with-ui ; + +: go ( -- ) [ model ] go* ; + +MAIN: go \ No newline at end of file diff --git a/extra/springies/ui/ui.factor b/extra/springies/ui/ui.factor index 5a8f2455dd..a7968fb1f7 100644 --- a/extra/springies/ui/ui.factor +++ b/extra/springies/ui/ui.factor @@ -51,7 +51,7 @@ DEFER: maybe-loop : springies-window* ( -- ) C[ display ] >slate - { 500 500 } slate> set-slate-dim + { 700 500 } slate> set-slate-dim C[ { 500 500 } >world-size loop on [ run ] in-thread ] slate> set-slate-graft C[ loop off ] slate> set-slate-ungraft