6.5.2. КОМПЬЮТЕРНЫЙ ИМИТАТОР ИЗОБРАЖЕНИЙ ОБЛАКОВДля решения задач видеораспознавания в естественных условиях, в видеотренажерах для летчиков и мультипликации могут применяться методы компьютерного синтеза облаков с соответствующими изобразительными признаками: плотностью, размытостью краев, прозрачностью. Рассмотрим в качестве примера моделирование кучевых облаков. В основе математического описания трехмерного тела облака сложной конфигурации лежит его аппроксимация набором эллиптических поверхностей различных размеров (рис.6.5.7). Рис. 6.5.7. Имитация кучевых облаков эллипсоидами Разумеется, такая модель слишком далека от реальности, но в последующем она будет постепенно доведена до вполне приемлемых показателей. Общие принципы моделирования приведены в [94,114]. Опишем их, вводя дополнительные визуальные эффекты, а именно проработку яркости на теле облака в области падающих и собственных теней и формирование падающих теней. В качестве базовой используем метод трассирования лучей. В правой прямоугольной системе координат местности на выбранной оператором высоте разместим эллиптическое тело облака (рассмотрим один эллипсоид для простоты изложения, комбинация эллипсоидов обрабатывается аналогично). Уравнение, описывающее поверхность эллипсоида, представлено в виде , где , причем знак функции выберем таким, чтобы значение функции для любой точки внутренней области эллипсоида было положительным. Трассирующий луч, исходящий из некоторого рецептора и имеющий запись в параметрическом виде , , , (6.5.1) ориентирован случайным образом относительно эллиптического облака. Из центра эллипсоида опустим перпендикуляр на прямую (6.5.1); координаты точки пересечения трассирующего луча с перпендикуляром можно найти, решив систему двух уравнений: где первое уравнение описывает плоскость, перпендикулярную прямой (6.5.1). После преобразования получим ; ; , где . Определим значение функции в точке . Если , то луч не "видит" облако и следует находить его перемещение с поверхностью Земли (объектами или небесной сферой). В противном случае луч пересекает облако и должна быть определена функция прозрачности в точке . Сформируем нормированную функцию эллипсоида по правилу . В таком случае в центре эллипсоида , на поверхности эллипсоида в точке - и за пределами эллипсоида функция отрицательна. Координаты видимой точки определяют путем решения системы: и выбора из возможных решений ближайшей точки к точке фокуса. Особенности решения пересечений эллипсоида и прямой обсуждались в § 3.4.4, 5.3.1. Таким образом, для каждого трассирующего луча определяется видимая точка и нормированная функция , показывающая удаление трассирующего луча от центра эллипсоида. В [94] приводится правило определения освещенности на поверхности эллиптического тела облака , где - освещенность видимой точки поверхности облака, определяемая диффузными свойствами; - освещенность видимой точки на поверхности облака, определяемая зеркальными свойствами; - освещенность участка поверхности, на который падает трассирующий луч после прохождения облака (поверхность Земли или небо); - функция пропускания света сквозь облако, определяемая текстурными свойствами и удалением трассирующего луча от центра облака, . Для абсолютно прозрачных участков ; - доля освещенности, определяемая текстурными свойствами, при текстура не учитывается, при - учитывается в полной мере. Коэффициент называют еще коэффициентом прозрачности. Он тесно связан с текстурными свойствами, визуально воспринимаемыми как характерное изменение плотности и проявление размытости. В качестве псевдослучайной функции, имитирующей текстуру трехмерного облака, обычно используется [94] следующая функция: , где - координаты некоторой точки на поверхности облака; - постоянные коэффициенты. Параметры выбираются в зависимости от типа и особенностей облака, относительно них строятся следующие члены: , , . Фазы рассчитываются по правилу Параметр определяет контраст текстурной функции , коэффициент подбирается таким образом, чтобы обеспечить максимальное значение равным единице. Определив текстурную функцию, построим функцию прозрачности: , где - пороговое значение текстурной функции в центре эллипсоида; - пороговое значение текстурной функции на границе эллипсоида; - диапазон изменения значений текстурной функции, в пределах которого прозрачность меняется от 0 до 1. В целях проработки полутеней в формулу вычисления добавим член, определяющий подсветку от надоблачных слоев атмосферы: , где - доля освещенности на поверхности облака из-за подсветки от надоблачных слоев атмосферы; - освещенность видимой точки облака из-за подсветки. Для моделирования перистых облаков их тело выбирается плоским, а не эллиптическим и функция прозрачности строится по правилу , где - пороговое значение. Если , то , если иначе, то значение вычисляется. Указанный подход применяется для расчета освещенности в рецепторах. Если же рецептор видит поверхность Земли, то следует определить яркость надземной поверхности из-за возможной падающей от облака тени. В соответствии с правилами трассирования лучей проведем прямую их точки видимости на поверхность Земли в направлении Солнца и оценим возможность пересечения этой прямой с эллиптическим телом облака. Если пересечений нет, то освещенность в рецепторе определяется освещенностью земной поверхности. Если пересечение есть, то следует определить функцию непрозрачности облака на пути рассматриваемого солнечного луча по приведенным выше правилам. Освещенность земной поверхности, имевшей исходную бестеневую освещенность , определяется по правилу , где - освещенность земной поверхности в случае полной непрозрачности облака и создаваемая переотражением света от пространственно распределенных источников.
|