Линейчатая поверхность MbRuledSurface

Класс MbRuledSurface объявлен в файле surf_ruled_surface.h.

Линейчатая поверхность MbRuledSurface принадлежит к группе поверхностей движения MbSweptSurface. Линейчатая поверхность описывается кривой MbCurve3D * curve, кривой MbCurve3D * sline, признаком наличия полюса поверхности при начальном значении первого параметра poleMin, признаком наличия полюса поверхности при конечном значении первого параметра poleMax, начальным параметром tmin кривой sline, производной dt параметра кривой sline по параметру кривой curve и типом формы поверхности type. У поверхности есть ещё некоторые данные, которые не обязательны и служат для ускорения работы методов поверхности.

Первый параметр поверхности u совпадает с параметром кривой curve. Первый параметр поверхности принимает значения на отрезке umin ≤ u ≤ umax, который соответствует области определения кривой curve. Производная dt определяется равенством

\begin{equation} \mathit{dt} = \frac{\mathit{tmax} - \mathit{tmin}}{\mathit{umax} - \mathit{umin}}, \end{equation}

где tmax — конечный параметр кривой sline. Поверхность может быть периодической по первому параметру, если периодическими являются кривые curve и sline.

Второй параметр поверхности v принимает значения на отрезке vmin ≤ v ≤ vmax. Значение v = vmin соответствует точке на кривой curve, значение v = vmax соответствует точке на кривой sline. Поверхность не может быть периодической по второму параметру.

В методе PointOn( double u, double v, MbCartPoint3D & s ) радиус-вектор поверхности s описывается векторной функцией

\begin{equation} \mathbf{s}(u, v) = \mathbf{curve}(u) (1 - w) + \mathbf{sline}(t) \, w, \end{equation}

где

\begin{equation} w = \frac{v - \mathit{vmin}}{\mathit{vmax} - \mathit{vmin}}, \quad t = tmin + (u - umin) \cdot dt. \end{equation}

Линейчатая поверхность приведена на рис. 1:

../../../../_images/O.5.14.1.png

Рис. 1

Кривые поверхности s(const, v) с параметрами u = const являются отрезками прямой. Поверхность может иметь полюс, если одна из кривых curve или sline стянута в точку, или если кривые curve и sline совпадают на одном из краёв.