
- •Московский государственный институт электроники и математики (Технический университет)
- •"Преобразования на плоскости. Вычерчивание линий и окружностей"
- •2. 1. Преобразования на плоскости (2d преобразования)
- •2.2. Разложение в растр
- •2.2.1 Вычерчивание отрезков
- •2.2.1.1. Алгоритм Брезенхема вычерчивания отрезков для первого октанта.
- •2. 2. 1. 2. Обобщенный алгоритм Брезенхема вычерчивания отрезков
- •2.2.2. Вычерчивание окружностей
- •3. Практическая часть
- •4. Требования к отчету
Министерство образования РФ
Московский государственный институт электроники и математики (Технический университет)
КАФЕДРА "ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА"
Методические указания
по выполнению лабораторной работы №1
"Преобразования на плоскости. Вычерчивание линий и окружностей"
по курсу
"Компьютерная графика"
Москва, 1999 г.
Цель работы
Известно, что объекты, которые отображаются на дисплее компьютера, могут быть преобразованы или трансформированы по какому-либо закону для достижения некоторого эффекта. Кроме того, эти графические объекты должны быть представлены в растровом формате, т.к. дисплей является растровым графическим устройством.
Поэтому целью данной работы является изучение алгоритмов:
преобразования объектов на плоскости;
разложения графической информации в растр.
Теоретическая часть
2. 1. Преобразования на плоскости (2d преобразования)
Преобразование - это изменение координат некоторой точки М на плоскости по некоторому закону : M(x,y) -> M’(x,y).
Существуют следующие элементарные преобразования на плоскости:
–поворот вокруг
начальной точки на угол ;
масштабирование;
зеркальное отражение;
параллельный перенос.
Все эти виды преобразований могут быть представлены
о
бщим аффинным преобразованием.
1.
Поворот описывается формулами
2
.Масштабирование можно задать так:
где коэффициенты
масштабирования.
Виды масштабирования
|
|
|
|
растяжение вдоль оси х |
сжатие вдоль оси х |
Растяжение вдоль оси у |
сжатие вдоль оси у |
Зеркальное отражение задается формулами:
Относительно оси абсцисс |
Относительно оси ординат |
|
|
4. Параллельный перенос можно описать формулами:
5. Общее аффинное преобразование описывается следующими соотношениями
Любое аффинное преобразование может быть представлено как последовательное выполнение (суперпозиция) простейших преобразований, описанных в предыдущих четырех пунктах.
Примеры аффинного преобразования:
Поворот фигуры относительно точки С, не являющейся началом координат, на заданный угол осуществляется за 3 шага (см. рис. 5, а):
параллельный перенос фигуры так, чтобы данная точка С оказалась в точке начале координат (см. рис.5, б);
поворот фигуры относительно начала координат на заданный угол (см. рис. 5, в);
параллельный перенос фигуры на исходное место (см. рис. 5, г).
а) б) в) г)
Рис. 5
Зеркальное отражение фигуры относительно прямой, не параллельной ни одной из осей координат осуществляется также за 3 шага (см. рис. 6, а):
зная тангенс угла наклона прямой, повернуть на этот угол фигуру (см. рис. 6, б);
зеркально отразить фигуру относительно оси х (см. рис. 6, в);
повернуть отраженную фигуру на известный угол, взятый с противоположным знаком (см. рис. 6, г).
а) б) в) г)
Рис. 6