Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Поворот (вращение) примитивов




Методы обработки векторной графики

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

Геометрические преобразования двухмерной графики.

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

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

С помощью операций преобразования можно выполнять следующие действия:

- синтезировать изображения из более мелких элементов (примитивов, сегментов);

- добавлять к существующему изображению новые элементы;

- увеличивать и уменьшать размеры рисунка;

- перемещать, вращать, копировать изображения;

- создавать движущиеся изображения.

Наиболее распространенными базовыми операциями по преобразованию векторных изображений являются:

- перенос (перемещение) примитивов, сегментов и изображений;

- масштабирование (увеличение или уменьшение размеров) изображения;

- поворот изображения или его выделенных элементов (вращение, изменение ориентации).

Эти операции называются аффинными преобразованиями. Различают двухмерные и трехмерные аффинные преобразования.

Двухмерные аффинные преобразования.

Рассмотрим двухмерные аффинные преобразования, применяемые при обработке векторной графики.

Перенос примитивов.

Перенос точки.

Пусть необходимо осуществить перенос точки с координатами , - приращение координаты , - приращение координаты . Тогда точка с координатами будет получена после переноса (рис. 1).

Рис. 1. Перенос точки

Новые координаты точки будут определяться соотношением

;

.

Аффинные преобразования обычно записываются в матричной форме:

;

;

.

Тогда .

Перенос отрезка.

Перенос типа отрезка можно перенести, применяя предыдущие уравнения к каждой его точке. Все точки, принадлежащие отрезку, можно перенести путем перемещения начальной и конечной точек отрезка и последующего вычерчивания нового отрезка между получившимися в результате точками (рис. 2). Это справедливо также для масштабирования и поворота.

;

;

;

.

Рис. 2. Перенос отрезка

В матричной форме эти преобразования можно представить в следующем виде:

– исходный отрезок;

– полученный отрезок;

– вектор переноса.

Итоговый вид преобразования в векторной форме .

Масштабирование.

Масштабирование выполняется умножением координат на некоторые коэффициенты , .

Масштабирование точки.

Пусть дана точка .

Тогда в результате масштабирования получим следующие координаты:

;

;

;

.

Масштабирование отрезка.

– исходный отрезок;

– полученный отрезок;

;

.

Масштабирование бывает:

- однородное, когда ;

- неоднородное, когда .

При неоднородном масштабировании фигура может изменяться (круг - эллипс).

Масштабирование также делится по значению коэффициента масштабирования (рис.3, 4).

Рис. 3. Масштабирование с коэффициентом

Рис. 4. Масштабирование с коэффициентом

Поворот (вращение) примитивов.

Пусть необходимо осуществить поворот точки на угол (рис. 5).

Рис. 5. Поворот в плоскости системы координат

 

Исходные координаты точки:

; (1.1)

.

После поворота точка будет иметь координаты:

;

. (1.2)

Преобразуем выражение (2.2):

;

. (1.3)

Подставим (1.1) в (1.3):

;

. (1.4)

В матричной форме поворот записывается следующим образом:

;

;

.

Тогда в векторной форме .

Поворот считается положительным (), если он осуществляется против часовой стрелки; отрицательным – если по часовой.

Рассмотрим пример вычисления матрицы композиции двухмерных аффинных преобразований.

Пусть задан отрезок, определенный координатами:

.

1. Перенос , :

.

2. Масштабирование :

.

3. Поворот градусов:

.





Поделиться с друзьями:


Дата добавления: 2016-10-30; Мы поможем в написании ваших работ!; просмотров: 519 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

В моем словаре нет слова «невозможно». © Наполеон Бонапарт
==> читать все изречения...

2187 - | 2150 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.