diff options
author | Bruno Cichon <ebrasca.ebrasca@gmail.com> | 2015-11-04 16:31:55 +0100 |
---|---|---|
committer | Bruno Cichon <ebrasca.ebrasca@gmail.com> | 2015-11-04 16:31:55 +0100 |
commit | 85ed3c869b52562a5c11a0438d56a304eb409adf (patch) | |
tree | 1ab88d9b57791832045dc8fc4238223199986661 /examples | |
parent | 00e055406031fab6f4e2e5122c50c4050a1eb253 (diff) |
Add deflsys
Diffstat (limited to 'examples')
-rw-r--r-- | examples/l-system-exemple.lisp | 111 |
1 files changed, 54 insertions, 57 deletions
diff --git a/examples/l-system-exemple.lisp b/examples/l-system-exemple.lisp index e95f4d3..63302e7 100644 --- a/examples/l-system-exemple.lisp +++ b/examples/l-system-exemple.lisp @@ -1,62 +1,59 @@ (in-package #:l-system-examples) -(def-l-system-clause 'f - #'(lambda (list) - (let* ((r0 0.5235988) - (n0 (* 1.01 (car list)))) - `((f ,(* 1.11 n0)) - - ([) - (+ ,r0) - (f ,(* 0.89 n0)) - (]) - - ([) - (- ,r0) - (f ,(* 0.89 n0)) - (]) - - ([) - (/ ,r0) - (f ,(* 0.89 n0)) - (]) - - ([) - (q ,r0) - (f ,(* 0.89 n0)) - (]) - - (f ,(* 1.11 n0)) - - ([) - (+ ,r0) - (f ,(* 0.89 n0)) - (]) - - ([) - (- ,r0) - (f ,(* 0.89 n0)) - (]) - - ([) - (/ ,r0) - (f ,(* 0.89 n0)) - (]) - - ([) - (q ,r0) - (f ,(* 0.89 n0)) - (]) - - (f ,(* 1.11 n0)))))) - -(def-l-system-clause '+ - #'(lambda (list) - `((+ ,(+ 0.1 (car list)))))) - -(def-l-system-clause '- - #'(lambda (list) - `((- ,(+ 0.1 (car list)))))) +(deflsys f (n) + (let* ((r0 0.5235988) + (n0 (* 1.01 n))) + `((f ,(* 1.11 n0)) + + ([) + (+ ,r0) + (f ,(* 0.89 n0)) + (]) + + ([) + (- ,r0) + (f ,(* 0.89 n0)) + (]) + + ([) + (/ ,r0) + (f ,(* 0.89 n0)) + (]) + + ([) + (q ,r0) + (f ,(* 0.89 n0)) + (]) + + (f ,(* 1.11 n0)) + + ([) + (+ ,r0) + (f ,(* 0.89 n0)) + (]) + + ([) + (- ,r0) + (f ,(* 0.89 n0)) + (]) + + ([) + (/ ,r0) + (f ,(* 0.89 n0)) + (]) + + ([) + (q ,r0) + (f ,(* 0.89 n0)) + (]) + + (f ,(* 1.11 n0))))) + +(deflsys + (n) + `((+ ,(+ 0.1 n)))) + +(deflsys - (n) + `((- ,(+ 0.1 n)))) ;; Rest (defclass test-window (gl-window) |