Министерство науки, высшей школы и техническо*
политики РФ
Томский государственный университет
Кафедра математической логики и проектирования
Лабораторные работы
по
МАШИННОЙ ГРАФИКЕ
часть 1
Томск - 1992
Рассмотрены и утверждены методи"?ской комиссией
радиофизич- "о факультета. Председатель комиссии, ~Y
Доцент ... w / • • Г. М. Дейкова. Протокол N от fir декабря 1992г. Предлагаемые методические указания состоят
из нескольких частей. В данной части рассматриваются лабораторные
работы по двум темам:
- двумерные геометрические преобразования,
отсечение отрезков прямоугольным окном. Работы ориентированы на студентов, изучающих
машинную графику. Составитель доцент каф^д~>'ы С. В.
Быкова. ЛАБОРАТОРНАЯ РАБОТА 1
ТЕМА: ДВУМЕРНЫЕ ГЕОМЕТРИЧЕСКИЕ ПРЕОБРАЗОВАНИЯ. Условные обозначения
X , Y - заданные координаты точки;
X", Y' - преобразованные координаты
точки. . 1 X
Формулы и матрицы преобразований
СДВИГ точки на величины сдвига Тх по оси х,
1у по оси у:
X' = X + Тх
Y' = Y + Ту или
1 О О
[X'Y'l] = [X Y 1] * [Т], где [Т] = 0 1 0
Тх Ту 1
МАСШТАБИРОВАНИЕ относительно начала координат с
коэффициентами Sx вдоль оси х,
Sy ВДОЛЬ ОСИ у:
X' = X * Sx
Y' = Y * Sy или
Sx 0 0
[X'Y'l] = [X Y 1] * [В], где , L S] = 0 Sy 0
0 0 1
ПОВОРОТ . относительно начала координат на угол Q
в направлении . от оси х к оси у :
X' = X * oosQ - Y * sinQ
Y' = • X' #. sinQ + Y * cosQ ,или
- 3 -
cosQ sinQ 0
tX'Y'13 = [X Y 1] * [В], где [R] = -sinQ cosQ 0
0 0 1
При малом угле поворота Q применимы формулы:
X' = X - Y * sinQ
Y' = X'* sinQ + Y. СОВМЕЩЕННОЕ ПРЕОБРАЗОВАНИЕ (состоящее, например,
из двух элементарных А и В) может
быть выполнено тремя способами:
- либо последовательным вычислением по Формулам
преобразований (сперва по Формуле А,
затем по Формуле В):
X' , Y' = А (X, Y) ,
X" , Y" =" В (X;,Y');
- либо вычислением по Формуле совмещенного пре-
образования Р, полученной вручную супер-
позицией Формул А, В :
X", Y" = Р (X, Y) = В ( А( X, Y) ) ;
- либо вычислением по матрице [Р] совмещенного
преобразования, полученной умножением
матриц элементарных преобразований [А],[В]:
[ X"Y" 1 ] = [X Y 1J '* [Р] ,
где [Р]= [А] * [В] .