MbCrookedSpiral Spiral with Curved Planar Axis
The MbCrookedSpiral class is declared in the cur_crooked_spiral.h file.
A crooked spiral with a planar curved axis is a derived curve of MbSpiral. The spiral is defined by a local coordinate system MbPlacement3D position, a two-dimensional curve MbCurve curve that defines the spiral axis, the spiral radius radius, the spiral step step, and two boundary parameters of the spiral tmin and tmax. The curve also has some additional data that are optional and serve to speed up the curve methods.
The two-dimensional curve curve lies in the XZ plane of the local coordinate system position and defines the spiral axis. The position.axisZ axis serves as the abscissa axis, and the position.axisX axis serves as the ordinate axis of the two-dimensional space of the curve curve. The origin of the two-dimensional coordinate system of the curve curve coincides with the origin of the local coordinate system position. The spiral radius is constant. The tmin and tmax parameters are angles and are measured from the position.axisX vector to the position.axisY vector. Angle values that are multiples of 2\(\pi\) correspond to points of the curve in the XZ plane of the local coordinate system.
In the PointOn(double & t, MbCartPoint3D & r) method, the radius vector r of the curve is described by the vector function
where point is a point of the two-dimensional curve computed by the curve-> PointOn(t, point) method, and normal is the normal of the two-dimensional curve computed by the curve-> Normal(t, normal) method.
A variable-radius spiral is shown in the figure:
The minimum curvature radius of the curve curve must not be less than the spiral radius. 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.