MbExpansionSurface Motion Surface
The MbExpansionSurface class is declared in the surf_expansion_surface.h file.
The MbExpansionSurface motion surface belongs to the group of swept surfaces MbSweptSurface. The motion surface is a special case of a swept surface with a curvilinear spine curve. The motion surface is described by the generatrix curve MbCurve3D * curve, the spine curve MbCurve3D * spine, and the point at the start of the spine MbCartPoint3D origin. The surface is formed by moving the generatrix curve along the spine curve. In a special case, the generatrix curve of the motion surface can change its shape. In the latter case, the curve data contain the second generatrix curve brink, the point at the end of the spine ending, the initial parameter tmin of the brink curve, and the derivative dt of the parameter of the brink curve with respect to the parameter of the generatrix curve curve. The derivative dt is defined by
where tmax is the terminal parameter of the brink curve. In the general case, the pointer to the second generatrix curve brink can be null, which means that the second generatrix curve is absent.
The first surface parameter u coincides with the parameter of the generatrix curve curve. The first surface parameter takes values on the interval umin ≤ u ≤ umax, which corresponds to the domain of the generatrix curve. The surface can be periodic with respect to the first parameter if the generatrix curve is periodic.
The second surface parameter v coincides with the parameter of the spine curve and takes values on the interval vmin ≤ v ≤ vmax. The surface can be periodic with respect to the second parameter if the spine curve is periodic and the second generatrix curve is absent.
In the PointOn( double u, double v, MbCartPoint3D & s ) method, in the general case, the position vector of the surface s is described by the vector function
The motion surface in the general case is shown in Fig. 1.
Fig. 1
In the PointOn( double u, double v, MbCartPoint3D & s ) method, in the special case, the position vector of the surface s is described by the vector function
where
The motion surface in the special case is shown in Fig. 2:
Fig. 2
To avoid self-intersections of the surface, the generatrix and spine curves must not have segments that are parallel to each other. In certain cases, the motion surface may have singular points.