|
Интерактивные графические системы
Модели машинной графики
Системы машинной графики отображают отработанную информацию о процессах или объектах в виде
синтезированного отображения на экране дисплея или другой экранной плоскости. Для систем машинной
графики источником входной информации является не сами физические процессы, а их математические модели.
Такие модели в общем случае представляют упорядоченную совокупность данных, числовых характеристик,
параметров, математических и логических зависимостей, отображающих структуру, свойства, взаимосвязи и
отношения между элементами объекта, а также между объектом и его окружением.
Модели как правило являются обобщенными, предназначенными для описания класса объектов.
Индивидуальный объект описывается вводом конкретных значений параметров системы.
Изображение, которому ставится в соответствие моделируемый аналог называется оригиналом.
При оценке степени соответствия синтезированного изображения и оригинала будем использовать три
уровня подобия:
- физическое
- психофизическое (физиологическое)
- психологическое
Физическое подобие устанавливается на уровне трех групп характеристик:
- геометрических ( пространственных )
- яркостных ( энергетических )
- временных
При физически точном подобии эти характеристики синтезированного изображения должны либо
полностью соответствовать оригиналу, либо быть ему пропорциональными.
При психофизическом уровне подобия соответствие устанавливается на уровне зрительных ощущений.
В силу ограниченных возможностей зрительного аппарата при некотором уровне искажений наблюдатель не
ощущает разницу между синтезированным изображением и оригиналом.
Психологическое подобие предполагает, что по общему восприятию синтезированное изображение и
оригинал являются схожими. В следствии этого синтезированное изображение обеспечивает формирование
наблюдателя вполне определенного суждения о реальном или сюжете, хотя синтезированное изображение
существенно отличается от оригинала по физическим характеристикам.
Пример
Задача, решаемая на уровне психологического подобия:
формирование трехмерных контурных изображений ( чертежей), выполненных в выбранной
аксонометрической проекции.
Необходимость синтеза изображения на уровне синтеза физического и психофизического подобия
возникает при решении следующих задач:
- имитация визуального наблюдения обстановки в видео-тренажерах
- создание банков эталонных изображений автоматического распознавания систем
- оценка внешнего вида и эстетических свойств проектируемых изделий или объектов.
В обобщенном виде процедуру синтеза изображения можно представить следующей формулой:
Gси=Aмг • Gмод ,
где соответственно
Gмод - модель наблюдаемого объекта ( сцены )
Aмг - оператор преобразования (обрабатываемая программа системы машинной графики)
Gси - двумерное изображение, сформированное системой
Синтезированное изображение сопоставляется с оригиналом при визуальной или аппаратурной съемке.
Gор=Gвиз=Aвиз•Gо
Gор=Gвых=Aс•Gо,
где соответственно
Gо - поле излучения объекта,
Aвиз, Aс - соответственно операторы преобразования при визуальном наблюдении в съемочной
аппаратуре,
Gвиз, Gвых - соответственно изображение, полученное при визуальном наблюдении или съемке,
Gор - изображение - оригинал.
При физическом уровне подобия оригинал и синтезированное изображение должны быть идентичны:
Gор ? Gси
Текстура изображения
Под текстурой понимают специфические изменения тона (цвета) в изображении объекта или некоторой
его части.
К текстуре относятся также наличие характерных линий на изображении. Синонимами термина тексту-
ра являются узор, рисунок, фактура.
Виды текстуры
1. Упорядоченная. Изменение тона в виде правильных или почти правильных геометрических рисунков (кир-
пичная кладка, кафельная облицовка, шахматный рисунок).
2. Стохастическая ( случайная ). Присуща естественным объектам и как правило является следствием шерохо-
ватости поверхности.
Один из основных принципов формирования текстуры - перенос регулярного или стохастического ри-
сунка на поверхность объекта.
Для нанесения рисунка решается задача преобразования систем координат. Если рисунок задан в про-
странстве текстуры в системе координат (U, W), а поверхность в (?,?), то для переноса рисунка определяется
функция отображения одного пространства на другое, т.е. определяется соотношения :
?=f ( U,W )
?=g ( U,W )
U=? ( ?,? )
W=s ( ?,? )
В большинстве практических случаев такие преобразования линейны, а коэффициент преобразований
может быть вычислен из соотношений между известными точками в системах координат. Характерные точки
узора из пространства текстуры переносятся в объектное пространство. Затем в пространство изображений и
определенным образом соединяются линии рисунка.
В процедурах нанесения узоров часто используются фрагментирование как узоров, так и поверхностей.
При переносе на поверхность предмета текстуры, представляющей непрерывное регулярное или слу-
чайное поле яркости наиболее подходящим является метод обратного трассирования лучей. Центр пикселя
изображение проецируется на поверхность предмета и по координатам точки на поверхности определяется со-
ответствующая ей точка в пространстве текстуры. Для устранения эффектов, вызванных пространственной
дискретизацией используются процедуры сглаживания. Одной из возможных процедур сглаживания является
трассирование четырех точек, соответствующим углам пикселя и использования среднего значения яркости
текстуры для этих четырех точек. Использование четырех точек пикселя позволяет оценить достаточность про-
цедуры сглаживания, если разность яркостей для выбранных четырех точек больше заданного порога, есть воз-
можность произвести разбиение пикселя на четыре части и вычислить для него яркость более точно.
Для синтеза стохастических текстур предпочтительными считаются авто регрессионная модель и моде-
ли с использованием методов линейного программирования. Синтез осуществляется с использованием стати-
стических характеристик текстур прототипов:
- плотность вероятности
- автокорреляционной функции.
Для определения плотности вероятности в пределах некоторого окна измеряют гистограмму, и для ее
отображения используют первые четыре момента(среднее, стандартное отклонение, асимметрия, коэффициент
эксцесса ).
Форму автокорреляционной функции выражают через ее четыре центральных пространственных мо-
мента. В результате такой обработки формируется восьми мерный вектор признаков текстуры.
Примечание: стохастические текстуры, синтезированные на основе прототипов хорошо моделируют
естественные шероховатые поверхности, если они обладают сравнительно не большой кривизной.
Для поверхностей со значительной кривизной ( шар, эллипсоид ), перенос на них даже стохастической
текстуры не обеспечивает реалистического вида. Причина этого в том, что текстура, сформированная без учета
формы объекта не передает изменение освещенности, обусловленной рельефом поверхности. Для реальных ше-
роховатых поверхностей вектор нормали содержит небольшую случайную составляющую, которая определяет
характер изменения освещенности в изображении. Для получения изображения, близкого к реалистичному этот
фактор необходимо смоделировать.
N - нормаль к исходной поверхности определяется векторным произведением
N=Q?u ?Q?w , где Q?u ,Q?w - частные производные функции поверхности Q по направлениям U и W.
Нормаль N? к возмущенной поверхности при малом возмущении F(U,W) вычисляется по формуле:
N?= N+Fu (N Q?w)??N? + Fw (Q?u N)??N?,
где Fu , Fw - сечение функции F в данной точке по направлениям соответственно U и W.
В качестве функции F могут быть использованы как аналитические функции, так и заданные в виде
массива. В частности в виде массива можно задать стохастическую текстуру.
Примечание: изображение при использовании данного метода отображения шероховатых поверхностей
приобретает вид, чрезвычайно близкий к реалистичному, однако объем вычислений для алгоритма возмущения
нормали примерно в 4-5 раз больше, чем при изображении текстуры без учета рельефа.
Аналогичные методы возмущения используют для придания естественного вида цветным поверхно-
стям. К исходному цвету добавляется случайная или псевдослучайная составляющая другого цвета, точки по-
верхности приобретают цвет, являющийся интерполяцией между двумя крайними цветами. Метод применяется
для моделирования поверхностей из гравия, цемента и т.д. Для моделирования наиболее сложных поверхностей,
содержащих существенные нерегулярности (каменные осыпи, деревья, облака и т.д.) используются фрон-
тальные поверхности, состоящие из случайно заданных полигональных или биполигональных фрагментов.
Моделирование энергетических преобразований в системах
формирования изображения
Первое звено, осуществляющее преобразование лучистого потока от элементов сцены - это оптическая
система, которая формирует первичное изображение на светочувствительной поверхности преобразователя.
Геометрические и энергетические характеристики первичного изображения, определяются на основе
геометрической оптики, в соответствии с которой первичное изображение можно рассматривать как централь-
ную проекцию наблюдаемой сцены на картинную плоскость.
Центральная проекция обеспечивает точное моделирование процессов геометрических и энергетиче-
ских преобразований, но не позволяет передавать мелкую структуру изображения поскольку сам принцип цен-
тральной проекции не предусматривает учета дифракции, аберраций и прочих явлений, приводящих к размы-
тию изображений.
При анализе энергетических преобразований и определения освещенности изображения в картинной
плоскости полагаем, что расстояние от наблюдаемой сцены до объектива оптической системы много больше
фокусного расстояния системы, а угловая ширина индикатрисы излучения любого участка наблюдаемых по-
верхностей существенно превышает угловой размер входного зрачка оптики из любой точки пространства
предметов.
Для определения освещенности первичного изображения воспользуемся методами центральной проек-
ции (рис.1).
Рис.1 Геометрическая схема для определения освещенности первичного изображения
Элементу dS на поверхности наблюдения соответствует элемент dS? в картинной плоскости. Так как
проективное преобразование оптической системы является центральным, то угол dw, опирающийся на площад-
ку dS, равен углу dw? в пространстве изображений. Отсюда следует
dS cos ?? /(H2/cos2 ??) = dS? cos w/(f2/cos2w) (*)
Лучистый поток, собираемый системой от элемента dS, составляет
dФ = L dS cos ?? d? ?ос?ср (**)
где d? - телесный угол, образуемый косинусом лучей, поступающих от точки объекта в оптическую систему;
?ос= k(w) ?опт - коэффициент ослабления излучения оптической системы, равный произведению коэффи-
циента виньетирования k(w) и коэффициента пропускания оптики ?опт
?ср - пропускание слоя среды между объектом и оптической системой
Учитывая, что d? = Sопт cos w/(H2/cos2 ??)=?D2опт cos w cos2 ??/(4 H2), получаем
dФ = ?D2опт L cos w cos3 ?? k(w) ?ос?срdS/(4H2) (***)
Величина освещенности в плоскости первичного изображения определяется следующим образом : Eиз =
dФ/dS?=?D2опт L cos w cos3 ?? k(w) ?ос?ср dS/(4H2 dS?)
Т.к. согласно (*) dS/dS?= cos3w cos-3 ??(H/f)2, то окончательно получаем
Eиз = ?/4 (Dопт/f)2 L k(w) ?опт ?ср cos4w (****)
Описание геометрических форм
Описание поверхностей
Параметрическое описание поверхностей
Поверхности, заданные в форме
Х = Х(u,t) где u,t - параметры, изменяющиеся в
Y = Y(u,t) заданных пределах,
Z = Z(u,t),
относятся к классу параметрических. Для одной пары значений (u,t) вычисляется одна точка поверхно-
сти.
Параметрическое задание плоскостей.
Плоскость, проходящая через точку r0 =(х0,y0,z0) и векторы исходящие из этой точки опре-
деляются уравнением:
или
Данное уравнение описывает прямоугольник со сторонами, равными и , если ,
а u,t?[0,1]. Нормаль к поверхности можно получить, вычислив векторное произведение:
Эллипсоид
Каноническое уравнение:
a, b,c- длины полуосей эллипсоида
Параметрическое задание:
x ? a cos?cos? где ? - долгота , ? - ширина
y ? b cos?cos?
z ? c sin?
Нормаль к поверхности эллипсоида определяется:
Общие случаи нормали к поверхности
Пример: Описание тороида
?, u ? [0 , 2?]
где a- радиус кольцевого «баллона» тороида и R - расстояние от центра тороида до оси «баллона».
Преимущества параметрического описания поверхности :
1. Важным преимуществом параметрического описания поверхностей является возможность передачи
очень сложных геометрических форм, описание которых другими методами затруднительно.
2. Параметрическое описание поверхности приспособлено к физическим процессам управления рез-
цом в станках с числовым программным управлением. Резец вытачивает деталь, двигаясь в про-
странстве по закону, заданному параметрическим описанием.
3. Параметрический подход единственно приемлемый для моделирования сложных, гладких участков
поверхностей при помощи сплайновой аппроксимации.
Недостаток параметрического описания поверхности:
Параметрическое описание предусматривает, что исходной позицией луча, строящего изображение,
является точка на объекте, что затрудняет применение алгоритмов синтеза изображений с иной начальной по-
зиции луча. Например: алгоритм трассировки лучей. Это свойство ограничивает изобразительные возможности:
ограничено моделирование теней, передача прозрачности и зеркального отображения соседних объектов.
Описание поверхностей неявными функциями
Поверхности описываются функцией вида f(X,Y,Z)=0, где X,Y,Z - координаты из пространства объекта.
Наиболее распространены функции первой и второй степени, существуют аналитические методы для
решения уравнений третей и четвертой степени, однако они применяются редко.
AX+BY+CZ+D=0 описывает плоскость
AX2+BY2+CZ2+2DXY+2EYZ+2GX+2HY+2JZ+K=0 в зависимости от значений коэффи-
циентов можно описывать пары плоскостей (вырожденный случай), конусы, гиперболоиды, параболоиды и эл-
липсоиды.
Пример: Неявная форма задания поверхностей хорошо приспособлена для твердотельного или объем-
ного описания объектов. Неявная форма хорошо сочетается с алгоритмами трассировки лучей т.к. легко опре-
деляются взаимное положение точки и поверхности такого типа, а также точки пересечения прямой и поверх-
ности.
Поточечное описание поверхностей.
Метод заключается в задании поверхности множеством принадлежащих ей точек. Следовательно каче-
ство изображения при этом методе зависит от количества точек и их расположения.
Поточечное описание применяется в тех случаях, когда поверхность очень сложна и не обладает глад-
костью, а детальное представление геометрических особенностей важно для практики.
Пример: Участки грунта на других планетах, формы небесных тел, информация о которых получена в
результате спутниковых съемок. Микрообъекты, снятые с помощью электронных микроскопов.
Исходная информация о поточечно описанных объектах представляется в виде матрицы трехмерных
координат точек.
Синтез изображений методом обратной трассировки лучей
Трассировка лучей связана с моделированием геометрического пути каждого светового луча, участ-
вующего в построении изображения. Трассировка лучей - моделирование лучевой оптики, применительно к
задачам компьютерной графики.
Основная идея метода
ЭВМ повторяет все геометрические преобразования, происходящие с каждым световым лучам на пути
источник - объект - приемник. Хотя бесконечное количество, для построения изображения достаточно ограни-
чится рассмотрением тех лучей, которые попадают в центр рецептора или исходящих из ограниченного числа
точек на изображаемую поверхность. Подобно некоторым разделам геометрической оптики при компьютерном
моделировании реальный ход лучей в объективах не анализируется. Для построения изображения используют
кординальные элементы оптической системы (главная и фокальная точки, а также соответствующие плоскости).
В соответствии с принципами геометрической оптики сопряженные точки в пространстве предметов и
изображений лежат на прямой, проходящей через заднюю главную точку оптической системы. На основании
закона обратимости можно синтезировать путь луча как в направлении объект - изображение, так и в обратном.
Отсюда различия между прямой и обратной трассировкой лучей.
При прямой трассировке за исходную позицию берется вычисляемая на изображаемой поверхности
точка 1, из нее моделируется путь луча на источник света 2 и на приемник изображения - точка 3.
При обратной трассировке берется центр рецептора 1 на приемнике изображения и моделируется путь
луча на объект 2 и далее на источник света - точка 3.
Система координат, применяемая в методе обратной трассировке лучей
Сцена - совокупность изображаемых объектов, включая при необходимости поверхность основания.
Система координат сцены - правая прямоугольная система координат, общая для всей сцены Xc Yc Zc.
Объект - совокупность точек пространства, объединенных функциональной общностью с точки зрения
конкретно-целевой задачи.
Соответственно для каждого объекта вводится своя правая прямоугольная система координат XYZ.
Экранная система координат - система координат X1Y1Z наблюдательной системы. Данная система ко-
ординат выбирается левой.
По аналогии c физическими устройствами ось z соответствует главному лучу объектива, плоскость xy -
задней фокальной плоскости, а центр проекции F располагается на оси OZ в точке (0,0,f) и сопоставляют с зад-
ней главной точкой объектива.
Модель приемника света
Так как исходной позицией для трассировки луча является центр рецептора, то алго-
ритм начинает работу с определения пространственного расположения всех рецепторов .
В плоскости xoy экранной системы располагается матрица точечных приемников, где
c? и d? шаг сетки рецепторов по оси x и y. Координаты рецептора (xij, yij,0) могут быть вычис-
лены на основании его индексов:
xij = c?(j- J/2 -1/2)
yij = d?(I/2-i+1/2), где I,J - максимальное значение соответствующих индексов
Преобразование координат из экранной системы в объектную
xyz?XYZ
[X,Y,Z,1]=[x,y,z,1] M?
M? - матрица порядка 4, являющееся обратной матрице M, связывающей объектную
правую и экранную левую системы.
Модель объекта
Примитивы
В методе обратной трассировки лучей трехмерные объекты выгодно представлять в виде отдельных
строительных блоков, поверхности которых можно описать кривыми первого и второго порядка.
Определение: Функциональным объемом называется некоторая часть пространства (не обязательно ко-
нечная), охватываемая поверхностью одной функции. Принадлежащим телу объекта считается подпространст-
во, выделяемое поверхностью f (x,y,z)=0 в любой точке которого, значение скалярного поля f (x,y,z)>0. Такое
подпространство именуется положительным.
Определение: Объемный примитив - конечный участок пространства, ограниченный одной или не-
сколькими функциональными поверхностями.
Определение: Плоский примитив - часть плоскости, ограниченная замкнутой линией, состоящей из ко-
нечного числа прямолинейных или криволинейных участков.
К структуре примитива относятся неизменное количество ограничивающих его поверхностей и вид
функций, описывающих эти поверхности. Изменение формы примитива может достигаться варьированием па-
раметров функций.
Пространственные комбинации примитивов
Из комбинаций примитивов образуются более сложные примитивы, называемые строительными бло-
ками. Над примитивами определены следующие пространственные комбинации:
? объединения
? пересечения
? исключения
Формализованная модель объекта
Любой пространственный объект, образованный комбинацией примитивов может быть описан древо-
видной структурой, корнем которого является сам объект, вершинами - примитивы, а в узлах ветвей помеща-
ются операции пространственных комбинаций.
Взаимное положение объекта
Взаимное положение характеризуется через функции принадлежности ?(x,y,z;Ф),
где x,y,z - координаты точки, Ф - обозначение примитива, объекта или фигуры. Соответственно функция:
Пусть примитив Ф состоит из k уравнений , тогда
Определение видимых и затененных точек
Для определения освещенности изображения устанавливается видимость для каждого рецептора, ори-
ентация нормали для видимых точек, их отражательную способность и т.д.
Пересечение светового луча с примитивом
Пусть примитив d-ый содержит Kd поверхностей, которые организованны по правилу положительности
внутренней области, тогда для определения всех точек пересечения прямой, исходящей из ij рецептора через
центр проекции F и d-ого примитива необходимо решить Kd систему уравнений следующего вида:
Для каждой из таких систем возможны 3 случая:
? система не имеет решений
? одно или больше количество пересечений (счетное число пересечений)
? бесконечное число пересечений (если луч лежит на поверхности)
Все точки решения принадлежат поверхности примитива.
Точка, принадлежащая некоторой поверхности, входящей в описание примитива, принадлежит поверх-
ности примитива, если для всех остальных поверхностей точка находится в неотрицательной части поверхно-
сти.
Возможен случай, когда исследуемый луч проходит через границу смежных объектов примитива. Для
разрешения этой проблемы отбираются две точки фактического перемещения луча и выпуклого примитива. Из
всех возможных претендентов выбираются ближайшая и самая удаленная точки. В общем случае должны вы-
полнятся условия:
1) (X1-XF)2 + (Y1-YF)2 + (Z1-ZF)2 ? (XB-XF)2 + (YB-YF)2 + (ZB-ZF)2
2) (X2-XF)2 + (Y2-YF)2 + (Z2-ZF)2 ? (XB-XF)2 + (YB-YF)2 + (ZB-ZF)2 ,
где (X1, Y1, Z1) - ближайшая точка
(X2, Y2, Z2) - самая удаленная точка
B - текущий номер точки действительного пересечения луча с примитивом.
Информация о пересечении луча с d-м примитивом представляется в виде матрицы координат точек
пересечения:
и матрицы номеров поверхностей, которым принадлежат точки X1Y1Z1 и X2Y2Z2 :
Алгоритм определения точек пересечения прямой и примитива
1. Устанавливаем kd=1
( k - номер обрабатываемой поверхности в примитиве d)
Устанавливаем FLAG=0
(индикатор отсутствия (0) или наличия (1) решений)
2. Решается система (*)
3. Если решений нет, то увеличиваем kd на 1 (до тех пор, пока kd ? Kd ) и возврат на шаг 2.
4. Если решения есть (в общем случае решений), то устанавливаем (где - номер те-
кущего решения поверхности под номером kd)
5. Для всех Kd поверхностей, кроме kd проверяют условие : (где ? -
текущий номер поверхности в d-ом примитиве)
6. Если условие не выполняется, то увеличиваем на 1 (пока ) и возврат на шаг 5.
7. Если условие 5 выполнено и FLAG=0, то точка размещается в две первые строки
матрицы d, а в две первые строки матрицы WHO заносится номер kd.
8. Если условие 5 выполнено и FLAG=1, то
(**) точка ближе к точке (XF, YF, ZF), чем точка, находящаяся в первой строке матрицы
T.
(***) точка дальше от точки (XF, YF, ZF), чем точка, находящаяся во второй строке
матрицы T.
9. FLAG=1, увеличиваем kd на 1 (пока kd ? Kd) и возврат на шаг 2.
Пересечение луча с комбинацией примитива.
Когда задача определения точек пересечения луча с примитивами решена, в полученной совокупности
необходимо выделить точку, ближайшую к наблюдателю, т. е. видимую. Для этого все матрицы WHO и матри-
ца Т для каждого из примитивов сводятся в единые блочные матрицы WHO и Т.
Матрица Т переформируется таким образом, чтобы в её первой строке помещалась точка, ближайшая к
источнику луча, порядок остальных точек может быть произвольным. Синхронно сортируется матрица WHO
для того, чтобы не терялась связь между точкой и конкретной поверхностью. Когда таким образом выделена
ближайшая точка (XБ, YБ , ZБ) следует проверить её принадлежность к поверхности объекта. Для этого оценива-
ется положение точки относительно каждого из примитива объекта. Положение точки и каждого примитива
определяется функцией принадлежности, а относительно положения точки (XБ, YБ , ZБ) и объекта О = f ( П1, . . ,
ПD ), устанавливается путём попарной проверки функции принадлежности ? (XБ, YБ , ZБ, ПD ) и функции d =
1(1)D ( d = 1. . D
Пример:
O = ( П1 ? П2 ) ? П3
Световой луч пересекает объект в точках с 1 по 6, ближайшей к источнику луча явля-
ется точка 1. Функция принадлежности этой точки:
? ( X1, Y1, Z1, П1 ) = -1
? ( X1, Y1, Z1, П2 ) = 0
? ( X1, Y1, Z1, П3 ) = -1
? ( X1, Y1, Z1, П1 ? П2 ) = -1
? ( X1, Y1, Z1, ( П1 ? П2 ) ? П3 ) = -1
Таким образом точка 1 будучи ближайшей к источнику луча не является видимой, так
как находится вне объекта.
Если ближайшая точка не находится на поверхности объекта ( см. пример ), она ис-
ключается из дальнейшего рассмотрения. Среди оставшихся точек снова выделяются бли-
жайшие и процесс продолжается до тех пор, пока либо не исключатся все точки, либо не бу-
дет найдена точка, одновременно и ближайшая, и принадлежащая объекту, так как матрицы
WHO и Т перестраивались синхронно, то номера поверхности и примитива для видимой точ-
ки прочитываются из первой строки матрицы WHO.
Если объект и прямая заданы в объектной системе координат, то наиболее общий кри-
терий к ближайшей точке
( ХF - ХБ )2 + ( YF - YБ )2 + ( ZF - ZБ )2 ?? ( ХF -Xn )2 + (YF - Yn )2 + ( ZF - Zn )2
для любого n.
В частных случаях критерий может быть упрощен:
(XБ, YБ , ZБ) : abs (ХF - ХБ ) ?? abs ( ХF -Xn ) для ? n
(XБ, YБ , ZБ) : abs (YF - YБ ) ?? abs (YF - Yn ) для ? n
(XБ, YБ , ZБ) : abs ( ZF - ZБ ) ?? abs ( ZF - Zn ) для ? n
Применение упрощенных критериев оправдано в том случае, когда априорно известно
не параллельность любого светового луча плоскостям Yz, Xz и XY.
Например: последний критерий может быть использован при моделировании аэрофо-
тосъёмки.
Определение затенённых точек.
Точки объекта видимые рецепторами подразделяются на два класса:
- точки, освещённые прямым светом;
- точки, находящиеся в тени.
Алгоритм вычисления освещённости для этих классов существенно различен. Поэто-
му для каждой видимой точки устанавливается признак освещённости?затенённости. Идея
решения данной задачи основана на следующем факте: видимая точка освещена (находится
на свету), если её не закрывают от источника света другие поверхности или эта точка являет-
ся ближайшей к источнику света, среди всех остальных, лежащих на световом луче.
Для определения затенённости точки (XБ, YБ , ZБ) необходимо провести световой луч
из источника света на видимую точку и найти точки пересечения этой прямой со всеми по-
верхностями, входящими в состав объекта. Поскольку объект состоит из примитивов, то
первоначально определяется пересечение луча с поверхностью каждого примитива. Если
примитив содержит K поверхностей вида fk (X,Y,Z) = 0, (k = 1,K), то K раз решается система:
X - XB Y - YB Z - ZB
------------- = ------------- = ------------
XSUN - XB YSUN - YB ZSUN - ZB'
fk (X,Y,Z) = 0
Затем среди множества решений отбирают действительное, а среди них точку, бли-
жайшую к источнику света и лежащую на поверхности объекта.
Примечание: Алгоритм определения затенённости идентичен алгоритму определе-
ния видимости, но точка центра проектирования заменяется на точку источника излучения, а
точка центра рецептора на видимую точку. Если видимая из рецептора точка является бли-
жайшей к источнику света, то она освещена прямыми лучами.
Проведя данные вычисления для всех I*J рецепторов удаётся получить информацию
о координатах видимой из каждого рецептора точки (XB , YB , ZB)ij, о номере примитива,
номере функции поверхности, которой принадлежит точка и признак затенённости /
освещённости.
Примечание: При неизменном ракурсе нет необходимости каждый раз вновь оп-
ределять видимые точки, при перемещении источника света. Координаты видимых точек ос-
таются неизменными. Пересчитывается только признак освещённости.
| |