Контрольная работа
Цель:- получение навыков загрузки, отображения и изменения статических и анимированных трёхмерных моделей;
- закрепление навыков, полученных в ходе выполнения лабораторных работ.
Задание:Необходимо разработать веб-приложение, представляющее собой конструктор трёхмерных сцен.
Минимальная сцена приложения должна содержать плоскость с наложенной на неё текстурой (см. лабораторную работу №1) и сферу с текстурой неба (по аналогии с текстурой звёздного неба из лабораторной работы №2).
Пользовательский интерфейс, реализованный на основе библиотеки dat.GUI, должен предоставлять следующие возможности:
- изменение ландшафта плоскости при помощи инструмента «кисть». Радиус кисти должен регулироваться при помощи колесика мыши;
- добавление и удаление трёхмерных объектов из файлов (дом, дерево, ограда, куст, птица и др.);
- выбор и перемещение объектов в сцене при помощи курсора мыши;
- масштабирование и поворот моделей в сцене;
- переключение режимов курсора между «кистью» и курсором выбора объектов.
=============================================Лабораторная работа №1
Вершины, индексы, цвета и текстуры
Цель работы:- знакомство с основными терминами и понятиями трёхмерной графики;
- изучение возможностей языка JavaScript и библиотеки Three.js для разработки веб-приложений трёхмерной графики.
Задание: Необходимо разработать веб-приложение на языке JavaScript, осуществляющее построение и визуализацию трёхмерного ландшафта по карте высот. Под картой высот подразумевается растровое изображение в градациях серого, тёмные участки которого обозначают низины ландшафта, а светлые – возвышенности. Визуализируемая модель должна быть текстурирована. Предполагаемый результат работы:
Лабораторная работа №2
Перемещение объектов в трёхмерном пространстве
Цель работы:- изучение способов перемещения объектов в трёхмерном пространстве с помощью Three.js;
- освоение основных методов расчёта координат объектов в трёхмерном пространстве.
Задание: Необходимо разработать веб-приложение, представляющее собой упрощённую модель Солнечной системы. Модель должна включать следующие объекты:
- карта звёздного неба;
- Солнце;
- Меркурий;
- Венера;
- Земля и Луна
- Марс
В качестве траекторий движения планет и Луны можно использовать окружность.
Расстояния между планетами, их скорость вращения вокруг собственной оси и солнца должны отражать реальные отношения размеров, расстояний и скоростей. (Марс меньше Земли, Меркурий меньше Марса и т.д.)
Также требуется реализовать режим слежения за планетами. По нажатию на клавиши 1 – 4 фокус камеры должен смещаться вслед за позицией планеты, соответствующей номеру нажатой клавиши. По нажатию кнопки 0 должен включаться общий вид на Солнечную систему.