Часть 1

ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ

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

1.  компьютерная графика (КГ);

2.  обработка изображений;

3.  распознавание изображений.

Задача КГ – визуализация, т. е. создание изображения. Визуализация выполняется исходя из описания (модели) того, что нужно отображать.

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

Основная задача распознавания изображений (РИ) – получение описания изображенных объектов. Задача РИ является обратной по отношению к визуализации.

ВИЗУАЛИЗАЦИЯ ИЗОБРАЖЕНИЙ

Известны 2 способа визуализации: растровый и векторный. 1-й способ ассоциируется с такими графическими устройствами, как дисплей, телевизор, принтер. 2-й используется в векторных дисплеях, плоттерах.

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

Растровая визуализация основывается на представлении изображения на экране или бумаге в виде совокупности отдельных точек (пикселов). Вместе пикселы образуют растр.

НЕ нашли? Не то? Что вы ищете?

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

Доминирующим сейчас является растровый способ визуализации. Это обусловлено большей распространенностью растровых дисплеев и принтеров. Недостаток растровых устройств – дискретность изображения. Недостатки векторных устройств – проблемы при сплошном заполнении фигур, меньшее количество цветов, меньшая скорость (в сравнении с растровыми устройствами).

РАСТРОВЫЕ ИЗОБРАЖЕНИЯ И ИХ ОСНОВНЫЕ ХАРАКТЕРИСТИКИ

Растр – это матрица ячеек (пикселов). Каждый пиксел может иметь свой цвет. Совокупность пикселов различного цвета образует изображение. В зависимости от расположения пикселов в пространстве различают квадратный, прямоугольный, гексагональный и др. Для описания расположения пикселов используют разнообразные системы координат. Общим для таких систем является то, что координаты пикселов образуют дискретный ряд значений (необязательно целые числа). Часто используется система целых координат – номеров пикселов с (0,0) в левом верхнем углу.

Основные характеристики растра

ГЕОМЕТРИЧЕСКИЕ

Разрешающая способность. Она характеризует расстояние между соседними пикселами (рис.1.1). Разрешающую способность измеряют количеством пикселов на единицу длины. Наиболее распространенной является dpi (dots per inch) – количество пикселов в одной дюйме длины (2,54 см).

Размер растра измеряют количеством пикселов по горизонтали и вертикали. Наиболее удобен растр с одинаковым шагом для обеих осей, т. е. dpiX=dpiY.

Форма пикселов растра определяется особенностями устройства графического вывода (рис. 1.2).

Рис. 1.1. Растр

Рис. 1.2. Примеры показа одного и того же изображения на различных растрах

КОЛИЧЕСТВО ЦВЕТОВ

Количество цветов (глубина цветов) – важнейшая характеристика растра. Согласно психофизиологическим исследованиям глаз человека способен различать цветов.

Классифицируем изображения следующим образом:

-  двухцветные (бинарные) – 1 бит на пиксел. Это черно-белые изображения.

-  полутоновые – градации серого или иного цвета. Например, 256 градаций (1 байт на пиксел).

-  цветные изображения. От 2 бит на пиксел и выше. Глубина цвета 16 бит на пиксел цветов) получила название High Color, 24 бит на пиксел (16,7 млн. цветов) - True Color. В компьютерных графических системах используются и большую глубину цвета – 32, 48 и более бит на пиксел.

Оценка разрешающей способности растра

Рисунок 1

 

Рис.1.3

Глаз человека с нормальным зрением может различать объекты с угловым размером около одной минуты. Если расстояние дsо объекта равно R, то можно приблизительно оценить этот размер (dP) как длину дуги, равную Rּα (рис. 1.3). Можно предположить, что человек различает дискретность растра (шаг) также соответственно этому минимально различимому размеру. Т. е. отдельные точки (пикселы), смещенные менее чем на dP, уже не воспринимаются смещенными. И тогда можно оценивать разрешающую способность растра, который не воспринимается как растр, следующей величиной:

(мм).

Значения при dpi различных R:

Расстояние R, мм

Размер dP, мм

Разрешающая способность, dpi

500

0,14

181

300

0,09

282

Если считать расстояние, с которого человек обычно разглядывает бумажные документы, равным 300 мм, то можно оценить минимальную разрешающую способность, при которой уже не заметны отдельные пикселы, как приблизительно 300 dpi (примерно 0,085 мм). Лазерные черно-белые принтеры полностью удовлетворяют такому требованию.

Дисплеи обычно рекомендуют разглядывать с расстояния не ближе 0,5 м. Минимальная разрешающая способность расстояния 0,5 м равна 200 dpi. В современных дисплеях минимальный размер пикселов примерно 0,25 мм, что дает 100 dpi – это плохо. Дисплей 15 дюймов по диагонали должен обеспечивать не 1024 на 768 пикселов, а вдвое больше. Но на современном уровне техники это пока что невозможно.

Часть 2

Основы компьютерной графики для программистов

ЧАСТЬ 1. МАТЕМАТИЧЕСКИЕ ОСНОВЫ КОМПЬЮТЕРНОЙ ГРАФИКИ

Глава 1. Элементы аналитической геометрии

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

Система координат

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

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

Рис. 1. Нахождение координаты x = Q точки P.

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

http://www. *****/persons/*****. html

Основы компьютерной графики для программистов

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

Рис. 2. Левосторонняя и правосторонняя системы координат.

является точка Q, которая принадлежит плоскости, параллельной плоскости yOz .

В общем случае оси системы координат могут располагаться под произвольными, хотя и фиксированными углами друг относительно друга. Для практических расчетов гораздо удобнее, когда эти оси расположены взаимно перпендикулярно. Такая система координат называется ортогональной. В ортогональной системе координат проекцией точки P на ось является единственная точка на оси такая, что отрезок прямой, проведенной из этой точки к точке P, является перпендикулярным к данной оси.

Таким образом, положение в пространстве точки P описывается ее координатами, что записывается как P = (px,py,pz). Взаимное расположение осей в ортогональной

системе координат в трехмерном пространстве может быть двух видов. Проведем ось Ох слева направо, а ось Oy снизу вверх, как показано на рис. 2.

х

Рис. 3. Определение левосторонней системы координат по левой руке.

Ось Oz при этом может проходить как в направлении от наблюдателя в плоскость листа, так и от плоскости листа к наблюдателю. В первом случае система координат будет называться левой или левосторонней, а во втором случае - правой или правосторонней. Более точное определение правой и левой систем координат можно дать следующее. Если посмотреть из положительной полуоси Oz в направлении начала координат, то для совмещения положительной полуоси Ох с положительной полуосью Oy необходимо повернуть Ox относительно начала координат против часовой стрелки - в этом случае имеем правую систему координат; если же поворот

http://www. *****/persons/*****. html

Основы компьютерной графики для программистов

производится по часовой стрелке - то система координат левая* .

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

Декартовы координаты точек позволяют описывать статичное положение точек в пространстве. Однако, для проведения каких-либо преобразований над объектами, которые описываются точками, необходимо иметь дополнительный математический аппарат. В качестве такого математического аппарата применяют радиус-векторы. Радиус-векторы обладают всеми свойствами векторов, но имеют одну особенность: начало радиус-вектора находится всегда в начале системы координат, а конец радиус-вектора лежит в некоторой точке пространства. Это свойство радиус-векторов позволяет поставить во взаимно однозначное соответствие всем точкам пространства соответствующие им радиус-векторы. Формально это соответствие запишем в следующем виде. Пусть точка P имеет координаты (px,,py,pz) то есть P = (px,py,pz),

и p = pj + pyj + pzk - радиус-вектор, конец которого находится в точке P, где i,j,k -

тройка единичных базисных векторов (ортов), или просто ортонормированный базис. Тогда точке P взаимно однозначно соответствует радиус-вектор p, или

Р = \Px,Py,Pz)<:> pj + pyj + pzk = p . Таким образом, можно легко переходить от

координат точек к радиус-векторам и обратно. Далее мы увидим, что представление радиус-вектора в виде линейной комбинации векторов базиса имеет вполне конкретное практическое применение. Отметим, что радиус-вектор иногда определяют как преобразование переноса точки из начала координат в заданную точку пространства с известными координатами. При этом умножение радиус-вектора p на число a соответствует переносу точки из начала координат в направлении вектора p на

+ Ру + pz ~ модуль вектора.

расстояние ap , где в прямых скобках p = p

Сложение радиус-векторов p + q можно рассматривать как перенос точки P по направлению вектора q на расстояние q .



Уравнение прямой

Рассмотрим, каким образом можно использовать координаты точек и радиус-векторы для описания прямых в трехмерном пространстве. Уравнение прямой дает информацию, принадлежит ли точка с заданными координатами определенной прямой или нет. Рассмотрим два способа вывода этого уравнения. В первом случае выберем в пространстве две точки P1 = (x1, y1, z1) <=> 1 и

Проведем от точки P1 к точке P2 обычный вектор

Рис. 4. Вывод уравнения прямой в трехмерном пространстве.

В этом определении при замене, скажем, оси Oz на ось Ox остальные оси заменяются по правилу циклической перестановки, то есть Oy заменится на Oz, а Ox заменится на Oy. Всего здесь циклических перестановок может быть три: (x, y,z)>(y, z,x)—>(z, x,y).

http://www. *****/persons/*****. html

КООРДИНАТНЫЙ МЕТОД

Координатный метод был введен в 17 веке французскими математиками Р. Декартом и П. Ферма. На этом методе основывается аналитическая геометрия, которую можно считать фундаментом КГ. В современной КГ широко используется координатный метод. Этому есть несколько причин:

1.  каждая точка (на экране, на бумаге при печати на принтере) задается координатами (пиксельными).

2.  Координаты используются для описания объектов, которые будут отображаться как пространственные (объекты на поверхности земли, космического пространства).

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

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

Сначала рассмотрим общие вопросы преобразования координат.

Пусть задана n–мерная система координат в базисе (k1, k2,…,kn), описывающая положение точки в пространстве с помощью числовых значений ki. В КГ чаще всего используется двумерная (n=2) и трехмерная (n=3) система координат.

Если задать другую, N-мерную систему координат в базисе (m1, m2,…,mN) и поставить задачу определения координат в новой системе, зная координаты в старой, то решение можно записать в следующем виде:

где fi – функция пересчета iкоординаты, аргументы – координаты в системе ki.

Можно поставить и обратную задачу – по известным координатам (m1, m2,…,mN) определить координаты (k1, k2,…,kn). Решение обратной задачи запишем так:

где – функция обратного преобразования.

Если размерности систем не совпадают (n≠N), осуществить однозначное преобразование не удается как правило. Например, по 2-мерным экранным координатам нельзя без дополнительных условий определить 3-мерные координаты отображаемых объектов.

Если размерности систем совпадают (n=N), то также возможны случаи, когда нельзя однозначно решить прямую или обратную задачи.

Преобразование координат классифицируются:

-  по системам координат – например, преобразование из полярной системы в прямоугольную;

-  по виду функций преобразования fi.

По виду функций преобразования различают линейные и нелинейные преобразования. Если при всех i= 1, 2,…, N функции fi – линейные относительно аргументов (k1, k2,…,kn), т. е.

,

где aij– константы, то такие преобразования называются линейными, а при n=N – аффинными.

Если хотя бы для одного i функция fi – нелинейная относительно (k1, k2,…,kn), тогда преобразование координат в целом нелинейно.

Например, преобразование

- нелинейно!

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

.

Аффинные преобразования на плоскости