adding dejong example and reduce
This commit is contained in:
parent
cb1aff02e4
commit
530264742a
@ -70,6 +70,10 @@ function Library (ronin) {
|
|||||||
return arr.filter(fn)
|
return arr.filter(fn)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.reduce = (fn, arr, acc = 0) => {
|
||||||
|
return arr.reduce(fn, acc)
|
||||||
|
}
|
||||||
|
|
||||||
this.first = (arr) => {
|
this.first = (arr) => {
|
||||||
return arr[0]
|
return arr[0]
|
||||||
}
|
}
|
||||||
|
@ -1,22 +1,27 @@
|
|||||||
(
|
(
|
||||||
(clear)
|
(clear)
|
||||||
(def point (lambda (x y color) (stroke (circle x y 1) 1 color)))
|
(def point (lambda (x y color) (stroke (circle x y 1) 1 color)))
|
||||||
(point 50 50 "red")
|
(def _dejong (lambda (x y a b c d)
|
||||||
(point 50 150 "red")
|
(rest ((point
|
||||||
(def dejong (lambda (i x y a b c d)
|
|
||||||
(if (gt i 0)
|
|
||||||
(
|
|
||||||
(point
|
|
||||||
(add 200 (mul 50 x))
|
(add 200 (mul 50 x))
|
||||||
(add 200 (mul 50 y))
|
(add 200 (mul 50 y))
|
||||||
"red")
|
"red")
|
||||||
(dejong
|
|
||||||
(sub i 1)
|
|
||||||
(add (sin (mul a y)) (mul x (cos (mul b x))))
|
(add (sin (mul a y)) (mul x (cos (mul b x))))
|
||||||
(add (mul x (sin (mul x c))) (cos (mul d y)))
|
(add (mul x (sin (mul x c))) (cos (mul d y)))
|
||||||
a b c d)
|
|
||||||
)
|
|
||||||
(echo "done"))
|
|
||||||
))
|
))
|
||||||
(dejong 800 40 40 1.4 -2.3 2.4 -2.1)
|
))
|
||||||
|
|
||||||
|
|
||||||
|
(def dejong (lambda (r a b c d)
|
||||||
|
(reduce
|
||||||
|
(lambda (acc val)
|
||||||
|
(first (
|
||||||
|
(_dejong (first acc) (last acc) a b c d)
|
||||||
|
)))
|
||||||
|
(range 0 r)
|
||||||
|
(2 1)
|
||||||
|
)
|
||||||
|
))
|
||||||
|
|
||||||
|
(dejong 4000 1.4 -2.3 2.4 -2.1)
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user