MbEvolutionSurface Swept Surface

Class MbEvolutionSurface is declared in file surf_evolution_surface.h.

Kinematic surface MbEvolutionSurface belongs to the group of swept surfaces MbSweptSurface.Kinematic surface is a general case of a swept surface with an arbitrary guiding curve. The swept surface is defined by a generatrix curve MbCurve3D * curve, a guiding object MbCurve3D * spine, and the start position of the guiding curve MbCartPoint3D origin. The surface also has some additional data that are not mandatory and are used to speed up the work of the surface methods.

The first parameter of the surface u coincides with the parameter of the generatrix curve curve. The first parameter of the surface takes values on the segment umin ≤ u ≤ umax, which corresponds to the domain of the generatrix curve. The surface can be periodic in the first parameter if the generatrix curve is periodic.

The guiding object spine replaces the guiding curve, is constructed on the basis of the curve, and differs from it in that it can generate a local coordinate system associated with the curve. The second parameter of the surface v coincides with the curve parameter of the guiding object spine. The second parameter of the surface takes values on the segment vmin ≤ v ≤ vmax, which corresponds to the domain of the guiding curve. The surface can be periodic in the second parameter if the guiding curve is periodic.

In method PointOn( double u, double v, MbCartPoint3D & s ) the radius vector of the surface s is described by the vector function

\begin{equation} \mathbf{s}(u, v) = \mathbf{spine}(v) + \left( \mathbf{curve}(u) - \mathbf{origin} \right) \mathbf{M}(v), \end{equation}

where M(v) is a matrix associated with the guiding curve. Note that multiplication of the vector (curve(u) - origin) by matrix M(v) is performed on the right. Matrix M(v) has the form

\begin{equation} \mathbf{M}(v) = \mathbf{A}^{-1}(vmin) \cdot \mathbf{A}(v), \end{equation}

where matrix A(v) is a coordinate transformation matrix of the radius vector of a point from the moving coordinate system associated with the guiding curve to the global coordinate system. Matrix A(v) depends on the second parameter of the surface. The rows of matrix A(v) are composed of the components of the basis vectors of the moving coordinate system:

\begin{equation} A(v) = \begin{bmatrix} i_{1}(v) \\ i_{2}(v) \\ i_{3}(v) \end{bmatrix}, \end{equation}

where i1(v) is the tangent vector of the guiding curve, i2(v) is a vector orthogonal to i1(v) and associated with vector direction of the guiding object spine, and i3(v) is a vector orthogonal to i1(v) and i2(v). The swept surface is shown in Fig. 1:

../../../../_images/O.5.11.1.png

Fig. 1

The tangent vector i1(v) is computed from the guiding curve. Vector i2(v) is computed from the condition of smooth variation when moving from point to point along the guiding curve and orthogonality to i1(v). Vector i3(v) is computed as the cross product of vectors i1(v) and i2(v).