.. role:: blue :class: blue Плоскость MbPlane ================= .. _MbPlane_Plane: .. версия ядра: Класс :blue:`MbPlane` объявлен в файле *surf_plane.h*. Плоскость :blue:`MbPlane` принадлежит к группе элементарных поверхностей :blue:`MbElementarySurface`. Плоскость описывается плоскостью XY локальной системы координат :blue:`MbPlacement3D` **position**. Первый параметр плоскости отсчитывается вдоль вектора **position.axisX**, второй параметр плоскости отсчитывается вдоль вектора **position.axisY**. Область определения плоскости описывают граничные значения параметров *umin*, *umax* и *vmin*, *vmax*, рис. 1: .. figure:: /MODELER/SURFACES/pictures/O.5.2.1.png :width: 12cm :align: center Рис. 1 В методе :blue:`PointOn`\( double *u*, double *v*, :blue:`MbCartPoint3D` \& **s** ) радиус-вектор плоскости **s** описывается векторной функцией .. math:: \mathbf{s}(u, v) = \mathbf{position.origin} + u \cdot \mathbf{position.axisX} + v \cdot \mathbf{position.axisY}. Плоскость ведёт себя как бесконечный объект, хотя в своих данных имеет граничные значения параметров *umin*, *umax* и *vmin*, *vmax*. Заметим, что в отличие от других поверхностей в методах вычисления радиуса-вектора и его производных плоскость не корректирует параметры *u* и *v* при их выходе за пределы области определения, заданной значениями *umin*, *umax* и *vmin*, *vmax*. Локальная система координат **position** может быть как правой, так и левой. Если локальная система координат левая, то нормаль плоскости направлена в сторону, противоположную направлению вектора **position.axisZ**.