initial
This commit is contained in:
1757
quicklisp.lisp
Normal file
1757
quicklisp.lisp
Normal file
File diff suppressed because it is too large
Load Diff
1
snek
Submodule
1
snek
Submodule
Submodule snek added at 0bc1307363
45
t.lisp
Normal file
45
t.lisp
Normal file
@@ -0,0 +1,45 @@
|
||||
(load "snek/src/load")
|
||||
|
||||
(setf *random-state* (make-random-state t))
|
||||
|
||||
(defvar *file* "out.png")
|
||||
(defvar *size* 1000)
|
||||
|
||||
(defmacro rand () `(random 1.0))
|
||||
|
||||
(defun rand-rgba ()
|
||||
(list (rand) (rand) (rand) (rand)))
|
||||
|
||||
(defun main ()
|
||||
(let ((mid (* *size* .5))
|
||||
(repeat (random 100))
|
||||
(grains (random 10))
|
||||
(itt (random 5000))
|
||||
(sand (sandpaint* *size* :active (rand-rgba) :bg (rand-rgba))))
|
||||
(loop for i in (linspace 100 900 repeat)
|
||||
for j from 1 to repeat do
|
||||
(print j)
|
||||
(let ((snk (snek*))
|
||||
(va (list 0 0))
|
||||
(vb (list 0 0))
|
||||
(p1 (list 100 i))
|
||||
(p2 (list 900 i)))
|
||||
|
||||
(loop for k from 1 to itt do
|
||||
(let ((v1 (insert-vert (l-on-line k itt p1 p2) into snk))
|
||||
(v2 (insert-vert (ladd va (l-on-line k itt p1 p2)) into snk)))
|
||||
|
||||
(setf va (ladd va (l-rand-in-circle (* 0.7 j))))
|
||||
(setf vb (ladd vb (l-rand-in-circle (* 0.001 j))))
|
||||
|
||||
(with-snek (snk)
|
||||
(with-all-verts (snk v)
|
||||
(move-vert v (ladd (l-rand-in-circle 0.1) vb)))
|
||||
(join-verts v1 v2))
|
||||
|
||||
(sandpaint-edges sand snk grains)
|
||||
(sandpaint-verts sand snk)))))
|
||||
|
||||
(sandpaint-save sand *file*)))
|
||||
|
||||
(main)
|
Reference in New Issue
Block a user