.. role:: blue :class: blue Цилиндрическая поверхность MbCylinderSurface ============================================= .. _MbCylinderSurface_Cylindrical_Surface: .. версия ядра: Класс :blue:`MbCylinderSurface` объявлен в файле *surf\_cylinder\_surface.h*. Цилиндрическая поверхность :blue:`MbCylinderSurface` принадлежит к группе элементарных поверхностей :blue:`MbElementarySurface`. Цилиндрическая поверхность описывается радиусом *radius* и высотой *height*, заданными в локальной системе координат :ref:`MbPlacement3D ` **position**. Первый параметр поверхности отсчитывается по дуге от вектора **position.axisX** в направлении вектора **position.axisY**. Первый параметр поверхности *u* принимает значения на отрезке: *umin* ≤ *u* ≤ *umax*. Значения *u* = 0 и *u* = 2π соответствуют точке на плоскости XZ. Поверхность может быть периодической по первому параметру. У периодической поверхности *umax* - *umin* = 2π, у не периодической поверхности *umax* - *umin* < 2π. Второй параметр поверхности отсчитывается по прямой вдоль вектора **position.axisZ**. Второй параметр поверхности *v* принимает значения на отрезке: *vmin* ≤ *v* ≤ *vmax*. Значение *v* = 0 соответствует началу локальной системы координат, а значение *v* = 1 соответствует точке на расстоянии *height* от плоскости XY локальной системы координат поверхности. В методе :blue:`PointOn`\( double *u*, double *v*, :ref:`MbCartPoint3D ` & **s** ) радиус-вектор поверхности **s** описывается векторной функцией .. math:: :nowrap: \begin{equation} \mathbf{s}(u, v) = \mathbf{position.origin} + \mathit{radius} \left( \cos(u)\, \mathbf{position.axisX} + \sin(u)\, \mathbf{position.axisY} \right) + \mathit{height} \cdot v\, \mathbf{position.axisZ} \end{equation} Цилиндрическая поверхность приведена на рисунке: .. figure:: /MODELER/SURFACES/pictures/O.5.3.1.png :width: 15cm :align: center Радиус и высота должны быть больше нуля: *radius* > 0, *height* > 0. Для граничных параметров поверхности должны соблюдаться неравенства: *umin* < *umax*, *vmin* < *vmax*. Локальная система координат **position** может быть как правой, так и левой. Если локальная система координат правая, то нормаль направлена в сторону выпуклости поверхности (от оси поверхности), если локальная система координат левая, то нормаль направлена в сторону вогнутости поверхности (в сторону оси поверхности).