- •Графические средства Borland
- •Теоретическая справка
- •Геометрические преобразования на плоскости
- •Теоретическая справка.
- •Афинные преобразования в пространстве и параллельное проецирование
- •Теоретическая справка.
- •Афинные преобразования в пространстве и центральное проецирование
- •Теоретическая справка.
- •Удаление невидимых линий и поверхностей. Алгоритм, использующий z-буфер
- •Теоретическая справка.
- •Расчет освещенности граней трехмерных объектов
- •Теоретическая справка. Метод Гуро
- •Метод Фонга
Афинные преобразования в пространстве и параллельное проецирование
Цель работы:Освоить математические основы аффинных и проективных преобразований в пространстве и уметь их использовать в практике программирования.
Задание:Разработать программу, обеспечивающую вывод графического изображения объекта на плоскость до и после заданных преобразований. Преобразования заключаются в повороте заданного объекта вокруг некоторой прямой, определяемой направляющим вектором и точкой в пространстве через которую эта прямая проходит. Построить ортографическую проекцию объекта на плоскость XOY после преобразования.
Теоретическая справка.
Матрица линейного преобразования общего вида для трехмерных однородных координат выглядит следующим образом:
.
Аналогично случаю преобразования на плоскости (см. лаб. раб. N 2) эту матрицу можно разбить на 4 подматрицы: .
Подматрица 3х3 осуществляет линейные преобразования в виде изменения масштаба, сдвига и вращения.
Подматрица 3х1 производит перенос (или смещение) трехмерного изображения.
Подматрица 1х3 осуществляет перспективные преобразования в пространстве.
Скалярный элемент s(подматрица 1х1) выполняет общее изменение масштаба по всем трем осям одновременно.
Полное преобразование, полученное путем воздействия на вектор положения матрицей 4х4 и нормализации преобразованного вектора (т.е. делением на последний элемент строки всех 4-х компонент вектора) называется билинейным преобразованием. Оно обеспечивает выполнение операций сдвига, частичного изменения масштаба, вращения, отражения, переноса и изменения масштаба в целом.
Аксонометрическая ортографическая проекция строится при помощи следующей матрицы:
Смещает изображение по оси zнаrединиц и проецирование происходит в плоскостиz=0.
Цепочка преобразований
Для выполнения сложных пространственных преобразований объекта необходимо сложное перемещение разложить на последовательность элементарных преобразований и применить их последовательно к исходному объекту. Результирующая матрица сложного преобразования определяется произведением матриц элементарных преобразований (см. лаб. раб. №2).
Так как операция умножения матриц не является коммутативной, менять местами матрицы в цепочке преобразований нельзя.
Порядок выполнения.
Получить вариант задания.
Определить вид матрицы сложного преобразования.
Рассчитать тестовый пример.
Написать и отладить программу, реализующую данное преобразование.
Показать работу преподавателю.
Оформить отчет и защитить работу.
Содержание отчета.
Формулировка задания.
Теоретическая часть.
Текст программы.
Тестовый пример.
Выводы.
Контрольные вопросы.
Что такое простые и сложные геометрические преобразования точки в пространстве?
Привести формулы простых преобразований.
Что такое однородные координаты точки?
Пояснить суть матричного подхода для описания геометрических преобразований точки.
Как реализовать геометрическое преобразование плоской фигуры, заданной с помощью вершин?
ЛАБОРАТОРНАЯ РАБОТА №4
Афинные преобразования в пространстве и центральное проецирование
Цель работы:Освоить математические основы аффинных и проективных преобразований в пространстве и уметь их использовать в практике программирования.
Задание:Разработать программу, обеспечивающую вывод графического изображения объекта на плоскость до и после заданных преобразований. Преобразования заключаются в повороте заданного объекта вокруг некоторой прямой, определяемой направляющим вектором и точкой в пространстве через которую эта прямая проходит. Построить центральную проекцию объекта на плоскость экрана после преобразования.