   "Takes a color value and returns a vector containing the red, green, and blue
   component channels as floating-point numbers."
   [color]
+  {:pre [(color? color)]}
   (vec (.getRGBColorComponents (Color. (unchecked-int color)) nil)))
 
 

  See: http://en.wikipedia.org/wiki/HSL_and_HSV"
  (import
    java.awt.Color))


;;;;; RGB COLOR SPACE ;;;;;

(defn hsv
  "Creates a color value from a hue, saturation, and value. The fractional
  portion of the hue determines the angle in the HSV space; saturation and
  value should be numbers from [0.0, 1.0].

  The primary red, green, and blue hues are found at 0/3, 1/3, and 2/3,
  respectively."
  [h s v]
  (Color/HSBtoRGB (float h) (float s) (float v)))


