三维演示

2024-10-26

三维演示(精选4篇)

三维演示 篇1

0 引言

三维影片是有助于全面开发大脑的虚拟艺术。运动物以及在运动摄像机镜头前的静态物,都具有虚拟的生命。物的不同部位沿着不同的轨迹运动,摄像机沿着不同角度、高度、方向运动,三维的虚拟生命构想试图从现实生活寻找根据。三维影片如果不强调故事情节,就倾向强调摄像机运动、灯光变幻、建筑生长、转场与特效的结合。三维影片利用影视技术与艺术,结合动画设计、景观设计展示三维建筑的内外部空间以及虚拟人物的运动轨迹,从而让观众获取不用视角、景别、运动速度的视听感受。一般来说,在三维建模之后,可创建灯光与摄像机、控制物体运动、导出渲染图片或动画,然后剪辑片段、添加特效,从而生成一段三维影片[1,2,3]。本文以环幕演示厅为播放环境,论述包括传统方法在内的三维影片制作方法。

1 传统的三维影片制作方法

传统的三维影片制作方法如图1所示。

(1)根据用户需求与资金预算确定三维影片制作方案。撰写帧与帧合理衔接的分镜头稿本,不断修改完善。整个制作团队评估制作难度,发表奇妙构思,增删补充。罗列制作进度表,分配制作任务,不断交流合作。

(2)准备前期的声画素材。利用三维制作软件,创建建筑、景观、天地模型;利用音效编辑软件,制作背景音乐。

(3)创建摄像机分镜头运动、建筑生长、人物运动、景观小品的三维影片。设置、调整摄像机运动的曲线。

(4)合成分镜头场景,创建不同时间段灯光。利用非线性编辑系统,制作不同特效,编辑视频,最终渲染输出。

按照上述步骤渲染、输出的三维影片是面向3 通道的,虽然在180度的柱状环幕上也能正常演示,播放的效果却是左右呈现、同时进行,因为左边3通道和右边3通道呈现着同样的内容。如果采用多路显示的方法,强制地把画面拉伸成6通道的满屏,画面将发生严重的变形。究其原因,在于适应3通道(90度或120度)的广角不足以充满6通道(180度)的柱状环幕。这就提出了一个问题:如何制作适应6通道的三维影片?

6通道三维影片由两个3通道三维影片构成。左边的动画和右边的动画要保证在屏幕拼接处达到帧帧对应,且影像纹理不存在错位,方能在视觉上做到连贯自然。左、右两个动画文件虽然在文件大小上存在差异,但在总片长上必须一致,从而在主控机和节点机上一起播放且保证同步。

在播放6通道三维影片时,采用的策略是主控机和节点机分别控制左、右3通道。左边3通道对应的三组投影机和右边3通道对应的三组投影机分别投射主控机上和节点机上的两个视音频文件。为了便于澄清彼此,一般把主控机上的文件命名为“left video”,把节点机上的文件命名为“right video”。播放三维影片之前,需要测量六组投影机投射区域交界处的像数,即边缘融合带的像素。以上海旅游高等专科学校环幕演示厅的播放环境(180度)为例,精确调试投影机后,测量边缘融合带的像素值为198(pixels)。测量像素值,有利于计算3DS Max中相邻摄像机的安置角度。设边缘融合带的像素值为a=198,每台摄像机偏离某一参照线的角度为x,如图2所示。

为了更加精确地做到适应不同通道的角度,参见以下计算公式,其中,节点机通道的分辨率是1024(pixels)*768(pixels)。

(1)各通道摄像机x方向的张角a计算方法。

a=[1024*通道数-融合区宽度*(通道数-1)]/柱状环幕总的摄像机张角=1024/a

(2)各通道摄像机相对于y正轴的偏角c的计算方法。首先,计算融合区摄像机x方向的张角b:

b=[1024*通道数-融合区宽度*(通道数-1)]/柱状环幕总的摄像机张角=融合区宽度/b

然后,通过上述计算而来的a和b,计算偏角c:

c= 柱状环幕总的摄像机张角/2-a/2-(当前通道编号-1)*(a-b)

说明一下,当前通道编号指第1通道到第6通道,通道数按照当前的环境是6通道。柱状环幕总的摄像机张角,按照6通道(180度)的播放环境。

2 基于CityMaker的三维影片制作方法

CityMaker是由清华城市规划设计研究院数字城市研究所和北京伟景行数字城市科技有限公司联合开发的三维数字城市可视化技术平台。利用CityMaker制作三维影片过程如下:先利用3DS Max导出ASE文件(一种描述三维场景信息的ASCII文件),然后利用CityMaker生成三维影片。

在3DS Max中,制作ASE文件的步骤如下:(1) 在Time Configuration对话框中,点选“PAL”,并设置所需动画的长度;(2)在三维场景中,创建一台目标摄像机,并把摄像机的目标点朝向所要表现的物体。将4个视图分别设置成Top、Left、Right、Camera视图;(3) 按下Auto key及Trajectories,并设置长度为500帧(长度可自定)。然后,在Top视图中调整摄像机位置,3DS Max会在500帧处自动记录一个关键帧;(4) 在250帧处也设置一关键帧,并在Top视图中分别调整摄像机及目标点,在第0 帧、250帧及500帧处的位置。在Left及Right视图中,调整摄像机及目标点高度。在Camera视图中,观察摄像机的取景、构图及摄像机速度,要符合要求。需要说明的是,关键帧不宜过多,否则不易控制摄像机的平滑程度。两个关键帧之间的帧数相同时,彼此在Top视图中的线段长度相差不多。如果摄像机过快或过慢,可通过增加或减少摄像机的总帧数来解决。若认为500帧偏快,可增加摄像机帧数到800或1 000,这样就变慢了。相反,把慢速调成快速;(5)选中摄像机及目标点,并输出(Export Selected)为ASE文件,参数设置如图3所示。

在CityMaker中,生成三维影片的6个步骤:

(1)利用CityMaker生成系列图,在左下角白框内,单击鼠标右键,添加段。

(2)在出现的对话框中,选择3DS Max所生成的ASE文件,单击打开之后输入段名与节名。

(3)设置裁减平面。在漫游菜单栏里点击漫游参数,并加以修改。

(4)设置分辨率。点击视图菜单栏,设置欲生成的分辨率。

(5)输出系列图。点击【工具】菜单栏中的【导出序列帧图片】按扭,然后,在相应的位置,选择文件类型、存放路径、文件名,并在【段节导出】一栏中,把欲输出的段或节添加到右边白框中,然后点击“确定”,便开始生成序列图。在生成序列图之前,要将桌面【显示】属性的【屏幕保护程序】设置为“无”的状态。在生成序列图的过程中,不可将鼠标位置放置在图片范围内。

(6)把生成的序列图导入非线性编辑软件中,剪辑配音、调色,最终输出三维影片。

3 基于CECE的三维影片制作方法

CECE是由北京神州视景信息技术有限公司开发的三维数字城市可视化技术平台。利用CECE可制作三维影片[4,5],先利用CECE播放场景,后利用tlxsoft屏幕录像,从而生成三维影片。

在播放CECE系统场景之前,要连接麦克风采集声音。与此同时,修改桌面的屏幕分辨率,预置如图5所示的显示器外观。将屏幕录像软件的【录制目标】(默认为“全屏”)设定为“窗口”,并圈选所包含的范围。一边播放系统场景,一边进行录像,如图4所示。

摄像机镜头的运动,可以依照既定的录像,也可以重新编辑。在已经输入的地图上,对路线轨迹加以编辑,进行自主设计。

(1)鼠标右键点击地图最右上方,出现下拉式菜单,选择【轨迹编辑模式】。

(2)在地图上位置A处,点击右键,选择菜单【新增活动路线】。此刻,在位置A处,会出现一个圆点,表明是路线的起始点。

(3)选择该圆点(选中时呈红色显示),点击鼠标右键,出现一个下拉式菜单,选择【新增路线点】,对下一个游览点进行添加。

(4)当选择【新增路线点】后,鼠标会自动变成一个圆形标记。选择位置B,点击之时,位置B处便出现一个新的圆点,且两点之间还有一条黄色线条,表明是从位置A步行到位置B进行游览。

(5)采用上述步骤,可在地图上把路线轨迹完整地标记出来,如图5 所示。沿着重新编辑的路线轨迹,利用tlxsoft屏幕录像,输出三维影片。

为使三维影片通用于神州视景系统(CECE系统)与伟景行系统(主体系统、非立体系统),自由地切换投影机,环幕演示厅按如图6所示的拓扑图连接两套系统。这样一来,可用神州视景系统的“外接信号源”播放笔记本电脑上的三维影片,用伟景行非立体系统(FreeWindow)播放主控机和节点机上的三维影片;点击 “投影机控制(panason-icPrjCtrl.exe)”,可切换伟景行立体系统和非立体系统;点击“ANT矩阵控制”,可切换于神州视景系统与伟景行系统。

4 基于VR GIS的三维影片制作方法

在线虚拟现实技术利用高度集成的交互设备,感应、接收脑神经信号,只靠玄思就可以召集所需的虚拟物资,不必配备图形集群就可以漫游世界各地景观,实现了开放平台、地理位置、数据跟踪、行业服务等内容的有机整合。只要一台电脑、一根网线就可以开启另一种人生。菲利普因为“第二人生(Second Life)”(secondlife.com)而一夜成名。Second Life和魔兽世界、完美世界等游戏比较起来,在人物动作、场景刻画、挑战升级方面逊色许多,却使人的化身充分展示创造力和想象力。“也许在虚拟身份的掩饰下,人们更为自然,显示了更多人性的本质的东西”(文学博士Julia Hum-phreys)。继Second Life之后,HIPIHI、创想王国、由我世界(www.uworld3d.com)也相继发布,投入运营。幸存下来的三维虚拟世界通过各种盈利手段,试图维护由众多用户共同驱动的在线世界。注册登录在线世界,下载客户端,用户看到的是另一番天地———缤纷多彩的日月星辰、昼夜更替、山水建筑、飞禽走兽。每个用户可塑造一个另类个性的新人,探索世界、结识朋友、互动娱乐;利用技术工具塑造个人形象,在天上飞翔、在海里潜行。

三维虚拟世界除了包括假想虚构的城市,也包括仿照现实的城市。以DICITI三维数字地球在线平台为例,用户只要进入www.diciti.com,安装一个网络补丁(Diciti Web Plugin)就可登录、游览按真实比例构建的城市。Di-citi实现了如同Google Earth一样强大的虚拟显示浏览服务。它不仅提供基于卫星影像的平台,更配置了强大的3D引擎,能支持超大数据量的三维模型实时渲染。“卫星图片的精度固然重要,但离开有效的应用,数据再精细也毫无意义。[6]”在这里,Diciti在线用户可以输入著名景点进行搜索,获悉交通、气象、房地产、电子商务、政府服务等多方面信息,流畅地漫游北京、上海、三亚等城市的三维场景,感受逼真的建筑模型和快速的场景转换,还可上传文字、图像、视频,标注某时某刻自己在虚拟地图上的位置。Diciti在线用户还拥有“私人空间”。在三维城市中标记自己的位置(工作、居住或最常去的地方),通过“我的位置”,结识身边的朋友。

利用在线虚拟现实(VR Online)制作三维影片过程如下:借助Google Earth(谷歌地球)等一系列辅助工具,可实现非建模情况下的三维影片制作。寻址“迪拜”,定位于北纬25°16.8′,东经55°20′。有了Google Earth,可直接运用卫星拍摄的原貌建筑,省却了建模工作。

仅靠Google Earth,所记录的街景影像断续、模糊、不流畅,这不是屏幕录像软件能简单解决的事情。采用在线虚拟现实技术,基于VR GIS可以解决诸多问题。GIS(地理信息系统,Geographic Information System)与VR结合,通过扩展模块和接口,使传统GIS的二维数据转变为三维数据。二者结合主要包括两个方面:(1)支持通用的GIS数据。目前支持DEM、DOM、SHP,这样可借助已有GIS二维数据,生成旅游景点的三维场景,并获得相应的旅游属性信息;(2)嵌入GIS组件,以便提示沿途景点、交通路障等。GIS与VR结合,有助于在交叉部上实现崭新的突破。

结合GIS、VR的双重技术优势,是三维影片制作的创新。如图7所示,在非建模的情况下,利用GIS导航漫游、快速寻址(起点地址与终点地址)、变换高度、路径自动化生成等功能,直接生成影视作品。另外,利用GIS导航漫游、快速寻址、变换高度、路径自动化生成等功能,直接运用各种周边软件,制作三维影片。所涉及的各种周边软件包括CityMaker Builder、CityMaker Viewer、Photoshop、Premiere Pro、After Effects、Audition、屏幕录像软件等。基于VR GIS的三维影片能在环幕演示厅180度幕布播放以及在网络上在线播放,符合2D转换成3D且3 通道转换成6通道的标准。

由一部3通道三维影片转换而成的6通道三维影片,包含两侧(左侧3通道、右侧3通道)。转换6通道三维影片,声音可达到同时并进,不存在丝毫的提前或滞后。为了使两个影片(左侧3通道、右侧3通道)不发生位置偏差,必须以影像的顶端作为对齐线,进行边缘调整。边缘调整是件考验耐心的事情,建议在整部3通道影片的第一帧处,插入一张用于调整影像位置、用于精确化对齐的数字图像。首次将整部3通道影片一分为二时,一定要以影像的顶端作为对齐线,不断调整,以保证高度一致,使左、右两侧不发生位置偏差,如图8所示[7,8]。另外,偏振立体投影采用“拼接”方法,影像错位发生在左、右衔接处。为了避免影像错位,建议字幕采用竖排,尽量靠左或靠右而不居中。

若要大批量制作三维影片,只须直接套用两个prproj源文件———生成左、右两侧三维影片的源文件。 套用prproj源文件相当简单,直接将新的三维影片代替旧的三维影片,修改新文件名为旧文件名即可。无论影片长度是否新、旧吻合,打开left video.prproj与right video.prproj,Premiere Pro会自动进行视频位置调整与对齐。引用一次精确定位的prproj,调整与对齐,如法炮制,导入、制作Premiere Pro所支持的各种视频文件,就能生成适应环幕演示厅播放环境的左、右两侧三维影片[9]。如果新影片的片长短于旧影片的片长,会出现左、右两侧影片片尾存在黑屏。 此时,需要修改left video.prproj与right video.prproj的影片时间长度,但要求左、右两侧生成的影片长度一致、不差丝毫,否则FreeWindow软件在播放左、右两侧影片时,响应就不够灵敏。一旦暂停,右侧影片就无法呼应左侧影片,暂停之后再播放,会用起始帧(右侧影片第一帧)来匹配左侧影片当下帧。

参考文献

[1]陈志良,桑业明.论虚拟思维方式[J].新华文摘,2004(11):58-59.

[2]庄惠阳.基于虚拟现实系统的旅游人才培养[J].上海第二工业大学学报,2013(2):93-100.

[3]李芾,张行彪.三维动画在建筑设计中的运用——建筑动画[J].华中建筑,2007(8):53-54.

[4]陈能,庄惠阳.论虚拟现实导游教学实验室的建设流程与关键技术[J].中国教育技术装备,2013(15):4-7.

[5]庄惠阳.论虚拟现实导游系统微视频库与微试题库的建设[J].内江师范学院学报,2014(1):78-83.

[6]北京伟景行数字城市科技有限公司.三维数字地球在线平台(数字中国)[EB/OL].www.diciti.com

[7]庄惠阳,陈能.一种简化的2D至3D视频转换技术——以虚拟校园3D视频制作为例[J].上海师范大学学报:自然科学版,2012(5):490-495.

[8]庄惠阳,陈能.2Dto 3D视频转换技术综述与创新[J].软件导刊,2012(10):165-167.

[9]庄惠阳,陈能.随机通道建筑动画制作与演示方法创新[J].软件导刊,2013(1):165-167.

三维演示 篇2

1 系统研发

1.1系统流程

文章以水生生物学、鱼类学、数字图像处理及虚拟现实技术为理论基础,结合数据库及网络技术,实现鱼类三维标本网络信息系统。系统分为三维鱼标本制作子系统和网络虚拟展示子系统两部分,具体可以细分为新鲜鱼体的速冻定型、鱼体三维拍摄技术、标本信息数据库构建、标本馆三维界面开发、标本馆的交互漫游及网络共享,其研发流程见图1。

1.2鱼标本三维影像的制作合成

根据Strata Foto 3D三维合成的原理及鱼标本拍摄的经验,确定选择多角度拍摄模式完成照片的拍摄过程(图2)。利用宽幅打印机打印坐标矩阵,使矩阵坐标直径与鱼体长度接近,保证三维鱼标本初始化比例适中,方便用户观察研究;把支架筒放置矩阵坐标中间,固定针杠插入鱼的腹部,以45°角固定鱼标本,手动旋转矩阵坐标,每24°拍摄1张相片,完成鱼体360°拍摄。单元图像一般保持在16张[6],其中包括1张垂直鱼体背部拍摄的相片。根据拍摄的鱼类体色的不同,改变拍摄背景墙颜色,使鱼标本体色与背景颜色对比明显,便于后期影像合成中遮罩功能的实现。相片导入Strata Foto 3D中算图,根据相片中物体的形状和表面颜色,进行遮罩、建立线框与增加表面纹理等处理,完成平面影像向立体影像的转换,根据实际遮罩效果调节相片检测阈值,配合漆面工具的擦除、修复功能来提高遮罩精度。构建的三维鱼体模型,可以以线框形式、平淡着色形式、纹理形式显示,并将三维鱼标本以.3ds格式保存,通过Import工具导入3ds Max中,对鱼标本做进一步修改。利用Strata Live 3D的Dimension工具设置鱼标本体长、体宽、厚度等测量单位,实现鱼体测量功能,通过Shadow工具对鱼标本实时添加阴影,利用Solid Background工具改变背景颜色,通过Light工具调节光线强度,改善标本的展示效果。通过Export-Web Tour-Study Scene from Outside工具,实现鱼标本以html格式的网络发布。

1.3标本馆三维场景的构建合成

1.3.1 实物标本馆数据采集

实地测量标本馆的长宽高比例及其内部结构,对拟建模的对象进行剖析,确定其结构的主要特征和合理的建模顺序,标本馆场景具体数据见表1。

1.3.2 标本馆的构建

AutoCAD以双精度存储数据,提高绘图精度,利用AutoCAD的“多段线”工具绘制标本馆的平面图,由于AutoCAD不能进行三维动态仿真,必须将数据转换到3ds Max中,使用AutoCAD的Save as命令将图形以.dwg格式保存(图3),完成AutoCAD向3ds Max的图形转换[7]。在3ds Max中以转换后的图形为底图,开启节点捕捉功能,用Line工具重新绘制底图,利用Group、Extrude等方法完成标本馆三维模型构建(图4)。Extrude是由二维图形到三维建模中使用得最多的命令,能将任意形状的图形拉伸成实体[8],挤压数据见表1。标本柜建模方式是将立方体转化为可编辑多边形,再配合挤压命令完成,利用Nurbus建模方式完成标本瓶三维模型构建,三维标本馆纹理贴图选用直接贴图方式[9],可以简单直观地把建筑物的不同要素(门、窗)分离出来。

3ds Max软件的交互性差[10],不能实时的进行碰撞、漫游等操作,需要一个虚拟现实引擎驱动3ds Max中的3D场景。Unity 3D作为一款多平台的游戏开发引擎,可以实现场景的交互漫游及资源共享,让浏览者以身临其境的方式参观标本馆,且Unity 3D对Direct X和Open GL拥有高度优化的图形渲染管道,能够利用低端硬件流畅运行虚拟场景。为了使三维场景与现实中的标本馆相吻合,可以选择以数码相机拍摄获取相片作为标本馆的贴图[11],完成贴图的三维标本馆效果见图5。碰撞检测[12]是构造可视化系统的必要条件,选中目标物体,通过工具栏component-physicS-box collider,为目标物体添加碰撞属性,便于后续鼠标定点功能的实现。通过component-rendering-light添加灯光效果,调节室内外光线效果。对main camera添加天空盒skybox,实现天空盒的无缝连接,最终保存场景scene,通过file-build settings添加场景,选中web player以html格式完成系统界面功能展示。

1.4标本文本信息管理与调用

利用Access数据库新建标本信息表,字段名称包括标本鱼的编号、中文名、英文名、拉丁名、别称、分类、形态特征、习性、分布、鱼病防治等,并设置相应的数据类型,将标本信息表中的编号字段设置为主键,其索引设为有(无重复)。数据库的调用通过ASP+SQL查询语句实现[4],根据编号的唯一性实现对标本信息的调用。

2 系统功能与实现

2.1网络配置

网站服务器的构架,把系统安装盘放进光驱,通过添加或删除程序-Windows组件-Internet信息服务(IIS),安装IIS,并指定相应的目标文件夹,完成虚拟服务器的配置。客户端访问三维鱼标本,需安装Java程序,便于Java应用程序的调用。安装Unity Web Player插件,借助Unity Web Player插件和ActiveX控件的SendMessage()方法将文件嵌入在网页中,实现标本馆资源的网络共享。

2.2虚拟场景交互漫游功能实现

实时的交互漫游是该系统设计的核心和重点,在场景漫游过程中,系统根据用户的选择移动场景,并将新的场景在显示设备中渲染显示出来[13]。在虚拟标本馆漫游系统中人与虚拟场景的交互主要有行进、选择、操纵和系统控制,鼠标作为人机交互的信息传输工具,借助其定点功能实现了场景界面切换。

系统界面见图5,通过鼠标与键盘控制游走方向,实现三维标本馆内部漫游,当鼠标点击标本瓶时,服务器程序将在新窗口中打开标本瓶中的三维标本,用户可对标本进行放大、缩小、360°旋转、测量等操作,点击“生物学信息”,数据库中相应鱼种的生物学信息被调用。该系统可以较好地解决丰富的标本与有限的展览空间、时间的矛盾,进一步开拓标本馆标本保护、研究和展示的新领域。Unity 3D引擎能够支持大场景、多物件的展示[14],软件追求逼真的现实场景,可以模拟天空、地形地貌、树木和花草等现实景观[15],通过Direct X的相关函数生成二维图像并显示在计算机屏幕上,借助于二维的屏幕还原真实世界的三维现状。

3 结论

开发虚拟标本馆漫游系统有3个关键性技术:1)三维场景的建模;2)虚拟场景的真实感表现;3)虚拟场景与外界的交互。试验中利用多角度拍摄装置构建三维鱼标本,明显提高了建模效率。在实际建模过程中将Strata Foto 3D与3ds Max等大型三维制作软件结合使用,可以凸显三维鱼标本的形体特点,弥补新鲜鱼体在冰冻时产生的弯曲变形,3ds Max可以构建现实世界中几乎所有的物体[16],提高了系统的通用性。纹理贴图的好坏直接影响三维鱼标本的表观价值,试验中采用Photoshop对鱼标本纹理做进一步修改[17,18],如去除破损、斑点,调节体色明亮度,还原鱼标本体色特征,有利于用户对标本资源的鉴定及分类研究;三维标本虚拟发布文件大小约180~300 kb,不仅能在互联网上快速传输,而且交互操作效果流畅;Unity 3D不仅扩展性好,交互能力强,而且使用高压缩比的压缩算法来压缩文件,可以满足文件的网络传输需求[19,20],为标本资源的后续扩展提供空间。

三维标本馆漫游系统可以使浏览者有身临其境的感觉,较二维形式的标本馆互动性更强,界面设计更加友好,但三维标本馆的制作软件对硬件要求较高,文件随三维模型的增多而增大,不利于大尺度场景的制作,因而笔者选用普通规模的鱼类标本馆作为研究、发布的对象。随着计算机技术的进步、软硬件的发展,大尺度场景的三维表达必将成为可能,同时虚拟现实技术的迅速发展,鱼类虚拟标本馆势必成为各水产院所展示其科研水平和对外宣传的重要渠道。

摘要:鱼类标本作为重要的科研资源在分类学、渔业资源学等领域中一直发挥着重要作用,通常鱼类标本经甲醛稀释液保存后存在易变形、褪色等不足,难以长期保存,同时受标本存放地限制参观访问量相对有限。为此开展了鱼类三维标本馆的构建,采用Strata Foto 3D对鱼类标本图像进行遮罩、建立线框模式与增加表面纹理等处理;利用Strata Live 3D完成三维鱼标本灯光、测量尺寸、背景图案、投影等效果的表达,并实现鱼类三维模型原色标本的网络发布;采用ASP技术完成了标本信息数据库的动态调用,实现标本生物学信息的文本展示。采用AutoCAD平面规划功能及3ds Max三维制作功能构建了标本馆三维虚拟空间,完成三维标本馆与单个鱼类标本模型的汇总整合;系统以Unity 3D为开发平台,实现三维标本馆场景的虚拟漫游及网络人机交互功能。

三维演示 篇3

1 工程制图CAD形体分析法

对一个由多个独立简单构件组成的复杂构件进行形体分析, 更能清晰的理解复杂构件的各个组成部分, 从而让学生清晰而准确的构思其三维形体。如图1, 从组合构件的三视图分析可以知道, 利用形体分析法可将构件分解为4个单体:底板为1号件, 空心圆柱为2号件, 小圆管支嘴为3号件, 两侧加劲板为4号件, 可以分析各个单体的三视图, 然后绘制单体的三维立体图, 利用CAD形象直观的将各个单体拼装为一个完整的三维实体。

2 Auto CAD三维立体图的快速绘制及演示

在工程制图教学中, 利用三维立体图辅助教学, 培养学生三维空间立体思维。本例参照图1三视图绘制立体图为例简要说明绘制三维立体图的步骤。

2.1 打开绘图工具及快捷键

打开Auto CAD绘图软件, 打开工具栏中的建模、视图、实体编辑、视觉样式、动态观察等三维绘图所需要的快捷工具方式。

2.2 画平面图

绘制立体图各个单体的平面投影图。

点击俯视按钮, 画出底板二维俯视平面图如图2。

2.3 拉伸实体 (绘制实体)

点击西南等轴测按钮, 点击面域实体拉伸工具, 以图2中所需线框间的封闭区域为面域创建实体, 在所需面域范围内点取面域 (在图3中点取图中阴影区域) 并输入拉伸高度后得到拉伸实体如图4, 即为完整的1号构件。

同样的方法, 画出2号件的二维俯视平面图圆环, 点击面域实体拉伸工具, 在封闭区域的圆环内 (图中阴影区域) 内点取拉伸点后输入拉伸高度得到空心圆柱体A;同理, 以该空心圆柱体的外圆为封闭区域得到一个实心圆柱体B (实心圆柱体可以直接用圆柱体工具绘制) ;同样方法绘出支嘴3号件的空心圆柱体C, 以3号件内圆为封闭区域拉升得到实心圆柱体D;用楔体工具绘出左右两个三角形楔体构件如图6中的J。

2.4 实体裁剪

将图5中的空心圆柱体A与小直径实体圆柱D相贯得到相贯体E, 使用快捷键差集先选择相贯体E中大圆柱并按回车键确定, 然后选择小圆柱并按回车键确定后得到实体F, 即为完整的2号构建。

将图5中的圆柱体B与小直径空心圆柱C相贯得到相贯体G, 使用快捷键差集先选择相贯体G中小空心圆柱并按回车键确定, 然后选择大实心圆柱并按回车键确定后得到实体H, 即为完整的3号构建。

将图5中的圆柱体B与两三角形楔体J相贯得到相贯体K (如图6) , 使用快捷键差集先选择相贯体K中两个三角形楔体并按回车键确定, 然后选择大实心圆柱并按回车键确定后得到实体L (如图6) , 即为完整的4号构建。

2.5 图形拼装

将以上得到的各实体图 (如图7左图) 拼装组合起来得到组合体三维立体图如图7右图。

3 结语

利用工程制图CAD中的形体分析法教学, 让学生学会了如何将一个复杂组合体构件分解为单体构件进行理解, Auto CAD快速绘图教学, 提高了绘图速度, 节约了绘图时间, 学生掌握了绘图技巧, 更清楚的理解了复杂构件的各个组成部分以及如何构建出一个复杂的组合体构件。经实践证明值得大力推广。

摘要:工程制图CAD教学中, 经常遇到很多复杂的构件, 为了让学生彻底理解复杂构件的各个部分, 常用的教学方法就是形体分析法将构件分解为单体, 再用模型展示或者Auto CAD三维动画演示。Auto CAD绘图软件, 主要用来绘制工程建筑图, 机械设计图等等。在教学中, 运用Auto CAD三维快速绘制立体图能更直观的反映复杂构件的各个细节, 从而帮助学生更好的理解, 有助于教学。

关键词:形体分析法,Auto CAD,绘图,三维

参考文献

[1]刘魁敏.计算机绘图[M].机械工业出版社, 2012:1.

三维演示 篇4

Direct3D是微软公司在Microsoft Windows操作系统上所开发的一套三维绘图编程接口,是DirectX的一部分,目前广为各家显卡及三维图形软件厂商所支持,已经成为电脑专业绘图软件和电脑游戏中最常使用的绘图编程接口。图元是Direct3D中最基本的绘图单元,包括点图元、线图元和三角形图元,三维图形中的几何信息是指模型中的图元拓扑结构信息以及用以绘制基本图元的顶点数据信息[1]。

随着现代三维电脑游戏对图形画面和特效要求的不断提升,三维对象模型的复杂度和精细度越来越高,从而导致模型的几何信息越来越复杂,给Direct3D游戏开发人员和驱动开发人员的程序调试和性能分析带来了极大的困难。

基于此研究背景,本文设计和实现了一套专门面向Direct3D应用程序的模型几何信息演示系统,该系统可从Direct3D流水管线中抓取三维模型的几何信息,并以图形化的方式实时显示在用户窗口内。系统具备良好的用户交互性,支持用户的多种操作,包括图元信息和顶点信息的对应关系拾取和高亮显示,几何模型的旋转、缩放和平移等,可以应用于Direct3D程序开发过程中辅助用户进行更快速更高效的分析和调试。

1 系统组成及原理

本系统大体来说包括两大模块:几何信息的抓取;几何信息的演示。

1.1 几何信息抓取

1.1.1 流水管线和几何信息

Direct3D的图形渲染流水管线如图1所示[2]。

该模块用于从Direct3D的流水管线中抓取三维模型的几何信息,主要包括以下信息[3]:

(1) 顶点声明

Direct3D中每个顶点数据可以包含若干属性用来描述顶点的格式,比如位置、法向量、颜色、纹理坐标等。顶点声明描述了单个顶点数据中各个属性的信息,包括顶点缓冲流的索引,顶点缓冲流中的偏移量,属性的数据格式,属性的使用类型以及使用类型索引。

(2) 顶点缓冲

Direct3D中专门用于存放顶点数据的存储区,包含了用于绘制三维模型的所有顶点数据。

(3) 索引缓冲

Direct3D中专门用于存放顶点数据索引号的存储区,目的是为了避免在顶点缓冲中重复存储顶点信息。其主要思想是在顶点缓冲中存储不重复的顶点,而在索引缓冲中存储顶点数据的顺序连通索引。

(4) 图元数据

Direct3D中描述图元信息的数据。包括图元类型(点、线、三角形),图元个数,以及用于绘制图元的基础顶点或基础索引的位置。

1.1.2 虚拟Direct3D驱动层

针对如何从任意Direct3D应用程序中抓取其三维模型的几何信息,特别是在无法获知应用程序源代码的情况之下,本文提出了虚拟Direct3D驱动层的概念来解决这一问题。虚拟Direct3D驱动层通过本模块安装在系统之中,位于Direct3D运行时组件和真正的Direct3D显示驱动层之间,用来完成三维模型几何信息和其他有用信息的拦截和抓取。其工作原理如图2所示[4]。

图2中虚线框所示即为虚拟的Direct3D驱动层。Direct3D应用程序所有的API(Application Programming Interface)调用都会首先进入Direct3D运行时组件,该组件由微软提供和发布,负责将API调用翻译成DDI(Device Driver Interface),调用并进入Direct3D的用户态驱动层,该驱动层一般由各显卡硬件厂商提供,负责实现Direct3D的所有DDI调用并最终将其翻译为硬件指令实现硬件加速功能。系统中安装了虚拟Direct3D驱动层之后,它负责将Direct3D运行时组件送下来的DDI调用拦截,然后根据需要记录包含在这些调用里面的几何信息以及其他一些有用信息,接下来将DDI调用真正送给驱动层去执行,从而实现了几何信息的无缝抓取。

1.2 几何信息演示

实现了几何信息的抓取功能之后,本系统另一个模块专门用以将几何信息显示并支持一系列用户交互功能。

1.2.1 Direct3D坐标变换

为了实现几何信息的交互演示功能,本文首先介绍Direct3D中的坐标变换,它也是本小节的基础所在。坐标变换是Direct3D流水管线中非常重要的一个环节,它属于顶点处理的一部分,负责将顶点坐标从模型空间转换到最终的屏幕空间。坐标变换主要包含如图3所示一系列变换[5]。

世界变换将对象从模型空间变换到统一的世界空间坐标系中,观察变换设置观察点的位置和方向,将对象从世界空间变换到观察空间内,投影变换将观察空间内的三维对象投影到二维表面上,也就是投影空间,最后的视区变换通过设置视区的左上角坐标和宽度高度,完成从投影空间到屏幕空间的转换[6]。

1.2.2 几何信息显示

本模块将三维模型的几何信息以图表的方式显示在用户窗口内,包括顶点数据、索引数据以及图元的拓扑结构信息,以辅助开发人员进行程序分析和调试。

顶点数据和索引数据使用CListCtrl控件进行显示。列表的每一列代表顶点声明中的一个属性,按照该属性的数据格式显示在列表窗口内。为了提高顶点数据显示的响应速度特别是在顶点个数非常庞大的时候,本文采用了虚拟列表控件技术进行优化[7],虚拟列表控件是指具有LVS_OWNERDATA样式的列表视图控件,本身维护非常少的列表项信息,转而由控件的所有者负责管理列表项信息,框架和控件之间通过LVN_GETDISPINFO通知消息进行通信,即框架发送该消息请求项信息,控件响应该消息将请求的项信息提供给框架使用。实验表明,虚拟列表控件技术大大提高了顶点数据显示的响应速度,完全摆脱了顶点个数非常庞大时候响应速度过慢的问题。

图元拓扑结构信息采用普通的窗口类进行显示。主要思想是将顶点数据通过合适的坐标变换转化到显示窗口的屏幕空间上,采用wireframe的填充模式,最终将几何模型以线条的方式显示出来。为了便于模型的几何变换和交互控制,本文采用DXUT程序框架来管理图元信息的显示,模型的初始变换矩阵如下列公式所示[8]:

其中x_max,x_min,y_max,y_min,z_max,z_min分别表示模型顶点坐标在x,yz方向上的极大值和极小值;centerx,centery,centerz则表示模型几何中心点的坐标值。

1.2.3 几何信息交互

为了使用户对三维模型的几何信息有一个立体的多方位多层次的了解,本文系统设计了强大的交互控制功能,系统通过响应鼠标和键盘消息来实现模型的平移、旋转和缩放,同时更实现了图元和顶点数据的拾取及高亮显示。

本文采用了DXUT程序框架的ModelViewerCamera类作为模型几何信息演示系统的坐标变换基础,它内置的消息响应机制允许用户可以方便灵活地通过鼠标键盘来实现三维几何信息的平移、旋转和缩放。当DXUT收到鼠标键盘消息时,根据这些消息参数重新计算得到新的世界变换矩阵,然后送入演示系统的渲染管线,从而实现相应的几何变换效果[9]。

为了实现图元和顶点数据的拾取及高亮显示,本文设计实现了三维空间的拾取算法[10],通过屏幕空间坐标,计算得出变换之前的位置坐标信息,从而找出对应该图元的顶点数据。

参照图3坐标变换的流程,不难得出对应于逆向的坐标反变换,公式如下所示:

[xyzw]=Μvp-1×Μproj-1×Μview-1×Μworld-1×[xsyszsws]

式中:等号左边是模型空间坐标,等号右边是屏幕空间坐标;Mvp-1代表视区变换的反变换;Mproj-1代表投影变换的反变换;Mview-1代表观察变换的反变换;Mworld-1代表世界变换的反变换。

1.3 系统运行结果

图4是系统运行过程中的屏幕截图,图中下半部分是顶点数据显示区,上半部分是图元拓扑信息显示区,红色三角形表示当前选中的三角形,对应于此三角形的三个顶点在顶点数据区以红色高亮显示出来,黄色点代表此三角形的主导顶点,对应数据也在顶点数据区以黄色高亮显示。从中可以看出该演示系统可以很直观地显示出复杂模型的几何信息,极大地方便了Direct3D程序的开发和调试。

2 结 语

本文设计和实现了一套三维图形的几何信息演示系统,该系统可从Direct3D流水管线中抓取三维模型的几何信息,并以图形化的方式实时显示在用户窗口内。实验表明系统以其直观性和强大的用户交互性极大地方便了Direct3D程序开发人员的几何模型设计和调试,同时对于驱动开发人员的性能瓶颈分析和错误调试也提供了很强的辅助手段,可以应用于Direct3D程序和驱动开发过程中,辅助用户进行更快速更高效的分析和调试。

参考文献

[1]王德才,杨关胜,孙玉萍.精通DirectX3D图形与动画程序设计[M].北京:人民邮电出版社,2007.

[2]谢明.基于DirectX9.0的3D游戏设计[D].成都:四川大学,2004.(上接第144页)

[3]叶至军,于忠德.DirectX实时渲染技术详解[M].重庆:重庆大学出版社,2006.

[4]Microsoft.Microsoft Windows driver kit document[M].US:Microsoft Press,2009.

[5]王德才,张安慧.Direct3D中的三维坐标变换[J].电脑编程技巧与维护,2007(5):4-6.

[6]童晓然,吴晟.用DirectX实现地图3D展示及模拟行走[J].科技广场,2007(1):117-119.

[7]盛磊,于晓波.用Direct3D描绘运动物体的轨迹[J].微计算机信息,2007(34):310-311.

[8]杜园园,侯彤璞,郭艳霞.Direct3D场景中3D模型的处理方法[J].辽宁石油化工大学学报,2008(4):86-90.

[9]王弟伟.基于DirectX的三维数字地形真三维显示关键技术的研究[D].南京:南京航空航天大学,2005.

上一篇:医药工程设计下一篇:教职工体育协会