ronin/desktop/sources/lisp/prelude.lisp
2019-07-26 09:42:20 +09:00

36 lines
533 B
Common Lisp

;
(echo "Loading prelude.lisp")
;
(def frame-rect (frame))
; translate
(defn translate
(r p)
(clone r
(rect
(of p :x)
(of p :y)
(of r :w)
(of r :h))))
; times
(defn times
(v f)
(
(f v)
(if
(gt v 1)
(times
(sub v 1) f))))
; convert deg to radians
(defn deg-rad
(deg)
(mul deg
(div PI 180)))
; position on a circle from angle
(defn circle-pos
(cx cy r a) {:x
(add cx
(mul r
(cos a))) :y
(add cy
(mul r
(sin a)))})