|
|
对象建模技术(OMT)是一种面向对象的软件开发方法,它与传统的面向功能的方法截然不同。对象建模技术将事物的属性和方法封装形成对象,从对象和对象之间的关系的角度将系统文档化,这是面向对象分析和设计方法的基础。
|
|
|
对象建模技术包括三种模型,即对象模型、动态模型和功能模型。对象模型是通过描述系统中的对象和对象之间的关系,标识类中的对象的属性和操作表组织系统的静态结构,是三种模型中最重要的模型,它为动态模型和功能模型提供了实质性框架。动态模型描述与时间操作和次序有关的系统属性,它关心的是控制,从事件和状态的角度描述系统的数据结构。功能模型从值和功能的角度描述系统的计算结构,它不考虑系统干什么或如何干。一个典型的软件肯定包含以下三种性质:使用数据结构(对象模型)、顺序执行操作(动态模型)、完成值的变化(功能模型)。这三种模型描述的是系统的不同方面,但各种模型之间又互相联系,对象模型描述了动态模型和功能模型中操作的数据结构,对象模型中的操作对应于动态模型中的事件及功能模型中的功能,而功能模型描述了对象模型中的对象唤醒和动态模型中行为唤醒的功能。
|
|
|
|
几何建模是20世纪70年代中期发展起来的,它是一种通过计算机表示、控制、分析和输出几何实体的技术,是CAD/CAM技术发展的一个新阶段。
|
|
|
以几何信息和拓扑信息反映结构体的形状、位置、表现形式等数据的建模方法称为几何建模。几何信息即指在欧氏空间中的形状、位置和大小,最基本的几何元素是点、直线、面。拓扑信息是指拓扑元素(顶点、边棱线和表面)的数量及其相互之间的连接关系。
|
|
|
|
①层次建模法利用树形结构表示物体的各个组成部分。例如,手臂可以描述成由肩关节、大臂、肘关节、小臂、腕关节、手掌、手指等构成的层次结构,而手指又可以进一步细分为大拇指、食指、中指、无名指和小拇指。在层次建模中,较高层次构件的运动势必会改变较低层次构件的空间位置。
|
|
|
②属主建模法让同一种对象拥有同一个属主,属主包含该类对象的详细结构。当要建立某个属主的一个实例时,只要复制指向属主的指针即可。每一个对象实例是一个独立的节点,拥有自己独立的方位变换矩阵。以木椅建模为例,木椅的四条凳腿有相同的结构,可以建立一个凳腿属主,每次需要凳腿实例时,只要创建一个指向凳腿属主的指针即可。
|
|
|
|
图像建模技术是指通过相机等设备对物体进行拍照,利用计算机进行图形图像处理以及三维计算,从而全自动生成被拍摄物体的三维模型的技术,属于三维重建技术范畴。
|
|
|
基于图像的建模和绘制(Image-Based Modeling and Rendering, IBMR)是当前计算机图形学界中一个极其活跃的研究领域。同传统的基于几何的建模和绘制相比,IBMR技术具有许多独特的优点。基于图像的建模和绘制技术提供了获得照片真实感的一种最自然的方式,IBMR技术可以使建模变得更快、更方便,可以获得更高的绘制速度和真实感。
|
|
|
IBMR的最新研究已经取得了许多丰硕的成果,并有可能从根本上改变人们对计算机图形学的认识和理念。由于图像本身包含丰富的场景信息,自然容易从图像中获得照片般逼真的场景模型。基于图像建模的主要目的是由二维图像恢复景物的三维几何结构。由二维图像恢复景物的三维形体原先属于计算机图形学和计算机视觉方面的内容,由于它的广阔应用前景,如今计算机图形学和计算机视觉方面的研究人员都对这一领域充满兴趣。与传统的利用建模软件或者三维扫描仪得到立体模型的方法相比,基于图像建模的方法成本低廉、真实感强、自动化程度高,因此具有广泛的应用前景。此种方式操作简单、自动化程度高、成本低、纹理颜色真实感强、不受时空限制,如国内3Dcloud以云端形式运行,只要将照片上传至云端,即可全自动生成三维模型,主要应用于3D展示、3D打印、影视媒体、广告制作、虚拟现实等众多应用领域,加之成本较低等因素,其发展前景较好。
|
|
|
|
Web 3D技术是指实现网页中虚拟现实的一种最新技术。VRML是互联网3D图形的开放标准。VRML是3D图形和多媒体技术通用交换的文件格式,它基于建模技术描述交互式的3D对象和场景,不仅应用在互联网上,也可以应用在本地客户系统中,应用范围极广。由于网上传输的是模型文件,故其传输量远小于视频和图像。
|
|
|
|
VRML(Virtual Reality Modeling Language)即虚拟现实建模语言。VRML是一种用在Internet和Web超链接上的、多用户交互的、独立于计算机平台的网络虚拟现实建模语言。虚拟世界的显示、交互及网络互联都可以用VRML描述,VRML是一种用于建立真实世界的场景模型或人们虚构的三维世界的场景建模语言,具有平台无关性。
|
|
|
本质上VRML是一种面向Web和对象的三维造型语言,而且它还是一种解释性语言。VRML的对象称为节点,子节点的集合可以构成复杂的景物。节点可以通过实例得到复用,为它们赋予名字,进行定义后即可建立动态的VR(虚拟世界),是目前Internet上基于WWW的三维互动网站制作的主流语言。
|
|
|
VRML的设计是从在Web上欣赏实时3D图像开始的。VRML浏览器既是插件,又是辅助应用程序,还是独立运行的应用程序,它是传统的虚拟现实中同样也使用的实时3D着色引擎,这使得VRML应用从三维建模和动画应用中分离出来,在三维建模和动画应用中可以预先对前方场景进行着色,但是没有选择方向的自由。
|
|
|
VRML提供了6+1度的自由,用户可以沿着三个方向移动,也可以沿着三个方向旋转,同时还可以建立与其他3D空间的超链接,因此VRML是超空间的。
|
|
|
VRML定义了一种把3D图形和多媒体集成在一起的文件格式。从语法角度看,VRML文件是被显式地定义和组织起来的3D多媒体对象集合;从语义角度看,VRML文件描述的是基于时间的交互式3D多媒体信息的抽象功能行为。VRML文件描述的基于时间的3D空间称为虚拟境界(Virtual World),简称境界,其所包含的图形对象和听觉对象可以通过多种机制动态修改。
|
|
|
VRML的访问方式是基于客户/服务器模式的。其中,服务器提供VRML文件及支持资源(图像、视频、声音等),客户端通过网络下载用户希望访问的文件,并通过本地平台上的VRML浏览器交互式地访问该文件描述的虚拟境界。由于浏览器是本地平台提供的,因此实现了平台无关性。下图所示为VRML的工作方式。
|
|
|
|
|
|
X3D是一种专为Web设计的三维图像标记语言,全称可扩展三维语言,是由Web 3D联盟设计的,是VRML标准的最新升级版本。X3D基于XML格式开发,所以可以直接使用XML DOM文档树、XML Schema校验等技术和相关的XML编辑工具。目前,X3D已经是ISO认证的国际标准。
|
|
|
VRML和X3D有数次跟随显卡硬件发展的升级,现阶段多数的Direct3D 9.0c和OpenGL 2.0 GLSL的功能特效都可以实现。X3D的规格为了支持显卡硬件的功能,添加了底层的渲染节点,如支持三角形、三角形扇、三角形条带等基本渲染元素;支持设置显卡的混合模式和设置帧缓存、深度缓存、模板缓存的功能;支持多纹理和多遍绘制、Shader着色、多渲染目标(MRT)、几何实例(Geometry Instance)、粒子系统。2010年已经可以在X3D和VRML中使用延迟着色技术。现在X3D的特效包括SSAO和CSM阴影、实时环境反射和折射、基于实时环境和天光的光照、HDR、运动模糊、景深。X3D支持对应3DS Max标准材质的多种贴图和纹理。
|
|
|
X3D通过H-anim组件支持骨骼动画和蒙皮,也可以通过原型扩展支持角色AI和动作混合。
|
|
|
X3D通过DIS组件或Networking组件支持多用户场景和事件共享。
|
|
|
现阶段有几种X3D引擎支持ODE物理引擎或PhysX物理引擎。
|
|
|
X3D浏览器可以通过插件支持Wii控制器、Kinect体感识别、DirectInput等外设。X3D浏览器可以通过插件支持语音识别和TTS文本朗读。
|
|
|
|
Java 3D是Java语言在三维图形领域的扩展,是一组应用编程接口(API)。利用Java 3D提供的API可以编写出基于网页的三维动画、各种计算机辅助教学软件和三维游戏等。
|
|
|
Java 3D API是用来开发三维图形和基于Web的3D应用程序(applet)的编程接口,用于开发三维图形软件的3DAPI(Open GL、Direct3D)都是基于摄像机模型的思想,即通过调整摄像机的参数控制场景中的显示对象,而Java 3D则提出了一种新的基于视平台的视模型和输入设备模型的技术实现方案,即通过改变视平台的位置、方向浏览整个虚拟场景,它不仅提供了建造和操作三维几何物体的高层构造函数,而且利用这些构造函数还可以建造复杂程度各异的虚拟场景,这些虚拟场景大到宇宙天体,小到微观粒子。
|
|
|
Java 3D是Java Media APIs中的一部分,可广泛地应用于各种平台,而且用Java 3D API开发的应用程序和基于Web的3D小应用程序(applet)还可以访问整个Java类,且可以与Internet很好地集成,即如果在浏览器中安装了Java 3D的浏览插件,在网上即可浏览Java 3D所创建的虚拟场景。Java 3D API还汲取了已有图形APIs的优点,即Java 3D的底层图形构造函数不仅综合了底层APIs(Direct3D、Open GL)最好的绘制思想,而且它的高层图形绘制还综合了基于场景图的思想,同时又引入了一些通用的图形环境未考虑的新概念(如3D立体声),这样将有助于提高用户在虚拟场景中的沉浸感。
|
|
|
|
Shout 3D是Shout Interactive公司推出的在Internet上传输交互三维图形和动画的解决方案。设计师可以利用3DS Max或其他建模工具创建基本模型(包括建模、贴图、材质、灯光和摄像机等),通过Shout 3D为3DS Max提供的插件把模型直接输出为Shout 3D的s3d文件格式(其他建模工具输出为wrl文件格式即可),然后利用已有的applet或根据自己的需要用Java或JavaScript开发任何可以想象的交互能力,最后使用Shout 3D Wizard把交互的3D动画发布到网上即可。虽然Shout 3D生成的场景质量不高,但利用它提供的高交互性可以方便地开发网上的三维游戏。
|
|
|
|
Atmosphere是Adobe公司推出的一款可通过互联网连接多用户的三维虚拟环境式在线聊天工具,它集虚拟3D世界的创作、观看和互动于一体,是创建网络虚拟三维环境的专业开发解决方案。
|
|
|
Adobe Atmosphere包含以下3个组件:Atmo2 sphere Builder组件,通过3D建模技术建立三维虚拟世界;Atmosphere Browser组件是免费浏览器插件;Atmosphere Community Server组件是3D世界中的一个基于文本的聊天服务器。
|
|
|
需要注意的是,Atmosphere使用了Viewpoint技术以得到对三维几何体高质量的压缩和实时渲染效果,所以在安装Atmosphere的浏览器插件的同时也安装了Viewpoint插件。
|
|
|