46985 (588457), страница 2

Файл №588457 46985 (Визуализация инженерных и научных расчетов) 2 страница46985 (588457) страница 22016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

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

1.2 Описание визуализатора Compaq Array Visulizer.

Array Visualizer (AV) фирмы Compaq позволяет наблюдать как данные числовых массивов, так и их графическое представление. AV содержит в качестве ядра графическую библиотеку OpenGL процедуры которой обеспечивают графический вывод. Дополнительно AV позволяет манипулировать графическими данными, предоставляя возможности для перемещения, поворота и масштабирования изображения, а также для изменения способа его представления на экране. AV содержит:

  1. автономно запускаемое приложение, выполняющее отображение данных

  2. библиотеку Aview процедур, вызываемых из приложений Фортрана и предназначенных для управления ОМ

  3. ActiveX-процедуры библиотек Avis2D и AvisGrid

  4. дополнительные визуальные средства

Массив, переданный AV, отображается в двух видах:

  1. в виде числовой таблицы, выводимой в верхней части окна AV

  2. в графическом виде как трехмерное изображение (3D-вид), или как цветовая карта, или как векторные граф, или как рисунок на плоскости.

Процедуры библиотеки Aview позволяют приложениям CVF или Visual C++ отображать (посредством OLE-автоматизации) данные массива, применяя AV. Также данные массива можно сохранить в виде файла, который загружается в AV в процессе его автономного использования.

ActiveX-процедуры (OCX) библиотек Avis2D и AvisGrid могут быть использованы любой поддерживающей автоматизацию средой, например Visual C++, Visual Basic или CVF, для отображения массивов в разнообразных графических видах. Процедуры Avis2D обеспечивают при выполнении графического вывода более 100 свойств, методов и событий; процедуры AvisGrid применяются для создания представляющих массивы таблиц и предоставляют около 30 свойств, методов и событий.

Возможны несколько вариантов употребления AV. Они, а также присущие им преимущества и недостатки перечислены в следующей таблице:

Вариант

Преимущества

Недостатки

Загрузка agl-файла, созданного ранее выполненным приложением

Не требует написания специального кода для вызова AV

Нет возможности автоматизировать изменение отображаемых данных

Использование отладчика CVF

Не требует написания специального кода, работает с проектом любого типа

Требует ручного задания свойств массива и настройки AV; не может быть использован в Visual C++ или Visual Basic, а также в 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 в случае Visual C++. Заметим, что в Visual Basic большинство

Воспроизведение образов и больше возможностей для настройки параметров

EXE-проектов могут использовать процедуры библиотек Avis2D и AvisGrid; потребуется освоить большое число Avis2D/AvisGrid-процедур; Avis2D и AvisGrid процедуры не могут отображать HDF и текстовые файлы.

Отображение массивов.

Массивы отображаются в следующих видах:

1) 3-D вид или Height Plot (рис 1):

р ис 1.

  1. Растровая карта (контрастная заливка) или Image Map(рис 2):

р ис 2.

  1. В екторный граф, или Vector Graph. (В данной работе не используется).

рис. 3

  1. График или Plane View (рис 3):

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

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

1.3 Описание библиотеки функций Array Visualizer.

Ввиду сложности создания Windows-приложений, а также того, что ActiveX-компонента Avis2D не корректно отображает одномерные массивы было решено использовать непосредственно оболочку Array Viewer в совокупности с программой, расширяющей его возможности, а так же служащей более простым интерфейсом между программой инженера и AV. Для создания программы был применен подход с использованием fagl- и fav- процедур. Программа писалась на языке CVF v6.5.

Опишем процедуры API AV, встраивание которых в приложение позволяет запускать AV, передавать ему массив, управлять изображением.

FAGL - подпрограммы.

Синтаксис подпрограммы

Описание

faglClose(array,status)

Закрывает экземпляр AV. Если затем возникает потребность отобразить массив array снова, то достаточно вызвать лишь faglShow; вызова faglStartWatch выполнять не нужно

faglEndWatch (array, status)

Удаляет массив array из списка отображаемых массивов и освобождает ресурсы, связанные с array и используемые подпрограммами библиотеки.

faglGetShareName (array, filename, status)

Строка filename, возвращаемая этой подпрограммой, может быть передана процедурам Avis2D и AvisGrid как свойство FileName.

faglHide(array, status)

Делает экземпляр AV невидимым. Экземпляр AV станет видимым, если затем вызвать faglShow. Однако если экземпляр AV создан посредством favStartViewer, то вместо faglShow следует употреблять favShowWindow

faglLBound (array, lbnd, status)

Устанавливает левые границы измерений отображаемого массива в видах Data или Graph Views AV. По умолчанию массив отображается с границами, равными единице.

faglSaveAsFile (array, filename, status)

Сохраняет текущий массив в файле с расширением AGL. Такой файл может быть загружен и отображен в AV.

faglShow (array,

Создает экземпляр AV и отображает данные

status)

массива array. Так же делает экземпляр AV видимым.

faglStartWatch (array, status)

Добавляет массив array в список отображаемых массивов и возвращает дескриптор hv, который используется для доступа к массиву другими подпрограммами библиотеки. Фактически faglStartWatch использует системные ресурсы для приведения array к виду, необходимому для faglShow. Чтобы освободить эти ресурсы, следует вызвать faglEndWatch.

FaglUpdate(array, status)


Приводит в соответствие изображение с данными, хранящимися в массиве array. Употребляется, если приложение изменило отображаемый массив array с момента последнего вызова faglUpdate или faglShow и если есть необходимость обновить изображение. Если же экземпляр AV ассоциируется с массивом, созданным favStartViewer, а не faglShow, то вместо faglUpdate нужно вызвать favUpdate.

Параметры fagl подпрограмм:

Имя

Смысл/вид

Тип.

array

Имя отображаемого массива / входной

Числовой

status

Статус вызова fagl-подпрограммы. В случае успеха равен нулю/ выходной

integer(4)

filename

Строка, возвращаемая faglGetShareName/ выходной

CHARACTER(*)

filename

Имя файла без расширения, если файл пишется в директорию, из которой вызвано приложение, либо полное имя файла / входной.

CHARACTER(*)

lbnd

Массив ранга 1, размер которого равен рангу отображаемого массива / выходной

INTEGER(4)

title

Строка, отображаемая в заголовке экземпляра AV / входной

CHARACTER(*)

Для вызова приведенных выше подпрограмм в использующем их программном компоненте следует выполнить ссылку:

Use avdef ! Ссылка на модуль avdef.f90

Модуль AVDEF содержит интерфейсы fagl-подпрограмм.

Перечисленные подпрограммы обычно используются следующим образом:

  1. до отображения массива array вызовите faglStartWatch с параметром array;

  2. если необходимо отображать массив, имея нижнюю левую границу, отличную от единицы, примените faglLBound;

  3. для отображения сообщения, сопровождающего выводимые данные, вызовите faglName;

  4. для запуска AV и отображения массива array вызовите faglShow с первым параметром, равным array. AV будет функционировать до тех пор, пока не выполнена команда faglClose;

  5. если хранимые массивом данные подверглись изменениям, то для их отображения вызовите faglClose;

  6. для сохранения массива array в виде файла с расширением AGL (Array Graphing Language) вызовите faglSaveAsFile, использовав array в качестве первого параметра. При этом AV может быть некактивным;

  7. при необходимости можно вызвать faglGetShareName и получить строку filename, позволяющую процедурам Avis2D и AvisGrid осуществлять доступ к памяти, занятой массивом.

  8. после завершения просмотра массива вызовите faglEndWatch.

Для массивов отображаемых в AV рекомендуется использовать атрибут !DEC$ATTRIBUTES array_visualizer :: array. Действие этого атрибута таково: память, занимаемая массивом array, используется и AV и приложением. При отсутствии атрибута будут созданы две области данных array и при каждом обновлении массива после вызова faglUpdate данные будут копироваться из области, принадлежащей приложению, в область, используемую AV.

Заметим, что DEC-атрибут ARRAY_VISUALIZER может быть применен только с динамическими объектами, т.е. объектами, обладающими атрибутом PIONTER или ALLOCATABLE.

FAV - подпрограммы.

Fav – подпрограммы управляют AV и обеспечивают взаимодействие AV с приложением. Как правило, fav- и fagl- подпрограммы используются совместно. Fav – подпрограммы подразделяются на группы, имеющие названия:

  • запуск AV

  • доступ к данным

  • зона вывода

  • фильтрация данных

  • палитра

  • оси координат

  • выбор

  • виды изображений

  • 3D вид

  • растровая карта

  • векторный граф

  • отображение данных

  • камера

  • маркер

  • разное

Работа с fav-подпрограммами станет возможной после выполнения ссылки:

Характеристики

Тип файла
Документ
Размер
3,73 Mb
Учебное заведение
Неизвестно

Список файлов ВКР

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6695
Авторов
на СтудИзбе
289
Средний доход
с одного платного файла
Обучение Подробнее