]> gitweb.factorcode.org Git - factor.git/commitdiff
Merge branch 'master' of git://factorcode.org/git/factor
authorEduardo Cavazos <dharmatech@finkelstein.stackeffects.info>
Thu, 8 Jan 2009 05:17:39 +0000 (23:17 -0600)
committerEduardo Cavazos <dharmatech@finkelstein.stackeffects.info>
Thu, 8 Jan 2009 05:17:39 +0000 (23:17 -0600)
extra/L-system/L-system.factor
extra/L-system/models/abop-2/abop-2.factor
extra/L-system/models/abop-3/abop-3.factor
extra/L-system/models/abop-4/abop-4.factor
extra/L-system/models/abop-5-angular/abop-5-angular.factor [new file with mode: 0644]
extra/L-system/models/abop-5/abop-5.factor
extra/L-system/models/abop-6/abop-6.factor [new file with mode: 0644]

index 9b8bdc1914b4ae1d7f4a81d5bfa1956858372e8e..5bc7ce1db606b3000bade9f1202490af4243c786 100644 (file)
@@ -256,7 +256,9 @@ DEFER: default-L-parser-values
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 TUPLE: <L-system> < gadget
-  camera display-list pedestal paused commands axiom rules string ;
+  camera display-list pedestal paused
+  turtle-values
+  commands axiom rules string ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
@@ -376,6 +378,7 @@ TUPLE: <L-system> < gadget
   L-SYSTEM display-list>> GL_COMPILE glNewList
 
     turtle
+    L-SYSTEM turtle-values>> [ ] or call
     L-SYSTEM string>> L-SYSTEM axiom>> or
     L-SYSTEM commands>>
     interpret-string
@@ -445,6 +448,11 @@ H{
   { T{ key-down f f "q"     } [ [ 5 roll-left    ] with-camera ] }
   { T{ key-down f f "w"     } [ [ 5 roll-right   ] with-camera ] }
 
+  { T{ key-down f { A+ } "LEFT"  } [ [ 1 strafe-left  ] with-camera ] }
+  { T{ key-down f { A+ } "RIGHT" } [ [ 1 strafe-right ] with-camera ] }
+  { T{ key-down f { A+ } "UP"    } [ [ 1 strafe-up    ] with-camera ] }
+  { T{ key-down f { A+ } "DOWN"  } [ [ 1 strafe-down  ] with-camera ] }
+
   { T{ key-down f f "r"     } [ start-rotation-thread          ] }
 
   {
index 2ed8f64abeba3a692f4b439200339bee9b1d793b..1168780300276250fdeea00e9a06b6b1c2d3cff8 100644 (file)
@@ -9,20 +9,23 @@ IN: L-system.models.abop-2
 
   L-parser-dialect >>commands
 
+  [ 30 >>angle ] >>turtle-values
+
   "c(12)FAL" >>axiom
 
   {
-    { "A" "F[&'(.7)!BL]>(137)[&'(.6)!BL]>(137)'(.9)!(.9)A" }
-    { "B" "F[-'(.7)!(.9)$CL]'(.9)!(.9)C" }
-    { "C" "F[+'(.7)!(.9)$BL]'(.9)!(.9)B" }
+    { "A" "F [&'(.7)!BL] >(137) [&'(.6)!BL] >(137) '(.9) !(.9) A" }
+    
+    { "B" "F [- '(.7) !(.9) $ C L] '(.9) !(.9) C" }
+    { "C" "F [+ '(.7) !(.9) $ B L] '(.9) !(.9) B" }
 
     { "L" "~c(8){+f(.1)-f(.1)-f(.1)+|+f(.1)-f(.1)-f(.1)}" }
 
   } >>rules ;
 
+
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 : main ( -- ) [ L-system abop-2 "L-system" open-window ] with-ui ;
 
 MAIN: main
-  
\ No newline at end of file
index 49a63eb074bf7c7351e22a6b521d7e6e6892172e..f594cafcd310c2ee37cef20b98ca1dc5f4ac2370 100644 (file)
@@ -9,6 +9,8 @@ IN: L-system.models.abop-3
 
   L-parser-dialect >>commands
 
+  [ 30 >>angle ] >>turtle-values
+
   "c(12)FA" >>axiom
 
  {
index 6b2688a4782f08d43d841965686c94a06c36758d..71cf32d4d7da1d05e045978739c32b23621efc5d 100644 (file)
@@ -9,6 +9,8 @@ IN: L-system.models.abop-4
 
   L-parser-dialect >>commands
 
+  [ 18 >>angle ] >>turtle-values
+
   "c(12)&(20)N" >>axiom
 
   {
diff --git a/extra/L-system/models/abop-5-angular/abop-5-angular.factor b/extra/L-system/models/abop-5-angular/abop-5-angular.factor
new file mode 100644 (file)
index 0000000..29b1c72
--- /dev/null
@@ -0,0 +1,33 @@
+
+USING: accessors ui L-system ;
+
+IN: L-system.models.abop-5-angular
+
+! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+: abop-5-angular ( <L-system> -- <L-system> )
+
+  L-parser-dialect >>commands
+
+  "&(90)+(90)a" >>axiom
+
+  {
+    { "a" "F[+(45)l][-(45)l]^;ca" }
+
+    { "l" "j" }
+    { "j" "h" }
+    { "h" "s" }
+    { "s" "d" }
+    { "d" "x" }
+    { "x" "a" }
+
+    { "F" "'(1.17)F'(.855)" }
+  }
+    >>rules ;
+
+! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+: main ( -- ) [ L-system abop-5-angular "L-system" open-window ] with-ui ;
+
+MAIN: main
+  
\ No newline at end of file
index abc346946aa6fbb69857e9b4687f32f235ccd9f2..5d6576f33a5f758d1eba44c971eb7c27cee14b96 100644 (file)
@@ -9,6 +9,8 @@ IN: L-system.models.abop-5
 
   L-parser-dialect >>commands
 
+  [ 5 >>angle ] >>turtle-values
+
   "&(90)+(90)a" >>axiom
 
   {
diff --git a/extra/L-system/models/abop-6/abop-6.factor b/extra/L-system/models/abop-6/abop-6.factor
new file mode 100644 (file)
index 0000000..0639d53
--- /dev/null
@@ -0,0 +1,34 @@
+
+USING: accessors ui L-system ;
+
+IN: L-system.models.abop-6
+
+! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+: abop-6 ( <L-system> -- <L-system> )
+
+  L-parser-dialect >>commands
+
+  [ 5 >>angle ] >>turtle-values
+
+  ! "&(90)+(90)FFF[-(120)'(.6)x][-(60)'(.8)x][+(120)'(.6)x][+(60)'(.8)x]x"
+  "FFF[-(120)'(.6)x][-(60)'(.8)x][+(120)'(.6)x][+(60)'(.8)x]x"
+  >>axiom
+
+  {
+    { "a" "F[cdx][cex]F!(.9)a" }
+    { "x" "a" }
+
+    { "d" "+d" }
+    { "e" "-e" }
+
+    { "F" "'(1.25)F'(.8)" }
+  }
+    >>rules ;
+
+! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+: main ( -- ) [ L-system abop-6 "L-system" open-window ] with-ui ;
+
+MAIN: main
+  
\ No newline at end of file