Для первого поля сила гравитации направлена перпендикулярно вниз, что совпадает с отрицательным направлением по оси 0Y системы координат, поэтому в настройках (рис. 10.71) указано отрицательное
![](/images/openglorg07/openglorg07-1188.png)
значение координаты вектора силы Direction Y -0,957 (можно задать -1). Для второго поля Gravity 2 вектор должен быть направлен в положительную сторону оси 0Х, поэтому задано Direction X = 1,055 (можно задать 1). Для третьего поля Gravity 3 направление положительное по оси 0Y и Direction Y = 1,001 (можно 1). Для четвертого поля - отрицательное направление по оси 0Х и Direction X = 1,001 (можно 1).
Обратите внимание на значения сил (параметр Strength). От поля к полю, сила нарастает, что нужно для изменения направления траектории движения сферы. На выходе из четвертого поля сфера имеет слишком большую скорость и пролетает сквозь параллелепипед первого поля. Чтобы притормозить движение сферы на этом участке, на выходе из четвертого поля располагается параллелепипед поля сил трения Drag (рис. 10.70). Ниже приведены характеристики поля Drag.
![](/images/openglorg07/openglorg07-1189.png)
Параметры для сферы приведены ниже (рис. 10.77).
![](/images/openglorg07/openglorg07-1190.png)
Запустите просмотр анимации. При количестве кадров 90 и скорости 24 кадра/с сфера успеет сделать два полных оборота против часовой стрелки по заданному контру.
10.7. Соединение упругих тел пружинами (Rigid Body Spring)
Речь идет о моделировании поведения пружины, когда к ее концам приложены силы, растягивающие пружину в противоположных направлениях. В зависимости от величины сил и параметров самой пружины возможны три варианта: пружина после снятия сил возвращается в исходное состояние, пружина не возвращается в исходное состояние (произошла пластическая деформация) и пружина разрывается. Создать пружину можно двумя способами: с помощью диалогового окна Rigid Springs и с помощью инструмента RBS Draw Tool (сокращение RBS расшифровывается как Rigid Body Spring). Пружина может прикрепляться к любой точке объекта, и к одному объекту может быть прикреплено более одной пружины.
Задача Смоделировать следующую сцену: одна сфера неподвижна, к ней на пружине прикреплена вторая сфера, которая падает под действием сил гравитации и попадает в воздушный поток, направленный горизонтально. Этот поток отбрасывает сферу, но пружина возвращает ее, создавая колебательные движения.
Решение
1. Подготовим сцену, содержащую две сферы и объект Solver Object (рис. 10.78).
![](/images/openglorg07/openglorg07-1191.png)
2. Присвоим Solver Object тэг Rigid Body Spring Tag
(меню окна менеджера объектов File (рис. 10.79) или контекстное меню объекта Solver Object).
![](/images/openglorg07/openglorg07-1192.png)
3. В результате появится диалоговое окно Rigid Spring (рис. 10.80), используемое для создания пружин.
Щелчок по кнопке Add создает одну пружину. Пружины снабжаются порядковыми номерами, начиная с номера 0 (рис. 10.81). Можно задать имя пружине в поле Name. Перетащите левой кнопкой мыши имена сфер из окна менеджера объектов в поля A и B диалогового окна Rigid Spring. Как только вы это сделаете, в окне проекций между сферами появится пружина красного цвета (рис. 10.81).
В полях справа от имен сфер указаны цифры, определяющие точку крепления пружины к объекту.