Цель работы: изучить преобразования объектов.

Необходимо изобразить движение (анимацию) объекта, построенного в задании 2. Объект выводить через буфер видеокарты с помощью шейдерной программы, без освещения.

Примеры

Вращение по двум осям (плюс таймер): 008-transform.zip

С передачей готовых матриц: 008-transform2.zip

Варианты

Как рассчитать номер своего варианта, рассказано на странице Успеваемость студентов (КГ).

0. Вращать объект вокруг оси Y на расстоянии D > 0 от неё, при этом одновременно вращать его вокруг оси, касательной к траектории вращения (не должна совпадать с центральной осью самого объекта).

1. Вращать объект вокруг оси A на расстоянии D > 0 от неё. Ось А проходит через начало координат, лежит в плоскости XY и вращается вокруг оси Z.

2. Пусть есть математический маятник с точкой подвеса в центре верхнего края окна (точка (0; 1; 0) в системе координат по умолчанию). Объект подвешен на нём так, что линия подвеса совпадает с центральной осью объекта. Изобразить колебания объекта согласно законам обычного мат. маятника; траектория объекта проходит через начало координат между левым и правым краями окна. Подвес не рисовать.

3. Объект движется вдоль оси Y от одного края экрана до другого и обратно, координата Y зависит от времени по синусоидальному закону (в центре экрана объект движется быстрее, чем у краёв). При этом объект однородно сжимается-разжимается (со скоростью движения, по тому же синусоидальному закону), у краёв экрана объект уменьшается. При этом объект вращается вокруг оси, параллельной оси X. Центральная ось объекта всё время лежит в плоскости YZ.

 

  • Нет меток