9 type Ellipse (cx
: float, cy
: float, a
: float, b
: float, alpha
: float) =
14 member this
.Alpha = alpha
15 member this
.Area = a
* b
* Math.PI
17 // Does the ellipse contain the point (x, y)?.
18 member this
.Contains x y
=
19 ((x - cx
) * cos
alpha + (y
- cy
) * sin
alpha) ** 2.0 / a
** 2.0 + ((x - cx
) * sin
alpha - (y
- cy
) * cos
alpha) ** 2.0 / b
** 2.0 <= 1.0
21 member this
.CutAVericalLine (y
: float) : bool =
22 a
** 2.0 + b
** 2.0 - 2.0 * y
** 2.0 + 4.0 * y
* cx
- 2.0 * cx
** 2.0 + a
** 2.0 * cos
(2.0 * alpha) - b
** 2.0 * cos
(2.0 * alpha) > 0.0
24 member this
.CutAnHorizontalLine (x: float) : bool =
25 a
** 2.0 + b
** 2.0 - 2.0 * x ** 2.0 + 4.0 * x * cy
- 2.0 * cy
** 2.0 - a
** 2.0 * cos
(2.0 * alpha) + b
** 2.0 * cos
(2.0 * alpha) > 0.0
27 member this
.isOutside
(width
: float) (height
: float) =
28 this
.Cx < 0.0 || this.Cx >= width
||
29 this.Cy < 0.0 || this.Cy >= height
||
30 this.CutAVericalLine 0.0
|| this.CutAVericalLine width ||
31 this.CutAnHorizontalLine 0.0
|| this.CutAnHorizontalLine height
34 type CellClass = HealthyRBC | InfectedRBC | Peculiar
39 elements
: Matrix<byte
> }
42 type Line (a
: float, b
: float) =
47 type PointD (x: float, y
: float) =