Aardvark.Base


Ellipse3d

A 3D ellipse is defined by its center, its plane normal, 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, normal, axis0, axis1)
Signature: (center:V3d * normal:V3d * axis0:V3d * axis1:V3d) -> unit

Instance members

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

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

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

Get count points on the circumference of the ellipse.

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

Static members

Static memberDescription
FromConjugateDiameters(...)
Signature: (center:V3d * normal:V3d * a:V3d * b:V3d) -> Ellipse3d

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:V3d * normal:V3d * a:V3d * b:V3d * major2:byref<float> * minor2:byref<float>) -> Ellipse3d

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