Дипломная работа: Визуализация инженерных и научных расчетов
Визуализация двумерных экспериментальных данных часто рассматривается как отдельная задача. Такие данные обычно представляют в виде изображений или поверхностей в перспективной проекции. Описанные выше программы позволяют с определенными ограничениями производить такую визуализацию. Однако для ряда приложений более полезными и удобными оказываются другие системы. Например, во многих науках о Земле возникает задача построения цифровой модели той или иной поверхности, заданной лишь в нескольких точках. При помощи методов интерполяции такие данные переводятся в двумерные наборы чисел - строится так называемая цифровая модель поверхности. Визуально такую поверхность часто представляют либо в виде трехмерного изображения, либо в виде линий уровней. Для решения подобных задач наибольшее распространение получил пакет Surfer (http://www.goldensoftware.com/), который благодаря своей компактности и удобству завоевал симпатии многих исследователей. Основным назначением Surfer является обработка и визуализация двухмерных наборов данных, описываемых функцией типа z=F(x,y) Пакет позволяет строить цифровую модель поверхности, выполнять ряд вспомогательных операций с этой моделью и визуализировать данные различными способами.
Российская программа 3DField (field.hypermart.net) имеет аналогичное предназначение, однако меньший набор доступных средств и при этом обладает более приятным интерфейсом. Другая система научной графики TecPlot (http://www.amtec.com/) , имеет широкие возможности визуализации различных (не только двумерных) данных. В частности, система позволяет строить поверхности, векторные поля, визуализировать объекты, заданные в виде конечных элементов. К сожалению, при всех своих достоинствах она имеет явно перегруженный интерфейс. При всей красоте этих систем, следует заметить, что они более полезны для подготовки к печати статьи или отчета, нежели для повседневной работы исследователя. Но работу по представлению данных в виде, готовом для печати, эти системы выполняют на высоком уровне. К сожалению, такие программы рассчитаны на сравнительно небольшие объемы данных, что ограничивает область их применения.
Стоит также упомянуть о такой программе как Origin – она используется для визуализации различных инженерных расчетов, в том числе и расчетов в микроэлектронике.
Хотя в области микроэлектронных технологий большую популярность имеют визуализаторы, интегрированные в САПР для ИМС, такие как Cadence, ISE, но все-таки инженеры часто используют свои программы для моделирования приборов и возникает необходимость в визуализаторах их расчетов. В этом случае можно помимо вышеназванного Originупомянуть о пакете фирмы Compaq – ArrayVisualizer. Этот пакет хорош тем, что может быть как интегрированным в среду разработки программ VisualStudio и работать с такими языками как VisualBasic, VisualC++, CompaqVisualFortran (CVF), так и быть отдельной программой. Помимо этого он включает ActiveX-компоненты, которые могут быть использованы для WIN32 приложений.
Помимо этих – WINDOWS-пакетов, есть еще DOS-пакеты, например Mapple. Так как он является приложением DOS, то имеет недружелюбный интерфейс, однако является достаточно мощным.
Кроме вышеназванных пакетов и программ есть еще множество других средств для визуализации инженерных и научных расчетов – от сложных и универсальных, до простых, узкоспециальных. Но для своих специфических применений разработчики отдельных подсистем САПР разрабатывают свои пакеты или покупают и настраивают уже существующие стандартные пакеты.
1.2 Описание визуализатора CompaqArrayVisulizer.
ArrayVisualizer (AV) фирмы Compaq позволяет наблюдать как данные числовых массивов, так и их графическое представление. AV содержит в качестве ядра графическую библиотеку OpenGL процедуры которой обеспечивают графический вывод. Дополнительно AV позволяет манипулировать графическими данными, предоставляя возможности для перемещения, поворота и масштабирования изображения, а также для изменения способа его представления на экране. AV содержит:
1. автономно запускаемое приложение, выполняющее отображение данных
2. библиотеку Aview процедур, вызываемых из приложений Фортрана и предназначенных для управления ОМ
3. ActiveX-процедуры библиотек Avis2D и AvisGrid
4. дополнительные визуальные средства
Массив, переданный AV, отображается в двух видах:
1. в виде числовой таблицы, выводимой в верхней части окна AV
2. в графическом виде как трехмерное изображение (3D-вид), или как цветовая карта, или как векторные граф, или как рисунок на плоскости.
Процедуры библиотеки Aview позволяют приложениям CVF или VisualC++ отображать (посредством OLE-автоматизации) данные массива, применяя AV. Также данные массива можно сохранить в виде файла, который загружается в AV в процессе его автономного использования.
ActiveX-процедуры (OCX) библиотек Avis2D и AvisGrid могут быть использованы любой поддерживающей автоматизацию средой, например VisualC++, VisualBasic или CVF, для отображения массивов в разнообразных графических видах. Процедуры Avis2D обеспечивают при выполнении графического вывода более 100 свойств, методов и событий; процедуры AvisGrid применяются для создания представляющих массивы таблиц и предоставляют около 30 свойств, методов и событий.
Возможны несколько вариантов употребления AV. Они, а также присущие им преимущества и недостатки перечислены в следующей таблице:
Вариант | Преимущества | Недостатки |
Загрузка agl-файла, созданного ранее выполненным приложением | Не требует написания специального кода для вызова AV | Нет возможности автоматизировать изменение отображаемых данных |
Использование отладчика CVF | Не требует написания специального кода, работает с проектом любого типа | Требует ручного задания свойств массива и настройки AV; не может быть использован в VisualC++ или VisualBasic, а также в Release-режиме CVF. |
Использование fagl-подпрограмм или в случае С – agl-функций | Небольшое число процедур и , следовательно небольшие затраты на программирование, процедуры работают с проектами любого типа и в Debug-, и в Release-режиме. | Требует ручного задания свойств массива и настройки AV |
Использование fagl- и fav- подпрограмм или в случае C++ - agl-функций и функций класса CAViewer. | Можно программно задавать свойства массива и выполнять настройки AV; процедуры работают с проектами любого типа; последовательно в одном экземпляре AV можно отображать несколько массивов. | Потребуется освоить большое число процедур (более 100); функции класса CAViewer нельзя применять в C (необходим C++). |
Использование ActiveX-процедур библиотек Avis2D и/или AvisGrid | Дает возможность выводить создаваемые AV графические образы и таблицы данных без вызова AV; обеспечивает более быстрое | Употребляется только в Windows-приложениях Фортрана или MFC в случае VisualC++. Заметим, что в VisualBasic большинство |
Воспроизведение образов и больше возможностей для настройки параметров | EXE-проектов могут использовать процедуры библиотек Avis2D и AvisGrid; потребуется освоить большое число Avis2D/AvisGrid-процедур; Avis2D и AvisGrid процедуры не могут отображать HDF и текстовые файлы. |
Отображение массивов.
Массивы отображаются в следующих видах:
1) 3-D видили Height Plot (рис 1):
??? 1.
1. Растровая карта (контрастная заливка) или ImageMap(рис 2):
рис 2.
2.
????????? ????, ??? VectorGraph. (? ?????? ?????? ?? ????????????).
рис. 3
3. График или PlaneView (рис 3):
Перечисленные режимы могут быть заданы как в AV непосредственно, так и в программе, из которой AV запускается. В AV переключение режима выполняется либо из меню, либо в результате выбора соответствующей иконки.
Для вращения изображения достаточно разместить мышь на поле графического вывода, нажать левую кнопку мыши и затем, оставаясь на поле вывода, перемещать мышь в произвольном направлении.
1.3 Описание библиотеки функций ArrayVisualizer.