Модели машинной графики

Системы машинной графики отображают
отработанную информацию о процессах или объектах в виде синтезированного
отображения на экране дисплея или другой экранной плоскости. Для систем машинной
графики источником входной информации является не сами физические процессы, а их
математические модели. Такие модели в общем случае представляют упорядоченную
совокупность данных, числовых характеристик, параметров, математических и
логических зависимостей, отображающих структуру, свойства, взаимосвязи и
отношения между элементами объекта, а также между объектом и его окружением.
Модели как правило являются обобщенными, предназначенными для описания класса
объектов. Индивидуальный объект описывается вводом конкретных значений
параметров системы. При оценке степени соответствия
синтезированного изображения и оригинала будем использовать три уровня
подобия: Физическое подобие
устанавливается на уровне трех групп характеристик: При физически точном подобии эти характеристики синтезированного
изображения должны либо полностью соответствовать оригиналу, либо быть ему
пропорциональными. При психофизическом уровне подобия соответствие
устанавливается на уровне зрительных ощущений. В силу ограниченных возможностей
зрительного аппарата при некотором уровне искажений наблюдатель не ощущает
разницу между синтезированным изображением и оригиналом. Психологическое
подобие предполагает, что по общему восприятию синтезированное изображение и
оригинал являются схожими. В следствии этого синтезированное изображение
обеспечивает формирование наблюдателя вполне определенного суждения о реальном
или сюжете, хотя синтезированное изображение существенно отличается от оригинала
по физическим характеристикам. формирование трехмерных контурных изображений (
чертежей), выполненных в выбранной аксонометрической проекции. Необходимость
синтеза изображения на уровне синтеза физического и психофизического подобия
возникает при решении следующих задач: создание банков эталонных изображений
автоматического распознавания систем В обобщенном виде процедуру
синтеза изображения можно представить следующей
формулой: модель наблюдаемого
объекта ( сцены ) си Синтезированное
изображение сопоставляется с оригиналом при визуальной или аппаратурной
съемке. =A соответственно операторы
преобразования при визуальном наблюдении в съемочной аппаратуре,
соответственно изображение,
полученное при визуальном наблюдении или съемке, При физическом уровне подобия оригинал и
синтезированное изображение должны быть идентичны: Под текстурой понимают специфические изменения тона (цвета)
в изображении объекта или некоторой его части. К текстуре относятся также
наличие характерных линий на изображении. Синонимами термина текстура являются
узор, рисунок, фактура. Упорядоченная. Изменение тона в
виде правильных или почти правильных геометрических рисунков (кирпичная кладка,
кафельная облицовка, шахматный рисунок). Стохастическая ( случайная ). Присуща
естественным объектам и как правило является следствием шероховатости
поверхности. Один из основных принципов формирования текстуры - перенос
регулярного или стохастического рисунка на поверхность объекта. Для нанесения
рисунка решается задача преобразования систем координат. Если рисунок задан в
пространстве текстуры в системе координат (U, W), а поверхность в ( ), то для переноса
рисунка определяется функция отображения одного пространства на другое, т.е.
определяется соотношения : U= W=s ( В большинстве практических случаев такие
преобразования линейны, а коэффициент преобразований может быть вычислен из
соотношений между известными точками в системах координат. Характерные точки
узора из пространства текстуры переносятся в объектное пространство. Затем в
пространство изображений и определенным образом соединяются линии рисунка. При переносе на поверхность предмета текстуры, представляющей
непрерывное регулярное или случайное поле яркости наиболее подходящим является
метод обратного трассирования лучей. Центр пикселя изображение проецируется на
поверхность предмета и по координатам точки на поверхности определяется
соответствующая ей точка в пространстве текстуры. Для устранения эффектов,
вызванных пространственной дискретизацией используются процедуры сглаживания.
Одной из возможных процедур сглаживания является трассирование четырех точек,
соответствующим углам пикселя и использования среднего значения яркости текстуры
для этих четырех точек. Использование четырех точек пикселя позволяет оценить
достаточность процедуры сглаживания, если разность яркостей для выбранных
четырех точек больше заданного порога, есть возможность произвести разбиение
пикселя на четыре части и вычислить для него яркость более точно. Для синтеза
стохастических текстур предпочтительными считаются авто регрессионная модель и
модели с использованием методов линейного программирования. Синтез
осуществляется с использованием статистических характеристик текстур
прототипов: Для
определения плотности вероятности в пределах некоторого окна измеряют
гистограмму, и для ее отображения используют первые четыре момента(среднее,
стандартное отклонение, асимметрия, коэффициент эксцесса ). Форму
автокорреляционной функции выражают через ее четыре центральных пространственных
момента. В результате такой обработки формируется восьми мерный вектор признаков
текстуры. Примечание: стохастические текстуры, синтезированные на основе
прототипов хорошо моделируют естественные шероховатые поверхности, если они
обладают сравнительно не большой кривизной. Для поверхностей со значительной
кривизной ( шар, эллипсоид ), перенос на них даже стохастической текстуры не
обеспечивает реалистического вида. Причина этого в том, что текстура,
сформированная без учета формы объекта не передает изменение освещенности,
обусловленной рельефом поверхности. Для реальных шероховатых поверхностей вектор
нормали содержит небольшую случайную составляющую, которая определяет характер
изменения освещенности в изображении. Для получения изображения, близкого к
реалистичному этот фактор необходимо смоделировать. ¢ Q частные производные
функции поверхности к возмущенной поверхности при малом
возмущении (N Q N N) F и могут быть использованы как
аналитические функции, так и заданные в виде массива. В частности в виде массива
можно задать стохастическую текстуру. Примечание: изображение при
использовании данного метода отображения шероховатых поверхностей приобретает
вид, чрезвычайно близкий к реалистичному, однако объем вычислений для алгоритма
возмущения нормали примерно в 4-5 раз больше, чем при изображении текстуры без
учета рельефа. Аналогичные методы возмущения используют для придания
естественного вида цветным поверхностям. К исходному цвету добавляется случайная
или псевдослучайная составляющая другого цвета, точки поверхности приобретают
цвет, являющийся интерполяцией между двумя крайними цветами. Метод применяется
для моделирования поверхностей из гравия, цемента и т.д. Для моделирования
наиболее сложных поверхностей, содержащих существенные нерегулярности (каменные
осыпи, деревья, облака и т.д.) используются фронтальные поверхности, состоящие
из случайно заданных полигональных или биполигональных фрагментов.
Первое звено, осуществляющее преобразование лучистого
потока от элементов сцены - это оптическая система, которая формирует первичное
изображение на светочувствительной поверхности преобразователя. Геометрические
и энергетические характеристики первичного изображения, определяются на основе
геометрической оптики, в соответствии с которой первичное изображение можно
рассматривать как центральную проекцию наблюдаемой сцены на картинную
плоскость. Центральная проекция обеспечивает точное моделирование процессов
геометрических и энергетических преобразований, но не позволяет передавать
мелкую структуру изображения поскольку сам принцип центральной проекции не
предусматривает учета дифракции, аберраций и прочих явлений, приводящих к
размытию изображений. При анализе энергетических преобразований и определения
освещенности изображения в картинной плоскости полагаем, что расстояние от
наблюдаемой сцены до объектива оптической системы много больше фокусного
расстояния системы, а угловая ширина индикатрисы излучения любого участка
наблюдаемых поверхностей существенно превышает угловой размер входного зрачка
оптики из любой точки пространства предметов. Рис.1 Геометрическая схема для определения освещенности первичного
изображения в картинной плоскости. Так как проективное
преобразование оптической системы является центральным, то угол dw, опирающийся
на площадку dS, равен углу dw ¢ Лучистый поток, собираемый системой
от элемента dS, составляет W - коэффициент ослабления излучения
оптической системы, равный произведению коэффициента виньетирования k(w) и
коэффициента пропускания оптики - пропускание слоя среды между объектом
и оптической системой 2 2 /(4
H 3 ос Величина
освещенности в плоскости первичного изображения определяется следующим образом :
E L cos w cos Т.к. согласно
(*) dS/dS ¢ /4
(D Параметрическое описание поверхностей Y =
Y(u,t) заданных пределах, относятся к классу параметрических.
Для одной пары значений (u,t) вычисляется одна точка
поверхности. ,y исходящие
из этой точки определяются уравнением: Данное уравнение описывает прямоугольник со сторонами, равными и , если [0,1]. Нормаль к поверхности можно получить,
вычислив векторное произведение: cos j j Нормаль к поверхности эллипсоида
определяется: , u где a- радиус кольцевого "баллона" тороида
и R - расстояние от центра тороида до оси "баллона". Важным преимуществом
параметрического описания поверхностей является возможность передачи очень
сложных геометрических форм, описание которых другими методами
затруднительно. Параметрическое описание поверхности приспособлено к
физическим процессам управления резцом в станках с числовым программным
управлением. Резец вытачивает деталь, двигаясь в пространстве по закону,
заданному параметрическим описанием. Параметрический подход единственно
приемлемый для моделирования сложных, гладких участков поверхностей при помощи
сплайновой аппроксимации. Параметрическое описание предусматривает, что исходной
позицией луча, строящего изображение, является точка на объекте, что затрудняет
применение алгоритмов синтеза изображений с иной начальной позиции луча.
Например: алгоритм трассировки лучей. Это свойство ограничивает изобразительные
возможности: ограничено моделирование теней, передача прозрачности и зеркального
отображения соседних объектов. Поверхности описываются функцией вида f(X,Y,Z)=0, где
X,Y,Z - координаты из пространства объекта. Наиболее распространены функции
первой и второй степени, существуют аналитические методы для решения уравнений
третей и четвертой степени, однако они применяются
редко. +2DXY+2EYZ+2GX+2HY+2JZ+K
=0 в зависимости от значений коэффициентов можно описывать пары плоскостей
(вырожденный случай), конусы, гиперболоиды, параболоиды и
эллипсоиды. : Неявная форма задания поверхностей хорошо
приспособлена для твердотельного или объемного описания объектов. Неявная форма
хорошо сочетается с алгоритмами трассировки лучей т.к. легко определяются
взаимное положение точки и поверхности такого типа, а также точки пересечения
прямой и поверхности. Метод
заключается в задании поверхности множеством принадлежащих ей точек.
Следовательно качество изображения при этом методе зависит от количества точек и
их расположения. Поточечное описание применяется в тех случаях, когда
поверхность очень сложна и не обладает гладкостью, а детальное представление
геометрических особенностей важно для практики. : Участки грунта
на других планетах, формы небесных тел, информация о которых получена в
результате спутниковых съемок. Микрообъекты, снятые с помощью электронных
микроскопов. Трассировка лучей
связана с моделированием геометрического пути каждого светового луча,
участвующего в построении изображения. Трассировка лучей - моделирование лучевой
оптики, применительно к задачам компьютерной графики. ЭВМ повторяет все геометрические преобразования, происходящие с
каждым световым лучам на пути источник - объект - приемник. Хотя бесконечное
количество, для построения изображения достаточно ограничится рассмотрением тех
лучей, которые попадают в центр рецептора или исходящих из ограниченного числа
точек на изображаемую поверхность. Подобно некоторым разделам геометрической
оптики при компьютерном моделировании реальный ход лучей в объективах не
анализируется. Для построения изображения используют кординальные элементы
оптической системы (главная и фокальная точки, а также соответствующие
плоскости). В соответствии с принципами геометрической оптики сопряженные
точки в пространстве предметов и изображений лежат на прямой, проходящей через
заднюю главную точку оптической системы. На основании закона обратимости можно
синтезировать путь луча как в направлении объект - изображение, так и в
обратном. Отсюда различия между прямой и обратной трассировкой лучей. При
прямой трассировке за исходную позицию берется вычисляемая на изображаемой
поверхности точка 1, из нее моделируется путь луча на источник света 2 и
наприемник изображения - точка 3. При обратной трассировке берется центр
рецептора 1 на приемнике изображения и моделируется путь луча на объект 2 и
далее на источник света - точка 3. - совокупность изображаемых
объектов, включая при необходимости поверхность основания. c - совокупность
точек пространства, объединенных функциональной общностью с точки зрения
конкретно-целевой задачи. Экранная система координат Z наблюдательной системы. Данная
система координат выбирается левой. По
аналогии c физическими устройствами ось z соответствует главному лучу объектива,
плоскость xy - задней фокальной плоскости, а центр проекции F располагается на
оси OZ в точке (0,0,f) и сопоставляют с задней главной точкой
объектива. Так как исходной позицией для
трассировки луча является центр рецептора, то алгоритм начинает работу с
определения пространственного расположения всех рецепторов . В
плоскости xoy экранной системы располагается матрица точечных приемников, где
c шаг
сетки рецепторов по оси x и y. Координаты рецептора (x = c (I/2-i+1/2), где I,J - максимальное значение
соответствующих индексов [X,Y,Z,1]=[x,y,z,1]
M -
матрица порядка 4, являющееся обратной матрице M, связывающей объектную правую и
экранную левую системы. В методе обратной
трассировки лучей трехмерные объекты выгодно представлять в виде отдельных
строительных блоков, поверхности которых можно описать кривыми первого и второго
порядка. : Функциональным объемом называется некоторая часть
пространства (не обязательно конечная), охватываемая поверхностью одной функции.
Принадлежащим телу объекта считается подпространство, выделяемое поверхностью f
(x,y,z)=0 в любой точке которого, значение скалярного поля f (x,y,z)>0. Такое
подпространство именуется положительным. : Объемный примитив
- конечный участок пространства, ограниченный одной или несколькими
функциональными поверхностями. : Плоский примитив - часть
плоскости, ограниченная замкнутой линией, состоящей из конечного числа
прямолинейных или криволинейных участков. К структуре примитива относятся
неизменное количество ограничивающих его поверхностей и вид функций, описывающих
эти поверхности. Изменение формы примитива может достигаться варьированием
параметров функций. Из
комбинаций примитивов образуются более сложные примитивы, называемые
строительными блоками. Над примитивами определены следующие пространственные
комбинации: Любой пространственный
объект, образованный комбинацией примитивов может быть описан древовидной
структурой, корнем которого является сам объект, вершинами - примитивы, а в
узлах ветвей помещаются операции пространственных
комбинаций. Взаимное положение
характеризуется через функции принадлежности где x,y,z - координаты точки, Ф -
обозначение примитива, объекта или фигуры. Соответственно функция: Пусть
примитив Ф состоит из k уравнений Для определения
освещенности изображения устанавливается видимость для каждого рецептора,
ориентация нормали для видимых точек, их отражательную способность и
т.д. поверхностей, которые организованны по правилу положительности
внутренней области, тогда для определения всех точек пересечения прямой,
исходящей из ij рецептора через центр проекции F и d-ого примитива необходимо
решить K Для
каждой из таких систем возможны 3 случая: Все точки решения принадлежат поверхности
примитива. Точка, принадлежащая некоторой поверхности, входящей в описание
примитива, принадлежит поверхности примитива, если для всех остальных
поверхностей точка находится в неотрицательной части поверхности. Возможен
случай, когда исследуемый луч проходит через границу смежных объектов примитива.
Для разрешения этой проблемы отбираются две точки фактического перемещения луча
и выпуклого примитива. Из всех возможных претендентов выбираются ближайшая и
самая удаленная точки. В общем случае должны выполнятся условия: F -Y +
(Y (X ) , Z Информация о пересечении луча с d-м примитивом
представляется в виде матрицы координат точек пересечения: и
матрицы номеров поверхностей, которым принадлежат точки
X Алгоритм определения точек пересечения прямой и
примитива Устанавливаем
FLAG=0 Если решений нет, то увеличиваем k ) и возврат
на шаг 2. решений),
то устанавливаем (где - номер текущего решения поверхности под номером k проверяют условие : - текущий номер поверхности в d-ом
примитиве) Если условие не выполняется, то увеличиваем на 1 (пока
Если условие 5 выполнено и FLAG=0, то точка размещается
в две первые строки матрицы d, а в две первые строки матрицы WHO заносится номер
k (**) точка , Z (***) точка F на 1 (пока k Пересечение луча с комбинацией примитива. Когда задача
определения точек пересечения луча с примитивами решена, в полученной
совокупности необходимо выделить точку, ближайшую к наблюдателю, т. е. видимую.
Для этого все матрицы WHO и матрица Т для каждого из примитивов сводятся в
единые блочные матрицы WHO и Т. Матрица Т переформируется таким образом, чтобы в её первой
строке помещалась точка, ближайшая к источнику луча, порядок остальных точек
может быть произвольным. Синхронно сортируется матрица WHO для того, чтобы не
терялась связь между точкой и конкретной поверхностью. Когда таким образом
выделена ближайшая точка (X ) следует
проверить её принадлежность к поверхности объекта. Для этого оценивается
положение точки относительно каждого из примитива объекта. Положение точки и
каждого примитива определяется функцией принадлежности, а относительно положения
точки (X ), устанавливается путём попарной проверки
функции принадлежности ) и функции d = 1(1)D ( d = 1. . D
- точки, освещённые прямым светом; Алгоритм вычисления освещённости для этих классов
существенно различен. Поэтому для каждой видимой точки устанавливается признак
освещённости затенённости. Идея решения данной
задачи основана на следующем факте: видимая точка освещена (находится на свету),
если её не закрывают от источника света другие поверхности или эта точка
является ближайшей к источнику света, среди всех остальных, лежащих на световом
луче. Для определения затенённости точки (X ) необходимо провести световой луч из источника света на
видимую точку и найти точки пересечения этой прямой со всеми поверхностями,
входящими в состав объекта. Поскольку объект состоит из примитивов, то
первоначально определяется пересечение луча с поверхностью каждого
примитива. Затем среди множества решений отбирают действительное, а среди них
точку, ближайшую к источнику света и лежащую на поверхности
объекта. Алгоритм определения затенённости идентичен
алгоритму определения видимости, но точка центра проектирования заменяется на
точку источника излучения, а точка центра рецептора на видимую точку. Если
видимая из рецептора точка является ближайшей к источнику света, то она освещена
прямыми лучами. Проведя данные вычисления для всех I*J рецепторов удаётся
получить информацию о координатах видимой из каждого рецептора точки (X , о номере примитива, номере
функции поверхности, которой принадлежит точка и признак затенённости /
освещённости. При неизменном ракурсе нет необходимости
каждый раз вновь определять видимые точки, при перемещении источника света.
Координаты видимых точек остаются неизменными. Пересчитывается только признак
освещённости.