ianmackenzie/elm-geometry/3.7.0

NOTE: the latest version is 4.0.0

Ellipse3d

An Ellipse3d is an Ellipse2d in 3D space. This module contains functionality for:

  • Constructing ellipses
  • Scaling, rotating and translating ellipses
  • Converting ellipses between different coordinate systems
type alias Ellipse3d units coordinates =
Ellipse3d units coordinates

Constructors

on :
SketchPlane3d units coordinates { defines : coordinates2d }
-> Ellipse2d units coordinates2d
-> Ellipse3d units coordinates

Construct a 3D ellipse by placing a 2D ellipse on a sketch plane.

Properties

centerPoint : Ellipse3d units coordinates -> Point3d units coordinates

Get the center point of an ellipse.

Ellipse3d units coordinates
-> SketchPlane3d units coordinates defines

Get the X and Y axes of an ellipse as a SketchPlane3d.

xAxis : Ellipse3d units coordinates -> Axis3d units coordinates

Get the X axis of an ellipse.

yAxis : Ellipse3d units coordinates -> Axis3d units coordinates

Get the Y axis of an ellipse.

xDirection : Ellipse3d units coordinates -> Direction3d coordinates

Get the direction of the ellipse's X axis.

yDirection : Ellipse3d units coordinates -> Direction3d coordinates

Get the direction of an ellipse's Y axis.

xRadius : Ellipse3d units coordinates -> Quantity Float units

Get the radius of an ellipse along its X axis. This may be either the minimum or maximum radius.

yRadius : Ellipse3d units coordinates -> Quantity Float units

Get the radius of an ellipse along its Y axis. This may be either the minimum or maximum radius.

area : Ellipse3d units coordinates -> Quantity Float (Squared units)

Get the area of an ellipse.

Conversion

toEllipticalArc : Ellipse3d units coordinates -> EllipticalArc3d units coordinates

Convert an ellipse to a 360 degree elliptical arc.

Transformations

These transformations generally behave just like the ones in the Point3d module.

Point3d units coordinates
-> Float
-> Ellipse3d units coordinates
-> Ellipse3d units coordinates

Scale an ellipse about a given point by a given scale.

Axis3d units coordinates
-> Angle
-> Ellipse3d units coordinates
-> Ellipse3d units coordinates

Rotate an ellipse around a given axis by a given angle.

Vector3d units coordinates
-> Ellipse3d units coordinates
-> Ellipse3d units coordinates

Translate an ellipse by a given displacement.

Direction3d coordinates
-> Quantity Float units
-> Ellipse3d units coordinates
-> Ellipse3d units coordinates

Translate an ellipse in a given direction by a given distance.

Plane3d units coordinates
-> Ellipse3d units coordinates
-> Ellipse3d units coordinates

Mirror an ellipse across a given plane.

Unit conversions

at :
Quantity Float (Rate units2 units1)
-> Ellipse3d units1 coordinates
-> Ellipse3d units2 coordinates

Convert an ellipse from one units type to another, by providing a conversion factor given as a rate of change of destination units with respect to source units.

at_ :
Quantity Float (Rate units1 units2)
-> Ellipse3d units1 coordinates
-> Ellipse3d units2 coordinates

Convert an ellipse from one units type to another, by providing an 'inverse' conversion factor given as a rate of change of source units with respect to destination units.

Coordinate conversions

Frame3d units globalCoordinates { defines : localCoordinates }
-> Ellipse3d units globalCoordinates
-> Ellipse3d units localCoordinates

Take an ellipse defined in global coordinates, and return it expressed in local coordinates relative to a given reference frame.

Frame3d units globalCoordinates { defines : localCoordinates }
-> Ellipse3d units localCoordinates
-> Ellipse3d units globalCoordinates

Take an ellipse considered to be defined in local coordinates relative to a given reference frame, and return that circle expressed in global coordinates.