- •Содержание
- •Предисловие
- •Области применения компьютерной графики
- •Цифровое представление графики
- •Основные операции над графическими объектами
- •История компьютерной графики
- •Развитие аппаратных и программных средств
- •Применение в кинематографе
- •Технические средства компьютерной графики: мониторы, графические адаптеры, плоттеры, принтеры, сканеры
- •Устройства вывода. Экраны
- •Устройства вывода твердых копий
- •Устройства ввода. Сканеры
- •Устройства ввода. Цифровые фотоаппараты
- •Устройства координатного ввода
- •Свойства растровых изображений
- •Форматы хранения графической информации
- •Цветовые модели растровых изображений
- •Системы координат, типы преобразований графической информации
- •Проблемы геометрического моделирования
- •Понятие однородных координат
- •Геометрические операции над моделями
- •Виды геометрических моделей их свойства, параметризация моделей
- •Поверхностные модели
- •Аналитические поверхности
- •Составные поверхности
- •Параметризация моделей
- •2D и 3d моделирование в рамках графических систем
- •Методы построения 3Dтел
- •Анализ твердотельных моделей
- •Алгоритмы визуализации: отсечения, развертки, удаления невидимых линий и поверхностей, закраски
- •Полигональная визуализация и линии очерка
- •7Рис. 8.59 – Тор (а), параллельная (б) и центральная (в) проекции его линий очерка.
- •Основные растровые алгоритмы
- •Удаление скрытых линий
- •Способы создания фотореалистических изображений
- •Тенденции построения современных графических систем: графическое ядро, приложения, инструментарий для написания приложений
- •Понятие конвейеров ввода и вывода графической информации
- •Cтандарты в области разработки графических систем
- •Библиотека DirectX
- •Графические процессоры, аппаратная реализация графических функций
- •3D акселерация
- •Компьютерная анимация
- •Принципы создания анимации
- •Классификация и обзор современных графических систем
- •Основные функциональные возможности современных графических систем
- •Графические системы класса 2d
- •Графические системы класса 3d
- •Принципы построения “открытых” графических систем
- •Организация диалога в графических системах
- •Предметный указатель
- •Список литературы
Системы координат, типы преобразований графической информации
Перейдем теперь к рассмотрению вопросов обработки векторных изображений. Как мы уже знаем, векторное изображение хранится в виде набора координат своих базовых элементов – отрезков и дуг. Над векторными изображениями можно выполнять так называемые аффинныепреобразования – перенос, поворот и масштабирование. При аффинных преобразованиях сохраняются углы между элементами векторного изображения.
Проблемы геометрического моделирования
Методы выполнения аффинных преобразований хорошо известны из аналитической геометрии. Например, рассмотрим перенос (трансляцию) и поворот. Пусть на плоскости имеется двухмерная система координат XOY. В этой системе точкаМимеет координатых, у. Пусть на той же плоскости имеется еще одна система координат. Тогда в этой новой системе та же точкаМбудет иметь в общем случае иные координатых', y'.Отметим, что одна система координат переводится в другую при перемещении ее центра вдоль отрезка, соединяющего начала координат обоих систем. Тогда переход от одной прямоугольной декартовой системы координат к другой описывается формулами:
|
|
(0)
|
Здесь , , , , , - произвольные числа.
Данное преобразование показано на Рис. 5 .29.

Рис. 5.29 - Общий случай перехода от одной координатной системы к другой.
Плоскопараллельный перенос (трансляция) точки заключается в алгебраическом сложении ее координат с приращениями dxиdy:
|
x'=x+dx y'=y+dy |
(0)
|
Это равносильно перемещению точки вдоль отрезка (х, у)-(dx, dy).
Пусть точку М(х,у)нужно повернуть вокруг начала координат на угол. Новые координаты точки после поворота определяются по формулам (Рис. 5 .30):
|
|
(0)
|

Рис. 5.30 - Поворот системы координат.
Как видно из этих несложных примеров, для разных преобразований используются совершенно разные методики. Однако существует единый универсальный подход, основанный на использовании матричного исчисления. Именно он и используется в системах векторной графики.
Понятие однородных координат
Матрицы применяются для описания элементарных операций над геометрическими примитивами. Для этого вводится понятие однородных координат точки на плоскости.
На плоскости точка
в однородных координатах описывается
не двумя, а тремя числами. Пусть на
плоскости есть точка М с координатамих,у. Тогда ее однородными координатами
называются три одновременно не равных
нулю числах1, х2,
х3таких, что
.
В машинной графике точке с координатами х, уна плоскости ставится в соответствие точка с координатамих, у, 1в пространстве (Рис. 5 .31). Фактически точка х, у проектируется на плоскость, параллельную координатной и отстоящей от нее на расстояние, равное единице.

Рис. 5.31 - Однородные координаты точки.
В проективной геометрии однородные координаты обычно записываются как х1:х2:1. Их также удобно представить в видеhx1:hx2:h, гдеhестьZ- координата проективной плоскости.
Основное преимущество однородных координат - возможность замены операций с вещественными числами на операции с целыми числами. Такая замена является абсолютно необходимой, поскольку целочисленная арифметика на компьютере выполняется в десятки раз быстрее, чем арифметика с плавающей точкой. Например, точка имеет однородные координаты 0,5:0.1:2.5 при h=1. Просто переместим проективную плоскость повыше, принявh=10. Тогда координаты примут вид 5:1:2.5. Третья координата при выводе на экран не используется, а первые две стали целыми числами.
Рассмотрим матричную запись аффинных преобразований на плоскости (Табл. 5 .3).
Табл. 5.3
|
ПРЕОБРАЗОВАНИЕ |
МАТРИЧНАЯ ЗАПИСЬ |
|
Перенос на TX, TY |
|
|
Поворот на угол
|
|
|
Масштабирование с коэффициентами по осям SX, SY |
|
Здесь X, Y, h - однородные координаты произвольной точке в исходной системе координат.
Таким образом, все преобразования сводятся к перемножению матрицы-столбца, содержащей однородные координаты точки, и соответствующей матрицы преобразования. Это позволяет резко упростить алгоритм обработки векторных изображений и повысить его быстродействие.




