Статистика государственных финансов
Правила переоформления студенческих работ
Требования к оформлению студенческих работ

Вращение куба

ГлавнаяИнформатикаПрограммирование на языке высокого уровня
ДисциплинаПрограммирование на языке высокого уровня
ВУЗМГУ

Содержание

Задание 1. Вращение куба. Куб вращается вокруг оси, проходящей через центры верхних граней и параллельной оси z. Вращение имитируется выводом изображения куба в разных положениях, отличающихся друг от друга на малый угол поворота. Использовать композицию матриц T Rz T-1, где T - матрица переноса центра куба в начало координат, Rz - матрица поворота вокруг оси z, T-1 - перенос центра куба в исходное положение. Рекомендации. Тело представлять набором отрезков. Вращение тела реализуется умножением однородных координат его вершин на композицию матриц переноса и поворота. После этого переходят к видовой системе координат и производят проецирование. Координаты проекции преобразуются в экранные координаты, и изображение выводится на экран. Проецирование осуществляется умножением векторов координат концов отрезков на матрицу проецирования. Вычисленные координаты xp, yp проекции конца отрезка преобразуются в экранные координаты xa, ya: xa = xp, ya = yamax- yp. Включить в программу типы Vector, Matrix и процедуры умножения вектора на матрицу и матрицы на матрицу. Перерисовку изображения производить в обработчике onTimer. Для вывода изображения использовать методы MoveTo, LineTo и другие класса Canvas.
Алгоритм вывода изображений:
1. Закрасить текущее изображение цветом фона.
2. Повернуть объект.
3. Вывести изображение объекта.