Научная статья на тему 'Визуализация динамических процессов'

Визуализация динамических процессов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
265
33
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Чуканов Сергей Николаевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Визуализация динамических процессов»

С. H. ЧУКАНОВ

Институт информационных технологий и прикладной математики СО РАН

ВИЗУАЛИЗАЦИЯ ДИНАМИЧЕСКИХ ПРОЦЕССОВ1_

В РАБОТЕ РАССМОТРЕНЫ МЕТОДЫ ВИЗУАЛИЗАЦИИ ДИНАМИЧЕСКИХ ПРОЦЕССОВ, ПРЕДНАЗНАЧЕННЫЕ ДЛЯ РАБОТЫ С ДИНАМИЧЕСКИМИ ОБЪЕКТАМИ ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ.

УДК 681.3

Введение

Существующие в настоящее время системы моделирования динамических процессов в сложных системах: Ро-werSim (http://www.powersim.no), IThink/Stella (http:// www.hps-inc.com/), Extend+BPR, Imagine That!, California

(http://www.imaginethatinc.com/), Vensim (http:// www.vensim.com), Simulink (http://www.mathworks.com) и др. имеют встроенные средства визуализации динамических процессов. Но форматы файлов этих систем не позволяют обмениваться информацией между системами. В начале 1960 годов в Массачусетсом технологическом институте под руководством Дж. Форрестера (Jay Forrester) был разработан первый язык моделирования динамики систем DYNAMO. Однако этот язык не давал рекомендаций по формату сохраняемых файлов. В настоящее время широкое распространение получил язык XML (Extensible Markup Language), предназначенный для описания других языков (http://www.w3.org/TR/1998/REC-xml-19980210). Он позволяет организовывать информацию, делая ее такой же структурированной и доступной для поиска, какой является информация в базах данных. Информация в XML-файле имеет логическую структуру, и этой структурой можно управлять, адресовать к ней запросы, модифицировать. Язык XML может быть применен для передачи информации о динамических системах в среде Internet.

Для визуального отображения динамических процессов в сложных системах может быть использован язык VRML (Virtual Reality Modeling Language), соответствующий стандарту ISO/IEC 14772 (http://www.vrml.org/ specifications/VRML97/index.html). VRML имеет формат файлов для описания интерактивных трехмерных объектов и предназначен для использования в среде Internet. VRML браузеры, работающие совместно с WWW-брау-зерами, доступны для различных платформ и операционных систем. Многие программные продукты фирм -производителей (Autodesk, Caligari, ESRI, Microsoft, SGI, Sun Microsystems, Platinum и др.) поддерживают формат файлов VRML.

Использование стандартов языков и файлов организации W3 Consortium позволяет обеспечить передачу информации о процессах в динамических системах и визуализацию этой информации между системами с различными платформами (аппаратными, операционных систем, серверов, браузеров и др.).

Постановка задачи

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

Формирование объектов - гладких нелинейных динамических системы

Гладкие нелинейные динамические системы Z. с каноническими соотношениями [6]:

dXj/dt = f (х, ц); у, = h, (х^; х = span{x0.....хп};

где х - вектор состояния, и- вектор управления, у-вектор наблюдения системы £■ описывают эволюцион-

' Система разрабатывается при поддержке Российского фонда фундаментальных исследований (грант 9807-90130).

ные процессы изменения параметров объектов реального мира.

Для формирования объектов гладких нелинейных динамических систем можно использовать объектно-ориентированную базу данных динамических моделей [1] в формате XML, пример кода которой имеет следующий вид: -<objects> -<object> <name>First system</name> <child>Child system</name> <init>x1 =20;om1 =0.1 ;</init> <dynamic>dx1 =om1 *x2;</dynamic>

</object> +<object> +<object> </objects>

В поле <name> помещается имя системы; в поля <child> помещаются имена инкапсулированных систем; в поле <init> помещаются значения параметров для инициализации системы; в поле <dynamic> помещаются канонические соотношения динамических систем.

Доступ к полям XML объектов может быть осуществлен следующим образом. Объявляется корневой элемент: vardoc=new ActiveXObject(«msxml»); doc.URL=»vrml.xml»; varroot=doc.root; и его дочерние элементы: varobjects=root.children.item(«object»); доступ к тексту дочерних элементов, например, «dynamic», элемента «object»:

for(i=0;i<objects.length;i++){text[i]= =objects.item(i). children. item(«dynamic»). text;} Формирование объектов виртуальной реальности Объекты виртуальной реальности формируются из узлов VRML: Box, Cone, Box, Cylinder, Extrusion, IndexedFaceSet, IndexedLineSet, PointSet, Sphere, Text, объединяемые группирующими узлами: Anchor, Billboard, Collision, Group, Transform.

Для динамического изменения параметров объектов предназначены интерполяционные узлы: Colorlnterpola-tor, Coordinatelnterpolator, Normal Interpolator, Orientation-Interpolator, Positionlnterpolator, Scalarlnterpolator.

Интерполятор определяет кусочно-линейную функцию f(t), п значениями f (key) t0, t,, t2,..., tn1 которой ставятся в соответствие п значений f(keyValue) vrj vv v2,..., vn r f(0 = v, if i < t„-f(')=v„-r if'4-,.-

f( I) =V.+( t- I.) ( V.+r Vj ( tif/- I.) ■>, if t<t< t.4.

Интерполируемые поля узлов: Translation, Rotation, Color, diffuseColor, Normal, Coord, Scale и др.

Доступ к интерполяционным узлам может быть осуществлен через узел Script с указанием на Java-class. На этот же Java-class должен тег <applet> HTML-документа, в котором производится интегрирование канонических соотношений гладких нелинейных динамических систем.

Для реализации взаимодействия JavaScript-nporpaMM и Java-апплетов необходимо использовать возможности системы LiveConnect. Для передачи аргументов из JavaScript-nporpaMMbi в Java-эпплет необходимо исполь-

зовать тег <param> в контейнере < applet».,.</applet>. Метод языка Java getParameters() позволяет получить заданные значения параметров из JavaScript-программы. Свойство document.applets предоставляет JavaScript - программе возможность обращаться к переменным и методам Java-апплетов.

Формирование интерфейса между объектами -гладкими нелинейными динамическими системами и виртуальными объектами Введем обозначения для компонент интерполируемых полей узлов объектов виртуальной реальности: для поля Translation: t={tx, ty, tz}; для поля Rotation: r={rx, ry, rz, ra}\ для полей Color, diffuseColor: c={cr, eg, cb}\ для поля Scale; s={sx, sy, sz}. Для формирования динамического представления объектов VRML необходим интерфейс, который в данном случае определяется функциональными соотношениями зависимости от * = span (хг ..., хJ: f = t(x); г = г(х); с = с(х); s = s(x). Формирование этих зависимостей определяется пользователем в XML файле: -<objects> -<object> <name>First system</name>

<translation>tx=x1;ty=0;tz=10;</translation> <orientation>ox= 1 ;oy=0;oz=0;oa=x2;</orientation> <scale>sx=1;sy=1;sz=1;</scale> <color>cr=x3;cg=0;cb=0;</color> </object> +<object> +<object> </objects>

Примеры использования динамической информационной системы

Пример 1

Рассмотрим линейную цепочку из л взаимодействующих объектов одинаковой массы т, расположенных по оси X. Пусть смещение /'-го объекта по оси Уопределяется из соотношения (взаимодействие соседних объектов): У = ат1 (х1*1 -2 х1); /е{1, ... п-2}; х° = orrrr1 (х1 + х""1 - 2 х°); х"-1 = am-' (x° + xn"2-2xn1); где а - силовая постоянная.

При интерфейсе с /-м объектом: t' - 0; tj = х1; tj = 0; г* = гу ~ 0: rJ = 1; rJ = будет наблюдаться распространение фонона продольной поляризации.

При интерфейсе с /-м объектом: tj = 0; tj =0; tj = х1; r. = г' = 0; г' = 1; г J = 0; будет наблюдаться распространение фонона поперечной поляризации.

При интерфейсе с /-м объектом: tj - 0; V -0; tj - 0; гх = гу = 0; г' = 1; г J = xV будет наблюдаться распространение фонона крутильной поляризации. Пример 2

Современные географические информационные системы (ГИС) [5] охватывают все пространственные уровни - глобальный, региональный, локальный, - интегрируя разнообразную информацию: картографическую, данные Дистанционного зондирования, статистику, кадастровые сведения и т.д. Актуальной является задача разработки распределенных ГИС для обмена информацией через телекоммуникационные сети. Причем ГИС-ресурсы должны располагаться как на распределенных серверах, так и на локальных компьютерах-клиентах.

Существующие в настоящее время программные продукты для работы с ГИС-ресурсами (ArcView, Arclnfo фирмы ESRI; Maplnfo, MapXtreme фирмы Maplnfo и др.) предназначены для формирования связей между статическими изображениями и реляционными базами данных, хранящихся на серверах WAN или LAN.

В настоящее время функционируют информационные распределенные ГИС, связанные с передачей геоинформации по телекоммуникационным сетям: Global Resource Information Database (GRID), Environmental Research Information Network (ERIN) и др.

Для отображения динамики процессов непрерывного изменения параметров в ГИС, то есть создание динамической ГИС [3, 4], трехмерные объекты виртуальной реальности ГИС должны "получить" четвертое измерение - время.

Динамическая ГИС может быть сформирована одним из следующих способов:

• формированием динамического непрерывного изменения параметров координат (поля coord), положения (поля translation), ориентации (поля rotation), масштаба размеров (поля scale), масштаба ориентации (поля scaleOrientation) узлов - объектов виртуальной реальности ГИС (в динамических ГИС обычно используются узлы VRML: IndexedFaceSet, IndexedLineSet, PointSet) во времени;

• введением дополнительных узлов - объектов виртуальной реальности, параметры которых динамически изменяются во времени (например динамическое изменение окраски дополнительно введенного узла Box региона с использованием управления полем color в соответствии с динамическое изменением электорального выбора, уровня заболеваемости, миграции населения и т.п.).

Некоторые преимущества динамических ГИС, разработанных в среде динамической информационной системы:

• непосредственная связь с каноническими соотношениями гладких нелинейных динамических систем (например метеорологический расчет может быть непосредственно визуализирован);

• ориентированность динамических ГИС на объекты (например, объект "Россия" должен содержать 86 объектов, соответствующих российским регионам);

• распределение серверов в среде Internet/Intranet, при одновременной возможности работы не только с ресурсами серверов Internet/Intranet, но и с локальными ресурсами;

• возможность предсказания процессов интегрированием канонических соотношений гладких нелинейных динамических систем с t>tp, где tp - настоящий момент времени.

Пример 3. Взаимодействие движения центра масс твердого тела по орбите с движением твердого тела относительно центра масс

Динамическое уравнение движения твердого тела по орбите можно представить в виде дифференциальных уравнений Ньютона для координат центра масс относительно абсолютной системы координат : éx / dh = - ß xr '; d2y/d2t = - ß yr'; d>z/d2t = - ß zr3; r=(x2+ У+ z2f5; где m-гравитационный параметр планеты.

Динамическое уравнение вращательного движения твердого тела относительно центра масс можно представить в форме Эйлера:

dcojdt = ((Jy - JJ * cüy*0Jz + MJ*Jj',

dû)/dt = ((J. - JJ * (û*(ox + MJ*Jy',

dco/dt = (U -JJ *m*û) + M)*J

z x y л >■ i

где M={Mx, M , M ) - вектор управляющего момента сил относительно системы координат, связанной с твердым телом; а кинематические соотношения в форме дифференциальных уравнений для компонент кватерниона А = {Х0, X,, А,, /Ц} рассогласования между системой координат, связанной с твердым телом, и абсолютной сис-

темой координат [2]:

Ь10М =0.5* ( - со, Л, - ео2 Л2 - со3 Л^; сИ, М =0.5* (со, Л0 + о>3 Л2 - ш2 Л); с11г /ей =0.5* (со2Л0 + со, Л3 - со3 Л,); <Я3М =0.5* (со3Л0 + со2 Л, - со, Л); Л = (Л0г+Л,2+Л2г+Л32)0-5. Для визуализации процесса движения центра масс твердого тела по орбите и вращения твердого тела относительно центра масс необходимо сформировать интерфейс:

1=х; *у=у;

/-;=Я,л-'; г=Л/1-'; г;=лзл1; г = агссоз(Л0А').

ЛИТЕРАТУРА

1. Андросов С И., Чуканов С.Н. Система управления объектно-ориентированной базой данных динамических объектов. - "ИнфоРадио'96", Международная научно-практическая конференция, Омск, 6-8 февраля 1996 г. Новосибирск: Изд-во института математики, - 1998. -С.134-138.

2. Бранец В.Н., Шмыглевский И.П. Применение кватернионов в задачах ориентации твердого тела. - М.: Наука,

Г. Ф. НЕСТЕРУ К, Ф. Г. НЕСТЕРУК

ОмГТУ

УДК 007:159.955:519.72

Практически все промышленно выпускаемые вычислительные системы используют архитектурные подходы, основанные на концепции вычислений Дж. фон Неймана. Программное управление процессом вычислений по фон Нейману опирается на три основные функции ЭВМ: обработку информации, автоматическое управление процессом выполнения команд, хранение в памяти машины команд и данных. Основные функции связаны с отдельными устройствами ЭВМ, соответственно: процессором данных, процессором команд и памятью. Вычислительный процесс рассматривается как последовательное во времени выполнение фаз выборки команд из памяти, обработки кода команд в процессоре команд и выполнения каждой машинной операции в процессоре (процессорах) данных ЭВМ. Универсальность применения машины обеспечивается хранимой в памяти программой. По ряду причин, прежде всего технологических, устройства изготавливаются в виде функционально обособленных модулей или отдельных больших интегральных микросхем (БИС). Для организации корректного взаимодействия отдельных устройств в ходе вычислительного процесса используются специализированные интерфейсы с целью обеспечения высокоскоростных пересылок информации.

В настоящее время сложилась парадоксальная ситуация, когда широкий спектр технических решений от однопроцессорных ЭВМ до симметричных мультипроцессорных структур и архитектур с массовым параллелизмом базируются на одной и той же последовательной парадигме [1]. Рост параллелизма вычислений входит в противоречие с последовательным характером вычислений фон Неймана. Увеличение числа процессоров обостряет проблему масштабируемости - адекватного улучшения основ-

1973.-320 с.

3. Рой О.М., Чуканов С.Н. Город как предмет экономической и социально-экологической оценки. - Омск: Изд-во ОмГТУ, 1997.-250 с.

4. Ушакова Л.А. Динамическое картографирование и картометрический анализ поля поверхностного слоя северо-западной части Тихого океана. // Геоинформационное картографирование. М., МЦ РГО, 1993. С.3-7.

5. Халугин Е.И., Жалковский Е.А., Жданов Н.Д. Цифровые карты. - М.: Недра, 1992. - 260 с.

6. Чуканов С.Н. Гладкие нелинейные динамические системы. - Новосибирск: Изд-во СО РАН, 1999. - 130 с.

ЧУКАНОВ Сергей Николаевич - к.т.н., старший научный сотрудник лаборатории моделирования сложных систем Института информационных технологий и прикладной математики СО РАН, доцент кафедры «Автоматизированные системы обработки информации и управления» Омского государственного технического университета.

ных эксплуатационных параметров вычислительной системы [2]. В большинстве случаев за распараллеливание вычислений отвечает компилятор: одна последовательная программа по строго детерминированным правилам анализирует другую не менее последовательную программу на предмет ее преобразования для равномерной загрузки параллельно работающих процессоров в ходе последующих вычислений. Один из ведущих отечественных разработчиков архитектурных решений Б.А.Бабаян так характеризует идею явного параллелизма вычислений EPIC (Explicit Parallel Instruction Computing) в противовес последовательному подходу: «Программист знает параллельную структуру, но пишет на языке с последовательной парадигмой. Транслятор проводит сложнейший анализ, чтобы распараллелить все, что можно, оптимизировать и переставить местами команды. Но система команд - опять последовательная. Вслед за этим суперскалярная машина вновь проводит анализ и снова переставляет команды. Вывод: нужно в систему команд ввести явный параллелизм, и машина упростится» [3].

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

ОРГАНИЗАЦИЯ ПАРАЛЛЕЛЬНОЙ ОБРАБОТКИ ДАННЫХ В МНОГОФУНКЦИОНАЛЬНОЙ ПАМЯТИ_

ПРИ ПОСТРОЕНИИ СЛОЖНЫХ МНОГОПРОЦЕССОРНЫХ КОНФИГУРАЦИЙ СЛЕДУЕТ УЙТИ ОТ ПОПЫТКИ ОРГАНИЗОВАТЬ РАСПАРАЛЛЕЛИВАНИЕ ОБРАБОТКИ ИНФОРМАЦИИ ИЗВНЕ (СО СТОРОНЫ ПРОГРАММИСТА), А ИСПОЛЬЗОВАТЬ ПРИНЦИП ВНУТРЕННЕГО САМОУПРАВЛЕНИЯ ХОДОМ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА. СОГЛАСНО ЭТОМУ ПРИНЦИПУ НЕОБХОДИМО СОЗДАТЬ УСЛОВИЯ, ПРИ КОТОРЫХ ВНУТРЕННИЙ ПАРАЛЛЕЛИЗМ, СВОЙСТВЕННЫЙ КОНКРЕТНОЙ ЗАДАЧЕ, ПРИОБРЕТАЕТ ВОЗМОЖНОСТЬ САМОРЕАЛИЗАЦИИ В ОПРЕДЕЛЕННОЙ АППАРАТНО-ПРОГРАММНОЙ СРЕДЕ.

i Надоели баннеры? Вы всегда можете отключить рекламу.