Aardvark.Base


Ellipse2d

A 2D ellipse is defined by its center and two half-axes. Note that in principle any two conjugate half-diameters can be used as axes, however some algorithms require that the major and minor half axes are known. By convention in this case, axis0 is the major half axis.

Constructors

ConstructorDescription
new(center, axis0, axis1)
Signature: (center:V2d * axis0:V2d * axis1:V2d) -> unit

Instance members

Instance memberDescription
Area
Signature: float
ForEachVector(count, index_vector_act)
Signature: (count:int * index_vector_act:Action<int,V2d>) -> unit

Perform the supplied action for each of count vectors from the center of the ellipse to the circumference.

GetPoint(alpha)
Signature: alpha:float -> V2d
GetPoints(count)
Signature: count:int -> V2d []

Get count points on the circumference of the ellipse.

GetVector(alpha)
Signature: alpha:float -> V2d
IsInvalid
Signature: bool
Modifiers: abstract
IsValid
Signature: bool
Modifiers: abstract

Static members

Static memberDescription
FromConjugateDiameters(center, a, b)
Signature: (center:V2d * a:V2d * b:V2d) -> Ellipse2d

Construct ellipse from two conjugate diameters, and set Axis0 to the major axis and Axis1 to the minor axis. The algorithm was constructed from first principles.

FromConjugateDiameters(...)
Signature: (center:V2d * a:V2d * b:V2d * major2:byref<float> * minor2:byref<float>) -> Ellipse2d

Construct ellipse from two conjugate diameters, and set Axis0 to the major axis and Axis1 to the minor axis. The algorithm was constructed from first principles. Also computes the squared lengths of the major and minor half axis.

Fork me on GitHub