Graphisoft®

GeometryVersion: 1.0

Ellipse2D functions

These functions work on Ellipses.

In case of ellipses there is an angle parameter with the role of the angle in circles. Its name is ellipse angle and has a range of [0..2PI). There is an isomorphism between this angle parameter and the points of the ellipse. Even more, there is a conversion between an angle and an ellipse angle: rotate the ellipse so that its main axis is parallel to axis x and then make a distortion on the ellipse to get a circle with diameter being equal to the main axis of the ellipse (DoAffinPt). Then the angle belonging to the transformated point is the ellipse angle of the original point.
The main difference between the circle angle and the ellipse angle is that moving a point the same distance on the perimeter the angle parameter change will be different at different parts of the ellipse.

In case of ellipses there is an another parameter with role of the angle and ellipse angle in circles. Its range is [0..1). In whole ellipses it is the ellipse angle divided by 2*PI. In elliptic arcs (see later), the parameter starts always from the starting point of the arc.

The third method to identify a point of an ellipse is the point coordinates themselves. These three methods: ellipse angle, parameter, coordinates all identify uniquely a point of an ellipse. And of course there are conversions between them:

From/To Point Ellipse angle Parameter
Point - Geometry::ComputeEllipseFi Geometry::ComputeEllipse_t
Ellipse angle Geometry::ComputeEllipseCoord - n.a.
Parameter Geometry::GetEllipseVal n.a. -

Geometry::DoAffinPt
Geometry::Ellipse

Geometry::GetEllipseTan
Geometry::EllipseLen
Geometry::Ellipse_ax
Geometry::GetEllipseNearPt
Geometry::DistortEllipse
Geometry::DivEllipsePart
Geometry::DivEllipseDiff
Geometry::EllipseTangentCircle
Geometry::DivEllipseDiff_Arc

See Also

Geometry, Geometry::XEllipseLine, Geometry::XEllipseCircle, Geometry::XEllipseEllipse