MbArc3D Elliptical Arc

The MbArc3D class is declared in the cur_arc_3d.h file.

The elliptical arc is a inheritor of the MbCurve3D curve. The MbArc3D elliptical arc is defined by two radii a and b and two angles trim1 and trim2 specified in the local coordinate system MbPlacement3D position.

The angles trim1 and trim2 are measured along the arc in the direction of motion from the position.axisX vector to the position.axisY vector. The angles trim1 and trim2 will be called trimming parameters. The trimming parameter values equal to zero and 2π correspond to the point on the coordinate axis position.axisX. The curve parameter t takes values on the interval 0 ≤ t ≤ trim2 – trim1. The curve may be periodic. For a periodic curve, trim2 – trim1 = 2π.

In the PointOn( double & t, MbCartPoint3D & r ) method, the radius vector r of the curve is described by the vector function

\[\mathbf{r}(t) = \mathbf{position.origin} + a \cos(\mathit{trim1} + t)\,\mathbf{position.axisX} + b \sin(\mathit{trim1} + t)\,\mathbf{position.axisY}.\]

The elliptical arc is shown in the figure:

../../../../_images/O.4.4.1.png

The radii of the curve must be greater than zero: a > 0, b > 0. The trimming parameters must satisfy the inequalities trim1 < trim2.

The local coordinate system position may be either right-handed or left-handed.