Управление ракетой
В работе реализовано перемещение, вращение, изменение размера объекта на плоскости.
Объект задан геометрическими фигурами: многоугольниками и кругами.
Многоугольники заданы массивами точек.
Круги заданы парой точек - центр круга и одна из точек на окружности (для возможности изменения размера окружности по аналогии с изменением размеров многоугольников).
Все преобразования реализованы при помощи операции векторно-матричного умножения.
В коде реализованы функции T (translation), R (rotation) и S (scaling), которые возвращают матрицы перемещения, поворота и изменения размеров соответственно.
Все точки заданы тремя координатами - (x, y, w), где w = 1.
Матричное преобразование применяется к каждой точке объекта при помощи функции applyTransform, которая принимает матрицу преобразования и точку в качестве параметров и возвращает новую точку после применения преобразования.
После применения преобразования ко всем точкам каждой фигуры, сцена очищается и отрисовуется заново с обновленными координатами точек.
