   (doseq [stroke strokes]
     (println (str "   " (doall stroke)))))
 
+(defn calc-xyz [alpha beta theta]
+  (let [alpha-rad (degree-to-radian alpha)
+        beta-rad  (degree-to-radian beta)
+        theta-rad (degree-to-radian theta)
+        r (+ (* (Math/cos beta-rad) first-arm) (* (Math/cos alpha-rad) second-arm))
+        y (+ (* (Math/sin beta-rad) first-arm) (* (Math/sin (- alpha-rad)) second-arm))]
+    (list (* r (Math/cos theta-rad)) y (* r (Math/sin (- theta-rad))))))
+
 (defn -main
   "main function"
   [& args]

(ns calc-angle.core
 (:require [clojure.string :as string]
           [clojure.core.reducers :as r])
 (:gen-class))

(declare radian-to-degree)


                  (- (second pt2) (second pt1))))))

(defn mix-pts [pt1 ratio1 pt2 ratio2]
  (list (+ 
          (* ratio1 (first pt1))
          (* ratio2 (first pt2)))
        (+
          (* ratio1 (second pt1))
          (* ratio2 (second pt2)))))

(defn preprocess-stroke [stroke]
  (defn append-point [stroke-arr new-tail]
