Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 50011.doc
Скачиваний:
6
Добавлен:
30.04.2022
Размер:
164.35 Кб
Скачать

ГОУВПО «Воронежский государственный технический

университет»

Кафедра компьютерных интеллектуальных технологий

проектирования

317-2009

Методические указания

к выполнению лабораторной работы № 8

по курсу «Компьютерная графика»

для студентов специальности 230104

«Системы автоматизированного проектирования»

заочной формы обучения

Воронеж 2009

Составители: канд. техн. наук А.С. Кольцов,

д-р техн. наук Е.Д. Федорков

УДК 681.3.06

Методические указания к выполнению лабораторной работы № 8 по курсу «Компьютерная графика» для студентов специальности 230104 «Системы автоматизированного проектирования» заочной формы обучения / ГОУВПО «Воронежский государственный технический университет»; сост. А.С. Кольцов, Е.Д. Федорков. Воронеж, 2009. 17 с.

Приведены задания для лабораторных работ по курсу «Компьютерная графика», где описано исследование математических методов и алгоритмов преобразования двумерных координат в процессе построения сложных графических изображений, а также изучение алгоритмов построения динамических изображений со сложным преобразованием координат в графическом режиме.

Методические указания подготовлены на магнитном носителе в текстовом редакторе Microsoft Word 2003 и содержатся в файле KompGraf5.doc.

Предназначены для студентов 3 курса.

Библиогр.: 6 назв.

Рецензент д-р техн. наук, проф. О.Н. Чопоров

Ответственный за выпуск зав. кафедрой д-р техн. наук, проф. Е.Д. Федорков

Издается по решению редакционно-издательского совета Воронежского государственного технического университета

© ГОУВПО «Воронежский

государственный технический

университет», 2009

Лабораторная работа №8 Преобразование двумерных координат. Динамическое Преобразование координат.

1. ЦЕЛЬ РАБОТЫ: исследование математических методов и алгоритмов преобразования двумерных и трехмерных координат в процессе построения сложных графических изображений, а так же изучение алгоритмов построения динамических изображений со сложным преобразованием координат в графическом режиме.

2. ЗАДАЧИ РАБОТЫ.

Освоить приемы работы с системой двумерных координат.

3. СОДЕРЖАНИЕ РАБОТЫ.

  • Получить задание у преподавателя.

  • Написать и отладить на компьютере программу, реализующую требуемое преобразование изображения без масштабирования.

  • Если изображение искажено, ввести масштабирующие коэффициенты.

  • Результат работы программы продемонстрировать преподавателю.

  • Напечатать листинг программы.

4. ТРЕБОВАНИЯ К ОТЧЕТУ

Отчет выполняется на листах А4 формата и должен содержать:

  • название работы, постановку задачи, порядок выполнения работы и полученное изображение;

  • ответы на контрольные вопросы.

5. ТЕОРЕТИЧЕСКИЙ МАТЕРИАЛ

Преобразования координат широко используются при синтезе как статических, так и динамических изображений с целью реализации таких операций над рисунком как перенос, поворот, подобие, симметрия. Перенос является достаточно простой операцией, т.к. реализуется путем изменения значений одной и/или второй координат. Другие операции, а тем более их комбинация, характеризуются большей сложностью и требуют математических преобразований. Для простоты в данной лабораторной работе рассматриваются только двумерные преобразования. Обычно в данном процессе исходно задаются основные координаты x1, y1, а через них в виде уравнений просчитываются вторичные координаты x22, y22.

x22 = f(x1, y1),

y22 = f(x1, y1).

Наиболее распространены так называемые аффинные преобразования, которые предполагают сохранение после расчета вторичных координат параллельность и формы у прямых. Общий вид уравнений таких преобразований имеет вид

x22 = axxx1 + axyy1 + ax,

y22 = ayxx1 + ayyy1 + ay.

При этом сдвиг без поворота характеризуется матрицей коэффициентов

1

0

ax

0

1

ay

где ax, ay - задают сдвиг соответственно по осям x и y, т.е.

x2 = x1 + ax,

y2 = y1 + ay.

Операция масштабирования (преобразования подобия) реализуется матрицей

М

0

0

0

М

0

Зеркальное отображение относительно диагонали первого квадранта (смена координатных осей) предполагает матрицу вида

0

1

0

1

0

0

Повороту на угол α против часовой стрелки соответствует матрица

сosα

-sinα

0

sinαα

cosα

0

Комбинации двух или более операций преобразования соответствует комбинация коэффициентов соответствующих матриц. Так, например, сдвиг с одновременным поворотом реализуется матрицей

сosα

-sinα

ах

sinαα

cosα

аy

Преобразование трехмерных координат

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

x2 = axxx1 + axyy1 + axzz1 + ax,

y2 = ayxx1 + ayyy1 + ayzz1 + ay,

z2 = azxx1 + azyy1 + azzz1 + az,

При этом 9-членная квадратная матрица используется для реализации поворота точки вокруг осей, а 3-членный вектор осуществляет ее перенос в трехмерном пространстве. В отличие от поворота на плоскости в пространстве поворот задается последовательным вращением вокруг трех координатных осей. При этом для каждой оси существует своя матрица поворота. Поворот на угол Θ относительно оси z осуществляется матрицей

cosΘ

-sinΘ

0

Rz =

sinΘ

cosΘ

0

0

0

1

Аналогично выполняется поворот на угол Θ относительно оси y

cosΘ

0

sinΘ

Ry =

0

1

0

-sinΘ

0

cosΘ

Поворот на угол Θ относительно оси x производится с помощью аналогичной мат-рицы преобразования

1

0

sinΘ

Rx =

0

cosΘ

-sinΘ

0

sinΘ

cosΘ

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

Отдельной и важной проблемой, возникающей при выполнении данной лабораторной работы, является отображение трехмерного пространства на плоскость. Как известно из курса инженерной графики наиболее широко распространены аксонометрические проекции, которые, в свою очередь, делятся /3/ на триметрию (все показатели искажения по осям различны), диметрию (два показателя искажения равны, третий отличен от них) и изометрию (все три показателя искажения равны). Конкретные виды аксонометрических проекций приведены на рис. 7.1. Для примера рассмотрим отображение прямоугольной изометрической проекции на двумерную систему координат, соответствующую экрану дисплея (рис. 7.2). Центры систем отсчета совмещены. Ось Y двумерной системы совпадает с осью Z трехмерного пространства. Из рисунка 7.2 видно, что

Mx2 = My3 * cos30o - Mx3 * cos30o = cos30o * (My3 - Mx3) = 0.87 * (My3 - Mx3),

My2 = Mz3 - (My3 * sin30o + Mx3 * sin30o) = Mz3 - 0.5 * (My3 + Mx3).

В соответствии с требованиями изометрической проекции все трехмерные координаты должны домножаться на коэффициент 0.82. Посему окончательные выражения для двумерных координат имеют вид

Mx2 = 0.82 * 0.87 * (My3 - Mx3) = 0.71 * (My3 - Mx3),

My2 = 0.82 * (Mz3 - 0.5 * (My3 - Mx3)).