; dejong attractor

(
  (clear)
  (defn point (x y color) (fill (circle x y 0.1) color))
  (defn _dejong (x y a b c d)
    (rest ((point 
      (add 300 (mul 100 x))
      (add 400 (mul 100 y))
      "rgba(255,0,0,0.5)")
    (add (sin (mul a y)) (mul x (cos (mul b x))))
    (add (mul x (sin (mul x c))) (cos (mul d y)))
    ))
  )

  (defn dejong (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 128000 1.4 -2.3 2.4 -2.1)
)