服务器 频道

别再重硬轻软 高性能计算(HPC)软件大观

  AVS/Express:三维可视化软件开发版

  官网:http://www.avs.com/software/soft_t/avsxps.html

  AVS/Express高级可视化系统是居于世界领先水平的多维可视化开发平台,广泛应用于:工程分析、航空航天、国防、油气田、地理信息与遥感、环境、医学图象、流体力学计算、有限元分析、电信、金融等领域。并与许多功能软件和格式都有直接的本地接口,如MSC-NASTRAN、MSC-DATRAN、MSC-DYTRAN、ANSYS、FLUENT、DXF等,AVS/Express具有强大的可视化功能、是软件集成平台。AVS公司的核心产品是AVS/Express开发版。其他软件产品或是由它演变而来,或是为它服务的。AVS/Express分为开发版和可视化版两种版本,AVS/Express可视化版主要是面向最终用户设计的软件产品。

  AVS/Express MPU(Multi-Pipe Edition)是SGI,KGT Inc.,曼彻斯特可视化中心和AVS公司最新的合作结果,是专门为SGI的Onyx2 Multi-Pipe高性能工作站设计的。利用Multi-Pipe或Multi-Channel显示环境MPU为科学家、研究员和其他技术开发人员提供最全面的可视化和分析能力。MPU灵活、可扩展且易于使用,还为虚拟现实系统提供宽幅的可视化能力,使用户可使用图象可视化的最新技术。MPU为虚拟现实研究和工程可视化调度设计提供一个坚实的平台。MPU可以达到并行实时显示的非常好的效果。

  下面重点介绍AVS/Express开发版。

  对于要求进行交互式可视化和图形功能的科学和应用来说,AVS/Express开发版提供了一个适合于多种平台的可视化应用的开发环境。利用面向对象的可视化编程环境,开发者可以快速地进行交互式图形应用,以便在开放和可扩充的环境中处理大量数据问题。AVS/Express开发版提供了有关先进图形、图象、数据可视化、数据库接口、注释和硬拷贝等现代先进技术。

  一.一个多平台的可视化应用开发环境

  AVS/Express开发版是一个可在各种操作系统下开发可视化应用程序的平台,使用它可以快速建立具有交互式可视化和图形功能的科学和商业应用程序。开发者可以使用其面向对象的可视化编程环境,在一个开放和可扩展的环境下快速建立应用程序原型,处理海量数据问题。AVS/Express开发版提供了有关图形、图象、数据可视化、数据库接口、注释和硬拷贝输出等方面的许多先进技术。

  AVS/Express的可视化编程环境提供了一个易于使用的编程接口,使传统的3GL和4GL开发方法黯然失色。这个环境增加了软件的可重用性,提高了软件开发的效率,是目前市场上功能最强的可视化开发工具。

  开发版具有大量预制的可视化编程对象,以提供一个功能强大的可视化开发环境。开发者除了可以使用诸如2D和3D图形观察器之类的高级对象之外,还可对这些高级对象进行重新定制(例如:重新设置一个观察器中光线的数目)。

  开发版对其支持的所有平台均是授权的,用户可将其应用程序生成各种平台下的标准执行程序,脱离AVS/Express单独执行。由于对应用程序采取了高级的可视化描述,从而使用户应用程序可方便地实现跨平台移植。用户只需要做少量的工作,即可使你的应用得到可视的表示,然后在选定平台上编译成独立的可执行程序。

  二.AVS/Express开发版的组成部分

  1.图形显示软件包(Graphic Display Kit)

  图形显示软件包提供对文本、二维图象、二维或三维几何对象(非结构网格)和体(三维均匀计算网格和三维显示空间)进行显示和处理的图形组件基本技术。该软件包主要包括:

  1) 高级特性

  提供统一的二维/三维显示通道,以支持在同一个坐标系中图象、二维/三维对象和体的一体化显示和注释,这使得它可以容易地显示复杂的景物。

  提供图形硬件加速或软件显示器(软件显示器支持一些先进的显示功能,包括透视、反混淆, 纹理映射等),最大限度地利用硬件加速功能。

  提供无需产生中间几何图形的直接数据显示,以便实现对存储器的有效管理。

  提供对静态和动态对象的超高速缓存模式,以利于快速显示。

  2)显示元素

  包括视图、照相机和灯光等(在一个应用中的单视图或多视图;每个视图中一个照相机对多个对象和和灯光;照相机方向和投影控制等)。

  3)显示基元

  包括图象、线、多边形、文本等

  二维图象:支持8或24位图象显示模式;支持8位抖动显示;所感兴趣区域(ROI)的草图;体的切片显示等。

  二维几何图形:支持8或24位显示模式;特别支持彩色,多种模式绘图(点、线、面),填充和可见性等。

  三维几何图形:支持8或24位显示模式;特别支持彩色、材质、镜面颜色和透视度;以多种模式支持画图、遮挡、可见性等。先进的特性如透明和纹理映射。

  体显示:光线跟踪、加速光线跟踪。

  4)用户界面编辑器

  包括特性、变换和绘图模式等。

  5)交互器

  诸如对象选择和变换(可以滚动跟踪的虚拟跟踪球;可定制的姿态控制;当交互显示时,支持替换对象的显示)。

  6)拾取操作器

  例如数据探查(支持非侵入对象的画图,从而改善了交互性)。

  7)图形对象

  包括视口、图象组、坐标轴、曲线、图例和提示。

  8)注释

  可在任意图象、二维/三维图形上显示高质量的注释。

  9)硬拷贝输出

  支持Postscript和CGM输出。

  2.数据可视化软件包

  数据可视化软件包包括为可视化和分析大范围数据集而特别设计的对象、数据结构和函数库。AVS/Express的数据模型已被精细地调整,以便对图形敏感应用中经常出现的所有类型数据,包括图象、体、有限元、散列点和几何数据,或者更一般地说是任何多变量数据,进行最有效和最优化的处理。

  数据可视化软件包的对象是多态的,因此每个对象都可操作许多不同的数据类型(包括原始数据类型如字节、字符、短整型、整型、单精度型、双精度型数据)和不同的类型的集合数据,比如无结构数据集、结构数据集(非规则数据集、正交数据集和均匀数据集)等。

  数据模型是建立在一个功能强大的“数据—引用”结构基础上的。数据结构可以分层定义,特定数据结构的组件,可被引用作为计算对象的输入。如果一个应用程序需要非常特殊的数据类型,它们可以非常方便地进行定义。另外,一个应用中的数据结构,可以组合到数据模式的基本数据类型,即域数据类型中,从而提供一个单一的数据结构,其中除了可视化数据之外,还包括应用程序特定的属性信息。

  数据可视化软件包提供了进行可视化的非常丰富手段,其中包括:

  数据输入/输出部分:读/写图象(AVS .x, BMP, JPEG, PBM, SGI Image, Sun Raster, GIF, TIFF);读/写几何图形;读/写netCDF格式文件;读/写域;读/写UCD;读特定URL点内容;读体数据;读美国中情局数据格式(Word DataBank II database);读美国地理测绘局数字高层数据格式(USGS DEM)等, 读各种工程软件的输出数据。

  数据分析:如求矢量场旋度、散度、数值大小;标量场的梯度;对矢量或标量场进行探查等。

  数据处理:选取指定范围的值数据、选取指定网格的数据、缩放数据网格点、位移、缩放、阈等。

  标量显示技术:城市图、柱状图、等值线、等值面、挖掘三维砖块、正交切片、流带、任意切片、曲面图等。

  矢量显示技术:流线、矢量表示、图形符等。

  几何工具:边框、画线、外边界、外表面等。

  几何图形:箭头、轴、方块、十字、钻石、直线、球、平面、点、探测器等。

  3.图象处理软件包

  图象处理软件包是一个分析和处理图象的巨大函数库。用图象处理软件包,用户不仅可以处理单频段图象,还可处理多频段中各个频段的图象、子图象或任何感兴趣区域的图象。这个软件包的关键功能包括:

  分析:例如图象探查、测量、记录和直方图

  运算:例如浮点运算、逻辑运算、移位运算

  绘图/编辑:例如感兴趣区域、网格和查询

  滤波:高维卷积、边缘、核和中值滤波

  几何光学处理系统:例如反射、旋转、多项式扭曲、放大、平移等

  快速富里叶变换:例如实数、数值和相位富里叶变换及反变换

  形态变换:膨胀、收缩、边缘增强等

  格式转换:完成图象的各种格式转换

  4.数据库软件包

  数据库软件包提供了与几个基于结构化查询语言(SQL)的关系数据库管理系统(RDBMS)如Oracle,Sybase和 Informix的接口。此外,数据库包还支持开放数据库互连(ODBC)接口。一个可配置的可视化对象库可以提供与一个或多个关系数据库的连接;还可以显示数据库表格和以SQL表达的组件;并且简化了从SQL查询中返回数据的可视化。数据库包为用户提供必需的所有功能:

  同时连接到多个本地或远程的数据库

  用完全SQL指令支持来快速选择及表达数据

  建立可重复使用的与数据库独立的对象

  建立从SQL查询返回的数据的多维可视化

  集成和显示地理、人口统计和组合数据

  5.用户接口软件包

  用户接口软件包使用户可以在Motif和Windows的环境中,确定应用用户接口的结构和设计。应用开发是通过简化传统的图形用户接口(GUI)编制工具包中的“编辑—编译—连接”过程而形成流程。在用户接口包中,包括所有创建GUI所需的组件,如菜单、对话框、按钮、列表框、组合框、滚动条、图标、拨号盘、滑动条、文本框等等。另外,用户接口包中还包括用于捕获鼠标的组件,以实现应用程序鼠标驱动的完全交互。这些构件可以修改,也可以从外部资源输入附加的构件组。

  6.地理信息系统(GIS)处理包

  地理信息系统处理软件包包括对输入和运行地理信息系统进行宏观优化的模块,数据输入模块,地图投影和用户接口。AVS公司在1997年6月与在地理信息系统和测绘软件方面占领先地位的环境系统研究院(ESRI)结成联盟。现在,在AVS/Express开发版中设有地理空间接口(SDI),可以和ESRI的地理空间数据引擎(SDE)相连。SDE允许RDBMS采用标准和规定的应用来管理和利用地理空间数据。

  7.支持的平台

  Digital UNIX, Hewlett-Packard HP—UX, IBM AIX, Silicon Graphics IRIX(SGI), SunOS, Sun Solaris, PC(Windows and Windows NT)。AVS公司最新颁布的版本已支持LINUX系统。

  三.AVS/Express开发版的特点

  1.完全面向对象开发环境

  AVS/Express是一个完全的面向对象开发平台。AVS/Express中所有元素均为对象,包括对象模版,数据对象和图形对象。

  2.强大的图形显示功能

  AVS/Express提供了功能强大的图形图象显示引擎。提供各种图形显示要素对象,包括调色板、灯光、照相机等对象;提供多种图形显示器,包括软件显示、硬件图形加速(如OpenGL, PEX,XGL,XIL等各种图形库支持)、硬拷贝输出;提供多种图形显示技术,如光线跟踪,BTF等。

  3.多维可视化软件

  AVS/Express是一个多维的可视化软件。AVS的数据可视化基于其中心数据结构field, 该结构可以轻松表示任意维的数据。AVS力图利用最简单的图形来表达最复杂最丰富的数据信息。AVS提供了多种可视化技术,包括标量和矢量显示技术,每一种可视化技术均力图表示尽可能多维的数据信息。

  4.开放和可扩展性

  AVS/Express是一个开放的体系结构,除本身提供了上千个预制组件供用户使用外,还允许用户利用模块生成向导快速添加自己的组件。AVS/Express开发版也允许用户打开任何系统预制组件,对其进行修改以满足用户自己的需要。目前已经有许多第三方软件商提供的AVS组件和软件包可供使用,比如任何用户均可免费从国际AVS中心免费获取大量的AVS组件,这些组件可以非常容易地加入用户的系统,从而快速扩展AVS/Express的功能。

  5.可视化快速编程环境

  在AVS/Express的可视化快速编程环境网络编程器(NE)中,用户可以交互方式非常容易地快速生成自己的可视化应用程序。它以流程图方式显示用户的应用程序结构,用户可以在其中图形式地连接对象,调用模块,从而组建一个可视化网络。网络可以做为一个应用程序或对象被保存,重复使用或修改,从而大大提高应用程序开发者工作效率。

  使用NE的开发环境,用户建立应用程序甚至只需用鼠标进行拖—放操作便可轻松完成。

  6.多种编程手段

  1)利用AVS/Express提供的预制组件,在NE中用鼠标进行简单的拖—放,按需要建立自己的可视化网络,从而快速生成应用程序。

  2)利用AVS/Express 提供的功能强大的高级描述性语言V,快速进行应用程序开发。

  V语言简单易学,功能强大且灵活方便,其中包括了一些令程序开发人员非常满意的特性。比如在V语言中的模块,它封装了对象的属性和方法,相当于C++中的类,但比C++的类功能更为强大。

  V语言模块中的每个方法都可以在该模块实例化时执行,也可在该模块被删除时执行,还可同某个或某些属性相联系,使得该方法在与之相联系的属性发生改变时就被调用执行;同时一个模块中的不同方法还可规定优先级,从而确定其执行顺序。

  V语言中的合并操作(+),可使编程人员非常方便地从已有对象构造出新对象、也能利用该操作修改原有对象,合并操作非常轻松地实现了面向对象编程语言的多继承问题,但其功能却远不只此;

  V语言中的引用操作(=>)则能方便实现模块间的协调,实现模块间消息传递。

  3)利用 AVS/Express 提供的模块生成向导快速封装已有的C、C++和Fortran源代码、目标代码甚至已有的应用程序,或是利用用户代码接口封装已有的C、C++结构,构造出新的模块。

  AVS/Express 提供了一个非常开放,扩展性很强的应用程序开发框架,用户利用AVS添加模块功能可以非常方便地在AVS/Express中添加自己的专业算法,变成可重用模块,方便自己和别人进行代码重用。

  4)利用AVS/Express 提供的应用程序编程接口(API),包括OM API(C), OMX API(C++)和OMF API(Fortran),调用AVS/Express 提供的丰富的图形函数库,开发用户自己的功能强大的图形应用程序。

  7.广泛的应用程序分发方法

  AVS/Express为用户提供了广泛的应用程序分发(Distribution)方法。

  1)V语言文本文件

  用户可将自己的应用程序用V语言以文本文件保存,从而可使复杂的可视化应用程序,以极小的文本文件发送,这种方式特别适合网上分发。

  2)可视化网络

  以图象的方式拍下网络编程器中应用程序可视化网络,比如用GIF和JPEG文件格式保存可视化网络。该方式也适合网上分发,而且较为直观。

  以上两种方法对于需要考虑不同操作系统平台分发时非常有用,它使得用户开发的可视化应用程序,可以方便地在不同平台上移植,但这两种方法分发的应用程序不能离开AVS/Express环境单独执行。

  3)生成标准的执行程序

  应用程序开发者可以将自己开发的可视化程序编译生成单独的可执行程序,使得使用者可以脱离AVS/Express环境单独执行。

  4) 生成C++类库

  应用程序开发者可以将自己的模块以C++类库的方式分发,使用者可在自己的C++开发环境使用该类库。

  5)生成Active-X控件

  应用程序开发者也可将自己的模块,以Active-X控件的方式分发,从而可在VB,VC,Office,浏览器等广泛领域使用。

  6)生成网景(Netscape)公司浏览器插件。

  7)以VRML语言保存

  应用程序开发者可将可视化结果保存为虚拟现实语言VRML,从而任何人只要使用具有VRML浏览能力的浏览器,即可浏览可视化得立体图形。

  8)创建自己的Web服务器图形引擎

  开发者可创建自己的Web服务器图形引擎,响应浏览器客户端的输入,动态生成新的VRML脚本,发送浏览器客户浏览。

  8.广泛的数据输入/输出模块

  开发版的包含数据库软件包,除支持ODBC外,还提供了对Oracle,Sybase 和Informix的直接数据库接口。同时,空间数据接口SDI还提供同ESRI的SDE的接口。

  提供了广泛的数据输入/输出模块,包括输入图象、电子表格数据、几何图形 、netCDF、UCD、体 、AVS域 、Web服务器上的域及几何图形 、CIA World DataBank II、USGS DEM等;输出图象、AVS域 、netCDF、PS格式、VRML等多种格式文件。

  AVS/Express提供一个统一的域数据结构,任何数据转换成该结构后都可在AVS中进行处理和显示。根据网格类型可将域分为四种类型:均匀网格、正交网格、非规则网格和非结构网格。如果用户文件中数据的网格可归为前三种,Read_Field模块将其输入AVS,其中用户文件可以为文本格式或二进制格式,数据也可在多个文件中存放,经常用户数据文件可以不经任何修改,只需添加一个极短的文本描述文件就可轻松输入系统;如果用户文件中数据网格只能归为非结构网格,则可使用Read_UCD模块将其读入。

  AVS/Express提供的工程数据接口(EDI)包含了许多用于数据输入/输出的模块,用户可以使用它读取许多工程软件的输出文件。

  用户也可以从自己添加数据输入/输出模块,或者也可从国际AVS中心免费获得许多这样的模块。

  9.海量数据处理

  AVS/Express 提供了许多技术用于处理大数据量问题。AVS对于大数据量问题的处理贯穿其所有模块;当然AVS也有专门的算法用于处理大数据量问题,如fileobj,slice,crop,downsize等等模块。

  10.功能强大的多媒体生成模块

  AVS/Express具备功能强大的动画生成能力。AVS具有专门生成动画的模块,该模块可将AVS图形对象的属性进行关键帧插值,然后将插值后的属性连续变化,AVS图形显示引擎则动态更新图形对象,从而生成逼真的动画效果。再利用AVS的多媒体生成模块,可输出标准的MPEG、AVI等多媒体文件。

1
相关文章