Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,26 @@
|
|||
(defn draw-circle [draw-function x0 y0 radius]
|
||||
(letfn [(put [x y m]
|
||||
(let [x+ (+ x0 x)
|
||||
x- (- x0 x)
|
||||
y+ (+ y0 y)
|
||||
y- (- y0 y)
|
||||
x0y+ (+ x0 y)
|
||||
x0y- (- x0 y)
|
||||
xy0+ (+ y0 x)
|
||||
xy0- (- y0 x)]
|
||||
(draw-function x+ y+)
|
||||
(draw-function x+ y-)
|
||||
(draw-function x- y+)
|
||||
(draw-function x- y-)
|
||||
(draw-function x0y+ xy0+)
|
||||
(draw-function x0y+ xy0-)
|
||||
(draw-function x0y- xy0+)
|
||||
(draw-function x0y- xy0-)
|
||||
(let [[y m] (if (pos? m)
|
||||
[(dec y) (- m (* 8 y))]
|
||||
[y m])]
|
||||
(when (<= x y)
|
||||
(put (inc x)
|
||||
y
|
||||
(+ m 4 (* 8 x)))))))]
|
||||
(put 0 radius (- 5 (* 4 radius)))))
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
(let [circle-points (atom [])]
|
||||
(letfn [(draw-fn [x y]
|
||||
(swap! circle-points #(conj % [x y])))]
|
||||
(draw-circle draw-fn 10 10 7))
|
||||
(let [empty-grid (vec (repeat 20 (vec (repeat 20 " "))))
|
||||
grid (reduce (fn [grid xy] (assoc-in grid xy "x"))
|
||||
empty-grid
|
||||
@circle-points)]
|
||||
(doseq [line grid]
|
||||
(println (clojure.string/join line)))))
|
||||
Loading…
Add table
Add a link
Reference in a new issue