oscpacking-0.3.0.0: Graphics/OscPacking/Geometry.hs
{-|
Module : Graphics.OscPacking.Geometry
Description : Geometry helper functions and data types
Copyright : (c) Christopher Howard, 2016
License : GPL-3
Maintainer : ch.howard@zoho.com
-}
module Graphics.OscPacking.Geometry where
import Prelude ((-), (**), (+), sqrt, Float)
data Circle = Circle {
position :: Point,
radius :: Float
}
type Point = (Float, Float)
type Metric = Point -> Point -> Float
euclidean :: Metric
euclidean (x1, y1) (x2, y2) = sqrt ((x2 - x1)**2 + (y2 - y1)**2)
distToCircle :: Point -> Circle -> Float
distToCircle point circle = euclidean point (position circle) - radius circle