.. role:: code :class: code Соединительная кривая MbBridgeCurve3D ===================================== .. _MbBridgeCurve3D_Joining_Curve: .. версия ядра: 118066 Класс :code:`MbBridgeCurve3D` объявлен в файле *cur_bridge3d.h*. Соединительная кривая является наследником кривой :ref:`MbCurve3D ` и описывается двумя кривыми :code:`MbCurve3D` **curve1** и :code:`MbCurve3D` **curve2**, параметрами точек этих кривых **param1** и **param2**, признаками **sense1** и **sense2** совпадения направлений производных соединительной кривой и соединяемых кривых, двумя граничными параметрами соединительной кривой **tmin** и **tmax**. Соединительная кривая строится конструктором .. code-block:: cpp MbBridgeCurve3D( MbCurve3D & c1, double t1, bool s1, MbCurve3D & c2, double t2, bool s2, double _tmin = 0.0, double _tmax = 1.0 ). Соединительная кривая служит для плавного соединения двух указанных точек кривых **curve1** и **curve2** и представляет собой кубический сплайн Эрмита, построенный по двум крайним точкам и производным кривой в этих точках. Параметр кривой **t** принимает значения на отрезке **tmin** ≤ **t** ≤ **tmax**. В методе .. code-block:: cpp PointOn(double & t, MbCartPoint3D & r) радиус-вектор кривой **r** описывается векторной функцией .. math:: \mathbf{r}(t) = (1 - 3w^{2} + 2w^{3}) \cdot point1 + (3w^{2} + 2w^{3}) \cdot point2 + \Bigl(\bigl(w - 2w^{2} + w^{3}\bigr) \cdot derive1 + \bigl(-w^{2} + w^{3}\bigr) \cdot derive2\Bigr) \cdot (tmax - tmin), где .. math:: w = \frac{t - tmin}{tmax - tmin} -- относительное значение параметра, **point1** -- точка кривой **curve1**, которая вычисляется методом :code:`PointOn`\(**param1**, **point1**), **point2** -- точка кривой **curve2**, которая вычисляется методом :code:`PointOn`\(**param2**, **point2**), **derive1** и **derive2** -- производные соединительной кривой в крайних точках. Векторы **derive1** и **derive2** направлены параллельно производным соединяемых кривых. Длина векторов **derive1** и **derive2** равна расстоянию между крайними точками, делённому на **tmax** -- **tmin**. Соединительная кривая приведена на рисунке: .. figure:: ../../pictures/O.4.17.1.png :width: 15cm :align: center Форма кривой зависит от расположения крайних точек и направлений соединяемых кривых в этих точках. Для граничных параметров должны соблюдаться неравенства: **tmin** < **tmax**. Кривая не может быть периодической.