 (defn pick-a-colour []
   (nth paint-colours (rand-int (count paint-colours))))
 
-;; now we need to assemble all of the above functions into something
-;; that will work out everything
+;; Now we need to assemble all of the above functions into something
+;; the resembles Jackson Pollock applying paint to a canvas. We start
+;; with a point, project a path, work out masses and velocities,
+;; project and then splatter. This is all then packaged up with a
+;; colour for drawing onto our canvas.
 
 (defn fling-paint []
   (let [position       (starting-point)


;; ## Paths vs Points

;; having all the code for dealing with a point is all well and good,
;; but we need to be dealing with paths

;; I've had a play with path generation before and besier curves gave
;; a nice output

;; De Casteljau's algorithm is the way we shall be coming up with
;; paths

;; first off we need to generate the anchor points for the curve

;; to do this we will need to be able to:
;;   - get a random number between two points (for distance, steps)
;;   - get a random direction
;;   - add vectors

(defn random-between [lower-bound upper-bound]
  (+ lower-bound (rand (- upper-bound lower-bound))))

                      path))
          [0 0 0])))

;; As well as the velocity at each point along the path, we also need
;; how much paint there is falling. Again to keep life simple we are
;; going to model this as a linear flow along the path with there
;; always being no paint left.
