Моделирование движения кабельной линии подводного аппарата в пакете
Blender Game Engine
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение. 2017. № 3
53
в список идентификаторов связей кабеля. Если разматывание кабеля продолжает-
ся, то описанная процедура повторяется при создании следующего элемента и т. д.
Наматывание элемента кабеля также выполняется в несколько этапов. Анало-
гично разматыванию, на первом этапе объект
Root
поворачивается вокруг «конце-
вого» шарнира в положение, при котором продольные оси объекта
Root
и элемента
Old
окажутся коллинеарными. На втором этапе выполняется циклическое умень-
шение длины элемента
Old
и его перемещение вплоть до достижения им длины
объекта
Root
. На каждом такте цикла наматывания выполняются следующие дей-
ствия. С помощью операции мгновенного масштабирования на шаг уменьшается
длина элемента
Old
(рис. 3,
а
). Удаляется шарнир между элементом
Old
и предпо-
следним элементом кабеля — назовем этот объект
New
. Объект
New
и весь кабель
перемещаются в положение, в котором начало объекта
New
совпадает с концом
элемента
Old
; вновь создается шарнир между элементом
Old
и объектом
New
. Уда-
ляется «концевой» шарнир; элемент
Old
и весь кабель перемещаются в положение,
в котором начало элемента
Old
совпадает с концом объекта
Root
; вновь создается
«концевой» шарнир, что завершает такт цикла наматывания (рис. 3,
б
).
Рис. 3.
Такт цикла второго этапа наматывания элемента кабеля:
а
— положение элементов и шарниров после уменьшения длины элемента
Old
;
б
— положение
элементов и шарниров после окончания такта;
1
— объект
Root
;
2
— «концевой» шарнир;
3
—
элемент
Old
;
4
— 3D-шарнир между элементами
Old
и
New
;
5
— элемент
New
Цикл наматывания полагается завершенным, когда длина элемента
Old
станет равной длине объекта
Root
. На третьем этапе удаляются шарниры —
«концевой» и между элементом
Old
и объектом
New
; удаляется элемент
Old
.
Объект
New
и весь кабель перемещаются в положение, в котором начало объек-
та
New
совпадает с концом объекта
Root
; вновь создается «концевой» шарнир.
Объект
New
фактически становится последним элементом кабеля, т. е. элемен-
том
Old
. Из списка идентификаторов элементов кабеля удаляется идентифика-
тор удаленного элемента, корректируется список идентификаторов связей —
удаляются идентификаторы удаленных связей, добавляется идентификатор со-
зданной связи. При продолжении наматывания кабеля процедура повторяется
для следующего удаляемого элемента.