- •«Национальный исследовательский томский политехнический университет»
- •Введение
- •Способы представления изображений в эвм
- •Растровое представление изображений
- •Параметры растровых изображений
- •Векторное представление изображений
- •Представление изображений с помощью фракталов
- •Геометрические фракталы
- •Алгебраические фракталы
- •Системы итерируемых функций
- •Представление цвета в компьютере
- •Свет и цвет
- •Цветовые модели и пространства
- •Цветовая модель rgb
- •Субтрактивные цветовые модели
- •Модели hsv и hsl
- •Системы управления цветом
- •Графические файловые форматы
- •Растровые алгоритмы
- •Алгоритмы растеризации
- •Растровое представление отрезка. Алгоритм Брезенхейма
- •Растровая развёртка окружности
- •Кривые Безье
- •Закраска области, заданной цветом границы
- •Заполнение многоугольника
- •Методы устранения ступенчатости
- •Метод увеличения частоты выборки
- •Метод, основанный на использовании полутонов
- •Методы обработки изображений
- •Яркость и контраст
- •Масштабирование изображения
- •Преобразование поворота
- •Цифровые фильтры изображений
- •Линейные фильтры
- •Сглаживающие фильтры
- •Контрастоповышающие фильтры
- •Разностные фильтры
- •Нелинейные фильтры
- •Преобразования растровых изображений
- •Векторизация с помощью волнового алгоритма
- •Построение скелета изображения
- •Оптимизация скелета изображения
- •Сегментация изображений
- •Методы, основанные на кластеризации
- •Алгоритм разрастания регионов
- •Компьютерная геометрия
- •Двумерные преобразования
- •Однородные координаты
- •Двумерное вращение вокруг произвольной оси
- •Трехмерные преобразования
- •2. Трехмерное изменение масштаба
- •3. Трехмерный сдвиг
- •4. Трехмерное вращение
- •Проекции
- •Математическое описание плоских геометрических проекций
- •Изображение трехмерных объектов
- •Видимый объем
- •Преобразование видимого объема
- •Представление пространственных форм
- •Полигональные сетки
- •Явное задание многоугольников
- •Задание многоугольников с помощью указателей в список вершин
- •Явное задание ребер
- •Удаление невидимых линий и поверхностей
- •Классификация методов удаления невидимых линий и поверхностей
- •Алгоритм плавающего горизонта
- •Алгоритм Робертса
- •Определение нелицевых граней
- •Удаление невидимых ребер
- •Алгоритм, использующий z–буфер
- •Методы трассировки лучей
- •Алгоритмы, использующие список приоритетов
- •Алгоритм Ньюэла-Ньюэла-Санча для случая многоугольников
- •Алгоритм Варнока (Warnock)
- •Алгоритм Вейлера-Азертона (Weiler-Atherton)
- •Методы закраски
- •Диффузное отражение и рассеянный свет
- •Зеркальное отражение
- •Однотонная закраска полигональной сетки
- •Метод Гуро
- •Метод Фонга
- •Поверхности, пропускающие свет
- •Детализация поверхностей
- •Детализация цветом
- •Детализация фактурой
- •Библиотека OpenGl
- •Особенности использования OpenGl в Windows
- •Основные типы данных
- •Рисование геометрических объектов
- •Работа с буферами и задание цвета объектов
- •Задание графических примитивов
- •Рисование точек, линий и многоугольников
- •Преобразование объектов в пространстве
- •Преобразования в пространстве
- •Получение проекций
- •Задание моделей закрашивания
- •Освещение
- •Полупрозрачность. Использование α-канала
- •Наложение текстуры
- •Аппаратные средства машинной графики
- •Устройства ввода
- •Сканеры
- •Основные характеристики
- •Фирмы-производители
- •Дигитайзеры
- •Принцип действия
- •Основные характеристики
- •Фирмы-производители
- •Цифровые фотокамеры
- •Принцип действия
- •Фирмы-производители
- •Литература
- •Оглавление
- •Отпечатано в Издательстве тпу в полном соответствии с качеством предоставленного оригинал-макета
-
Преобразование видимого объема
В случае центральной перспективы, для решения задачи отсечения по ВО требуются значительные вычисления. Решение заключается в преобразовании ВО к виду, в котором вычисления проводились бы значительно проще.
В общем, идея заключается в том, чтобы свести преобразование центральной перспективы математически к виду параллельной проекции.
Будем решать задачу в два этапа. В начале приведем видимый объем к нормированному виду. При этом значение Zmax=1, а границы по осям x и y лежат в диапазоне [-1,1].
Нормирующим преобразованием в этом случае будет операция масштабирования, которая для произвольной точки X выражается в виде:
Графическая иллюстрация к нормализации ВО приведена на Рис. 6 .77.
а) |
б) |
Рис. 6.77. Нормализация ВО
Следующим этапом является переход от нормированного объема к каноническому виду, который позволит более быстро проводить не только отсечение по ВО, но и эффективно применять в дальнейшем алгоритмы удаления скрытых линий и поверхностей. Переход к каноническому виду производится с помощью матрицы преобразования Mp:
Графически иллюстрация, показывающая ВО в каноническом виде, приведена на Рис. 6 .78.
Рис. 6.78. Канонический вид ВО
-
Представление пространственных форм
Во многих приложениях машинной графики возникает потребность в представлении трехмерных форм: при проектировании самолетов, при восстановлении трехмерных тел по изображениям их поперечных сечений, построенных с помощью машинной томографии, при автоматической сборке и во многих других. Нам уже известно, как изображаются пространственные объекты, когда их удается представить в виде последовательности отрезков прямых, заданных в мировых координатах. Совокупность отрезков не является адекватным описанием объекта, поскольку отрезки сами по себе не определяют поверхностей. В то же время информация о поверхностях необходима для проведения вычислений, связанных со стиранием скрытых частей изображения, для определения объемов и т. д. Таким образом, мы приходим к выводу, что для описания трехмерных форм необходимы поверхности – примитивы более высокого уровня, чем отрезки.
Мы остановим внимание на двух широко распространенных трехмерных представлениях поверхностей в пространстве: полигональных сетках и параметрических бикубических кусках. Полигональной сеткой является совокупность связанных между собой плоских многоугольников. Наружную форму большинства зданий можно легко и естественно описать с помощью полигональной сетки (так же, как мебель и комнаты). Полигональные сетки применяются также для представления объектов, ограниченных криволинейными поверхностями. Однако недостатком этого метода является его приблизительность. Видимые ошибки в таком представлении можно сделать сколь угодно малыми, используя все большее число многоугольников для улучшения кусочно-линейной аппроксимации объекта, но это приведет к дополнительным затратам памяти и вычислительного времени для алгоритмов, работающих с таким представлением.
При втором способе описания трехмерных форм поверхность может быть разбита на куски, каждый из которых будет описан параметрическим бикубическим уравнением. Поэтому такие поверхности называют параметрические бикубические поверхности.
Рис. 7.79. Параметрический бикубический кусок
Параметрические бикубические куски (Рис. 7 .79), из которых состоят эти поверхности, описываются координатами точек с помощью трех уравнений (по одному для х, у и z). Каждое из уравнений имеет две переменные (два параметра), причем показатели степени при них не выше третьей (отсюда название бикубический). Уравнение для X будет выглядеть следующим образом:
В матричной форме уравнение для Х можно описать как: X(S,t)=S∙Cx∙TT, где S=[S3 S2 S 1] T=[t3 t2 t 1]
Аналогично записываются уравнения для Y и Z.
Границами кусков являются параметрические кубические кривые. Для представления поверхности с заданной точностью требуется значительно меньшее число бикубических кусков, чем при аппроксимации полигональной сеткой. Однако алгоритмы для работы с бикубическими объектами существенно сложнее алгоритмов, имеющих дело с многоугольниками.
При использовании обоих методов трехмерное тело представляется в виде замкнутой поверхности.