.. role:: blue :class: blue Ломаная линия MbPolyline3D ========================== .. _MbPolyline3D_Polyline: .. версия ядра: Класс :blue:`MbPolyline3D` объявлен в файле *cur\_polyline3d.h*. Ломаная является наследником кривой :blue:`MbPolyCurve3D`. Ломаная :blue:`MbPolyline3D` описывается количеством сегментов *segmentsCount*, множеством контрольных точек SArray\<:ref:`MbCartPoint3D `\> **pointList** и признаком периодичности кривой *closed*. Кривая проходит через множество точек **pointList**\[*i*\], *i* = 0,..., *segmentsCount*, при значениях параметра *t* = 0,..., *segmentsCount*. Если *closed* = true, то кривая содержит сегмент, соединяющий последнюю точку множества **pointList**\[*segmentsCount* - 1\] с начальной точкой **pointList**\[0\]. Параметр кривой *t* принимает значения на отрезке: 0 ≤ *t* ≤ *segmentsCount*. В методе :blue:`PointOn`\( double & *t*, :ref:`MbCartPoint3D ` & **r** ) радиус-вектор кривой **r** описывается векторной функцией .. math:: \mathbf{r}(t) = \mathbf{pointList}[i] \cdot (1 - w) + \mathbf{pointList}[i + 1] \cdot w, где .. math:: w = \frac{t - t_{i}}{t_{i+1} - t_{i}}, а *t*\ :sub:`i` ≤ *t* ≤ *t*\ :sub:`i+1`. Ломаная является простейшей кривой, построенной по набору точек. Она состоит из отрезков, последовательно соединяющих контрольные точки. Ломаная приведена на рисунке: .. figure:: /MODELER/CURVES/pictures/O.4.5.1.png :width: 12cm :align: center Кривая может быть периодической. Период периодической кривой равен *segmentsCount*. Производные кривой в контрольных точках (при целочисленных значениях параметра) теряют непрерывность по длине и направлению. Производные кривой в контрольных точках имеют особое направление и длину. Ломаная обладает рядом полезных свойств: работа с ней требует минимум вычислений, проекция ломаной линии также будет ломаной линией.