Список заданий

Задание 1. Построение изображений графическими примитивами

Используя графические примитивы языка программирования JavaScript, построить узнаваемое изображение.
На картинке обязательно должны быть:

  • повторяющиеся элементы, построенные с использованием оператора цикла;
  • не менее 5 различных графических примитивов (линия, дуга, прямоугольник, кривая, текст);
  • использование цвета и заливки;
  • фигура, построенная с помощью функции.

Задание 2. Элементарные преобразования на плоскости

Построить изображение простого узнаваемого предмета, используя массив точек, передаваемых в функцию построения этого объекта. При построении объекта по точкам использовать цвета и различные графические примитивы (не только линии).
Используя кнопки формы реализовать:

  • линейное перемещение объекта;
  • вращение объекта;
  • изменение размера объекта;
  • автоматическое масштабирование под размер окна.

Все преобразования производить с изображением, а не с системой координат.

Задание 3. Создание анимации

Используя методы спрайтовой анимации, создать небольшой деморолик, мультик или анимированную картинку. Использовать не менее двух движущихся объектов или анимировать спрайт несколькими кадрами (спрайт отрисовать графическими примитивами самостоятельно, не используя готовые gif-анимации) и придать ему движение. Ролик должен быть циклическим и не прекращаться до принудительной остановки по нажатию на клавишу "Стоп".

Задание 4. Построение кривых заданных параметрическими уравнениями

Используя параметрические уравнения кривых, создать набор собственных графических примитивов и нарисовать с их помощью любое узнаваемое изображение (только собственными примитивами кривых). Использовать цвета и заливку.
Графические примитивы должны содержать функции построения:

  • окружности, эллипса или дуги;
  • кривых Безье;
  • B-сплайна;
  • уникального придуманного примитива.

Задание 5. Создание собственной графической библиотеки

Используя лишь функцию установки точки создать набор собственных графических примитивов, построенных в целочисленной арифметике, и нарисовать с их помощью любое узнаваемое изображение.
Графические примитивы должны содержать:

  • прямые линии по алгоритму Брезенхема;
  • окружность, эллипс или дугу;
  • заливку цветом;
  • уникальный придуманный примитив.

Задание 7. Удаление невидимых граней на проекции 3d объектов

Построить 3d сцену и спроецировать ее на экран, используя формулы центральной проекции. Применить любой алгоритм удаления невидимых граней для придания сцене реалистичности. Реализовать поворот хотя бы по одной из осей системы координат

Самостоятельная работа

Самостоятельная работа студентов оценивается дополнительными баллами.

Включает в себя написание примеров к лекциям, демосцен, фракталов, статей (статья представляется отдельно в виде HTML-файла и тема согласуется с преподавателем). Код программы размещается на сайте https://codepen.io.