Поверхность перемещения MbExpansionSurface
Класс MbExpansionSurface объявлен в файле surf_expansion_surface.h.
Поверхность перемещения MbExpansionSurface принадлежит к группе поверхностей движения MbSweptSurface. Поверхность перемещения является частным случаем поверхности движения с криволинейной направляющей кривой. Поверхность перемещения описывается образующей кривой MbCurve3D * curve, направляющей кривой MbCurve3D * spine, точкой в начале направляющей MbCartPoint3D origin. Поверхность образована перемещением образующей кривой вдоль направляющей кривой. В частном случае образующая кривая поверхности перемещения может менять свою форму. В последнем случае в данных кривой присутствует вторая образующая кривая brink, точка в конце направляющей ending, начальный параметр tmin кривой brink и производная dt параметра кривой brink по параметру образующей кривой curve. Производная dt определяется равенством
где tmax — конечный параметр кривой brink. В общем случае указатель на вторую образующую кривую brink может быть равен нулю, что означает, что вторая образующая кривая отсутствует.
Первый параметр u поверхности совпадает с параметром образующей кривой curve. Первый параметр поверхности принимает значения на отрезке umin ≤ u ≤ umax, который соответствует области определения образующей кривой. Поверхность может быть периодической по первому параметру, если периодической является образующая кривая.
Второй параметр поверхности v совпадает с параметром направляющей кривой и принимает значения на отрезке: vmin ≤ v ≤ vmax. Поверхность может быть периодической по второму параметру, если периодической является направляющая кривая и отсутствует вторая образующая кривая.
В методе PointOn( double u, double v, MbCartPoint3D & s ) в общем случае радиус-вектор поверхности s описывается векторной функцией
Поверхность перемещения в общем случае приведена на рис. 1.
Рис. 1
В методе PointOn( double u, double v, MbCartPoint3D & s ) в частном случае радиус-вектор поверхности s описывается векторной функцией
где
Поверхность перемещения в частном случае приведена на рис. 2:
Рис. 2
Для отсутствия самопересечений поверхности образующая и направляющие кривые не должны иметь параллельных друг другу участков. В определённых случаях поверхность перемещения может иметь особые точки.