MbConeSpiral Conical Spiral

The MbConeSpiral class is declared in the cur_cone_spiral.h file.

The conical spiral is derived from the MbSpiral curve. The spiral is defined by the local coordinate system MbPlacement3D position, the radius radius, the tangent of the cone angle tgAlpha, the spiral pitch divided by 2π, step_2pi, and two boundary parameters of the spiral tmin and tmax. The curve also has some additional data that is optional and is used to speed up the curve methods.

The spiral axis coincides with the position.axisZ axis of the local coordinate system. The tgAlpha parameter is equal to the tangent of the angle between the spiral axis and the cone generatrix of the spiral. The tmin and tmax parameters are angles measured from the position.axisX vector to the position.axisY vector. Angle values that are multiples of 2π correspond to points of the curve in the XZ plane of the local coordinate system. The curve parameter t takes values on the segment tmin ≤ t ≤ tmax.

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

\[\mathbf{r}(t) = \mathbf{position.origin} + \left( radius + t \cdot tgAlpha \cdot step\_2pi \right) \left( \cos(t) \cdot \mathbf{position.axisX} + \sin(t) \cdot \mathbf{position.axisY} \right) + \left( t \cdot step\_2pi \right) \mathbf{position.axisZ}.\]

The conical spiral is shown in the figure:

../../../../_images/O.4.14.1.png

The curve radius must be greater than zero: radius > 0. For the boundary parameters, the inequality tmin < tmax must hold. The curve cannot be periodic.

The local coordinate system position can be either right-handed or left-handed. For a cylindrical spiral, tgAlpha = 0.