Визуализация информации в динамических системах на принципах трехмерной графики

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

ВИЗУАЛИЗАЦИЯ ИНФОРМАЦИИ В ДИНАМИЧЕСКИХ СИСТЕМАХ НА ПРИНЦИПАХ ТРЕХМЕРНОЙ ГРАФИКИ

A. И. КОЗОРИЗ, асп. каф. информатики и вычислительной техники МГУЛ,

B. А. СКОРНЯКОВ, доц. каф. информатики и вычислительной техники МГУЛ, канд. техн. наук

Широкое распространение компьютерной техники и ее активное применение для решения задач оперативного управления, моделирования и прогнозирования применительно к различным реальным и абстрактным динамическим процессам делают необходимым повышение эффективности и удобства взаимодействия человека с компьютером. В связи с особенностями человеческого восприятия наиболее доминирующим в этой сфере является «визуальный» подход к организации человеко-машинных интерфейсов, заключающийся прежде всего в широком использовании компьютерной графики. Применение подобного инструмента, в частности для оперативного анализа и управления сложными объектами класса космических аппаратов, связано с целым рядом задач, затрагивающих вопросы аналитической геометрии, графического программирования, математического моделирования динамических систем, представления и хранения визуальной информации, а также психологии восприятия и особенностей человеческого зрения.

Динамические системы как объект визуализации

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

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

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

Особенности визуализации информации в динамических системах

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

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

ЛЕСНОИ ВЕСТНИК 6/2007

147

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

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

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

Наиболее распространенный алгоритм удаления невидимых поверхностей основывается на использовании буфера глубины (z-буфера), в котором по мере выполнения обработки очередных многоугольников сохраняется информация о расстоянии между центром проецирования и точками на объекте. Если в процессе растрового преобразования многоугольников отслеживать расстояние от центра проецирования до ближайшего многоугольника вдоль каждого луча проецирова-

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

Метод, основанный на использовании z-пирамиды, является дальнейшим развитием метода z-буфера. В качестве первого уровня пирамиды берется стандартный z-буфер. Значения z, содержащиеся на следующем уровне, формируются путем выбора наиболее удаленного значения из четырех соседних значений z с предыдущего уровня. Количество измерений по x и y уменьшается в 2 раза. Для каждого примитива находится уровень z-пирамиды, на котором ему можно сопоставить один пиксель. Если ближайшее значение z примитива находится дальше этого пикселя, то примитив оказывается вне зоны видимости. В противном случае примитив отрисовывается и пирамида обновляется. Этот метод эффективен только при условии предварительной сортировки объектов от ближних к дальним. Поэтому построение z-пирамиды часто комбинируется с методами, основанными на «восьмеричных деревьях». Все пространство разбивается на множество кубов, которые организованы иерархически в «восьмеричное дерево». Каждый примитив сопоставляется с содержащим его кубом наименьшего размера. Далее осуществляется обход дерева: кубы рекурсивно просматриваются от передних к задним и осуществляется проверка их видимости. Если куб видим, то принадлежащие ему примитивы отображаются. Как правило, проверка осуществляется с использованием трафаретного буфера или хранящего информацию о попытках записи в z-буфер «флага видимости», реализованного на некоторых видеокартах аппаратными средствами. «Флаг видимости» устанавлива-

148

ЛЕСНОЙ ВЕСТНИК 6/2007

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

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

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

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

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

Наиболее очевидным способом описания взаимосвязей, существующих между отдельными компонентами физической модели, является использование иерархических древовидных структур, таких как деревья и ориентированные ациклические графы. Примером может служить представление сложного объекта деревом, корню которого будет соответствовать вся поверхность объекта, узлам - более простые составные объекты, а терминальным узлам - отдельные примитивы, из которых складываются все поверхности объектов. В узлах дерева могут храниться матрицы преобразований, матрицы перехода от фрейма «объекта-предка» к фрейму «объ-екта-потомка», данные о цветовых характеристиках, свойствах материалов и т.д. При проходе по такому дереву хранимая в узлах информация считывается и обрабатывается, что позволяет повысить эффективность отображения иерархических отношений между графическими объектами за счет гибкости построения иерархических структур и минимизации количества выполняемых операций.

Кроме проблем, связанных с программной реализацией динамических сцен, существует также проблема организации непосредственного интерфейса с пользователем с учетом «человеческого фактора». Требование интуитивного восприятия («дружественности») интерфейса подразумевает способность пользователя распознавать выводимые графические образы и быстро разбираться в основных функциях программы и в средствах управления процессом. Возможности человека распознавать объекты и выделять необходимую информацию при динамическом изображении зависят прежде всего от скоростных характеристик информационного потока, цветовых и яркостных свойств объектов сцены, от типа и скорости изменений их взаимного положения и т.п. Эти параметры сцены необходимо выбирать с таким расчетом, чтобы значимые объекты (характеризующие состояние динамической системы) отображались наиболее узнаваемыми знаками и цветами, а промежуток времени между тактами обновления сцены соответствовал времени, необходимому для распознавания образа с учетом толерантности визуальной сенсорики человека.

ЛЕСНОИ ВЕСТНИК 6/2007

149