open System
open System.Drawing
+open System.Collections.Generic
open Emgu.CV
open Emgu.CV.Structure
open Const
+type Points = HashSet<Point>
+
type Ellipse (cx: float32, cy: float32, a: float32, b: float32, alpha: float32) =
member this.Cx = cx
member this.Cy = cy
member this.Alpha = alpha
member this.Area = a * b * PI
- // Does the ellipse contain the point (x, y)?.
+ // Does the ellipse contain the point (x, y)?
member this.Contains x y =
((x - cx) * cos alpha + (y - cy) * sin alpha) ** 2.f / a ** 2.f + ((x - cx) * sin alpha - (y - cy) * cos alpha) ** 2.f / b ** 2.f <= 1.f
type Line (a: float32, b: float32) =
member this.A = a
member this.B = b
- member this.Valid = not (Single.IsInfinity this.A)
-[<Struct>]
-type PointF (x: float32, y: float32) =
- member this.X = x
- member this.Y = y