虚拟场景范文

2024-09-04

虚拟场景范文(精选10篇)

虚拟场景 第1篇

关键词:虚拟现实,虚拟校园,多媒体教室

随着Internet的飞速发展和三维图形技术的日益成熟, 人们已经不再仅仅满足于目前网页上只使用字符、文本和静止画面的简单技术和二维交互特性, 而是希望将互联网变成一个立体空间。也就是在今后的网页上, 将不再仅仅是普通的二维图片和文字, 而是三维立体的逼真场景, 可以通过一扇门一扇窗, 或者通过触摸, 从而进入另一个页面或者执行不同的程序。甚至可以在虚拟的网络世界中生存, 可以和他人交流, 像在现实世界中一样的。

本设计是利用虚拟现实技术, 将高校的多媒体电教室展现出来。从整体大观来说是属于VRML的室内设计, 多媒体电教室是哈尔滨学院的其中一个子教室, 预计设计多媒体电教室是可嵌入经管学院中。由于属于空间内部虚拟设计, 主要考虑的问题将不是虚拟整个楼层的外观上的宏大气势, 而应该着重于室内表现的细腻与精致, 将室内的物品和各种效果尽可能逼真的再现于计算机屏幕。

1 设计思路

模块化设计思想:把要虚拟的建筑模型分为几个大的模块, 即把类似的部件归为一类, 放在一个wrl文件里进行虚拟设计, 如天花板的风扇, 灯管。风扇可以作为一个部件单独编写代码, 灯管也作为一个单独的部件进行代码编写。然后将风扇和灯管以及天花板作为一部分, 在主文件里内联 (Inline) 天花板这个部分。这样的设计思想的好处是条理清晰, 设计时不容易出错, 维护起来也比较容易, 需要修改也比较方便, 只需要修改相应的文件即可。可移植性也较好, 如果在其他的场景需要使用这部分的造型的话, 只需要添加一个Transform节点, 里面只需要使用Inline的节点并调整旋转和位移即可。这样的设计所做的效果比较逼真, 主文件少, 副文件多, 但由于整个设计中Inline中可能也还需要调用Inline, 计算机的运算量会增大, 会造成浏览的流畅性有一定的下降, 对所用于设计的计算机有一定的要求。而且由于是各部件的分块整合, 整合的吻合程度不及宏观的整体设计, 但可以通过精确的计算来弥补。

总的来说, 整体设计方法适用于对大型的建筑楼层的虚拟, 达到较好的整体优化性和宏观观赏性。模块化设计方法适用于对较小的楼层建筑的虚拟, 模块化设计可以把造型较逼真、细致的表现出来, 细节方面比较好。

在考虑逼真与浏览的效率以及维护的难易等情况后, 预计对此电教室的设计方法是通过模块化设计, 即将各个模块合并起来, 以达到合成一个电教室。

多媒体电教室的预计部件主要包括前后左右的墙壁, 窗口, 天花板, 灯, 风扇, 课桌椅, 讲台, 黑板, 门口, 投影仪, 地板, 光源以及多媒体电教室内的其他部件。由于是主要是室内效果, 故周边环境不予过多考虑。

虚拟多媒体电教室主要方面应该是对电教室内部的细节方面的表现, 主要包括造型的色彩, 细节程度, 物体与物体间的衔接, 造型的材质贴图, 光源问题, 物体表面的漫反射, 镜面反射, 着色, 透明, 旋转, 位移, 放大缩小等。

对虚拟的造型的表现力的描写, 通过对虚拟造型的材质选择, 可以选择贴图方式或者调色。贴图方式比较方便, 而且贴图的来源广泛, 可以从网上或者用数码相机来获得相应的素材, 再经过Photo Shop等图像修改软件的修改, 可以得到所需要的材质。特别是用数码相机所得到的图片, 由于照的相片与原物一致, 所以可以较好的把原物表现出来, 而且通过图像软件的修改, 可以轻易的得到各种不同情况下的素材。而且代码容易, 只需要对材质的漫反射光、反射强度、周边环境的光强度作设定即可。

2 详细设计

根据总体设计中对虚拟多媒体电教室所作的分析, 以及初步讨论得到的解决方法, 基本按照模块化建模思想来构造虚拟空间。即预先设计好需要做的每个部分, 然后在一个总文件中再整合起来。

第一步:预计在整个虚拟场景中应该表现出来的部件。

主要部件包括:天花板, 灯管, 风扇, 投影仪, 课桌椅, 讲台, 墙壁, 门, 窗, 地板, 阶梯, 光源, 声音, 动画。其中光源和声音是作为整体效果在最后才加入, 所设计的各部件中灯管 (包括光源) , 风扇, 门和投影仪设计成为可动或者可操作的部件。

第二步:为所做的各部件加上贴图材质或者调整色彩及各项参数, 使其在虚拟场景中表现出如现实世界中一样的效果。

主要参数为:ambient Intensity, diffuse Color, specular Color, emissive Color, texture, shininess, transparency。分别是设置虚拟造型的环境饱和度, 漫反射色, 镜面色, 发射光色, 材质, 亮度, 透明度。

第三步:初步整合, 将所完成的各部件通过Inline, translation, rotation, scale, scale Orientation。分别是设置内联, 位移转换, 旋转, 放大缩小, 放大缩小方位。

第四步:最终整合, 在初步整合的基础上, 为虚拟场景添加Background, Light, Sound, Navigation Info, Viewpoint, Script。分别是设置背景, 光源, 声音, 导航信息, 视点, 控制脚本。

其中前三步为基础, 第四步是对虚拟场景的高级设置, 通过Navigation Info, Viewpoint, Script, 在触发器的前提下可以使本来静止的场景通过相关参数的修改达到动画的效果, 使其具有一定的可操作性。

3 关键技术

3.1 造型

对于虚拟场景中的物体的形状, 一般都不是规则的, 对那些不规则的造型可以通过不同的方式实现。

方法:把不规则的造型分割, 尽量分割出规则的造型, 然后通过对不同造型的位移转换, 放大缩小等操作, 最终得到需要的形状。但是由于一个不规则造型需要分割出几个甚至十几个形状, 这必将会大大加重计算机的负担。因此一般将造型分割的时候不应该大于四部分。

3.2 动画

动画的关键, 是通过时间节点出发其它节点, 使其它节点的域随时间变化, 进而产生动画效果。

脚本 (Script) :是一套程序作为一个事件级联的一部分执行。脚本可以接受事件, 处理事件中的信息, 还可以产生基于处理结果的输出事件。与脚本相关联的是脚本节点和脚本语言。

路由 (ROUTE) :是产生事件和接收事件的节点之间的连接通道。路由不是节点, 路由说明是为了确立被指定的城的事件之间的路径而认为设定的框架。在VRML文件中路由说明与所在位置无关, 它既可以在源节点之前, 也可以在目标节点之后, 在一个节点中进行说明, 与该节点无任何关系。

3.3 光源与颜色

VRML对现实世界中光源的模拟实质上是一种对光影的计算。VRML世界中的光源不同现实世界中的光源, VRML是通过对物体表面的明暗发那不的计算, 使物体跟环境产生明暗对比, 这样, 物体看起来就像使再发光。

4 最终效果图

(见图1)

5 未来展望

对于个人来说, 更直接的是感觉世界。以视觉为例, 我们看到的一切, 不过是视网膜上的影像。从这一角度出发, 我们应和心理学家、生理学家一起, 认真研究人类的感知问题。虚拟现实有其二重性:对于人的感官来说, 它是真实存在的;对于所构造的物体来说, 它又是不存在的。因此, 能利用这一技术模仿许多高成本的、对人有危险的、或目前尚未出现的真实环境, 人们可对它进行分析研究、仿真操作及改进设计等。

作为长远目标, 作为技术驱动力, 作为新的人机交互方式, 虚拟现实都是值得高度重视的。与此同时, 必须重视虚拟现实的广泛应用。虚拟现实还有很大的发展空间, 机会和挑战并存, 而且虚拟现实和人机交互关系密切, 必须重视人机交互的发展。

参考文献

[1]张金钊, 张金镝, 张金锐.虚拟现实三维立体网络程序设计语言[M].北京:清华大学出版社, 2004.[1]张金钊, 张金镝, 张金锐.虚拟现实三维立体网络程序设计语言[M].北京:清华大学出版社, 2004.

[2]张金钊, 张金锐, 张金镝.VRML编程实训教程[M].北京:北京交通大学出版社, 2008.[2]张金钊, 张金锐, 张金镝.VRML编程实训教程[M].北京:北京交通大学出版社, 2008.

[3]张金钊, 张金锐, 张金镝.X3D虚拟现实设计[M].北京:电子工业出版社, 2007.[3]张金钊, 张金锐, 张金镝.X3D虚拟现实设计[M].北京:电子工业出版社, 2007.

虚拟场景 第2篇

传统房地产展示主要是以效果图的形式来实现,而随着虚拟现实技术的不断发展,这种展示方式已经满足不了现代房地产销售需求,客户渴望更直观的了解房地产商品,而利用VR技术来制作虚拟房地产展示系统可以满足客户这方面需要,所以研究基于VR技术的虚拟房地产展示系统设计具有十分重要的意义。

1房地产建模研究

在设计房地产展示系统之前,首先需要完善房地产的建模工作。而现阶段,3ds Max是较为常用的房地产建模软件,该软件的操作方式较为简单,并且功能齐全,能用于制作绝大多数类型的建筑,建立出来的模型也适用于其他后续工作,如动画制作等。而虚拟房地产展示系统中,也可以使用该软件来建立房地产模型。具体的建模过程可分为以下几个环节:

1.1采集数据

在建模工作开始之前,需要收集有关房地产的具体资料,用于后续的模型制作。数据采集的具体内容如下:

(1)收集房地产建筑、各类景观的真实照片,用于在续建模过程中进行模型和实物的对比。

(2)整理设计师提供的平面图、立面图、剖面图等设计图纸,这些图纸在整理之后,还需要利用Auto Cad进行进一步加工,从而可以被建模工作者使用。

(3)采集相关资料,来制作建筑模型的贴图。如房地产已有效果图,在该效果图上截取建筑上特殊纹理的贴图,并调整好比例,利用相应软件制作成可被利用的贴图文件。

1.2三维建模

三维建模需要根据实际建模需要来采用不同的建模方法,这一实际需要具体指的是建筑的结构、外形。在制作轮廓比较规则的建筑模型时,可采用Polygon(多边形)建模方法,这种建模方法适用于绝大多数模型制作中,并且操作简单,修改简便。在制作轮廓较为复杂及不规则建筑模型时,可采用NURBS(曲面)建模方法[1].但不管是那种建模方法,最重要的是掌握好建模思维,即在进入建模工作之前,工作人员就需要进行一次建模推演,比如先建什么、后建什么,并合理运用软件中一些命令来简化建模步骤,从而提高建模效率,并增加模型质量。在建模过程中,还需要注意对模型面的控制。模型面指的是模型中所有物体面的总和,而这一数值直接决定模型文件的大小,模型文件太大会导致后续工作无法正常开展。同时,还需要合理贴图,科学编辑贴图的UV,从而使模型贴图更加逼真。最后,在房地产模型中还会夹杂着很多复杂物体,如喷泉、路灯、树木、花草等,这些模型可以在网上寻找一些面数较少的素材来替代,从而减少建模工作量,同时也控制了文件大小。

2房地产展示系统中虚拟场景及互动设计

现阶段,房地产展示系统主要采用的是unity3d(以下简称u3d)软件。随着该类技术近些年的不断发展,其软件功能也越来越齐全,并且展示效果也越来越好。在进行房地产虚拟展示系统的构建之前,需要把3ds Max制作的模型转化成FBX格式文件并导入到u3d软件中。首先,系统的检查一遍模型,保证模型、材质、贴图等各类元素准确无误。其次,进行模型烘焙,这一步骤主要是为了把模型的光影及贴图方式也一起导入到u3d软件中[2].在烘焙和导入完成之后,就可以到u3d软件中进行后续操作了。

2.1优化场景

模型导入到u3d之后,还需要优化场景。具体如下:

(1)调节好模型导入过程中出错的材质贴图,并对材质贴图进行全面的调整,如增加反射效果、透明效果等,像一些喷泉或处于动态的场景,还需要为其添加动态贴图[3].(2)优化天空、背景环境,使整体环境更加真实、美观。

2.2构建虚拟展示系统

行走漫游主要是通过建立行走相机来实现的。相机在慢游系统中代替着人的眼睛,而通过键盘和鼠标,就可以控制相机的移动和转换视角。如键盘中上下左右四个方向键对应着前后左右四个移动方向,而通过移动鼠标就可以移动相机角度,从而达到转变视角的效果。飞行漫游主要是以相机动画为主,及制定相机移动路线,在漫游开始时,相机会依照这一路线进行飞行,从而实现飞行漫游的效果。在构建虚拟展示系统时,需要注意相机角度的合理性,如行走相机和地面的距离可保持在1.7米,同时还需要进行碰撞检测,从而保证漫游视角的合理性。

2.3导出系统

在虚拟展示系统构建完成之后,还需要设置好操控界面。界面的设计可选用VRP软件给出的模块,当然,设计者也可根据需要和喜好自主设置。设计完界面之后,就需要添加按钮,并给予该按钮相应的功能,从而使展示系统和用户建立起交互。界面和按钮设置完成之后,还可以为系统增加动听的音乐等。在一切工作完成之后,就可以导出系统,并生成。exe文件。

3结语

虚拟现实技术不断成熟的今天,为房地产行业带来了很大的机遇,尤其是房地产销售方面,通过制作虚拟房地产展示系统,可以使用户直观的了解到房地产产品,并增加客户好感,提高销售成交几率。但想要做好展示系统还需要经过系统的学习,加强对VR技术的了解及认知,并提高创新意识,从而更好的利用VR技术来促进房地产行业的发展。

参考文献:

六种虚拟场景解读新刑诉法 第3篇

发生在今年政协会议召开前一天,关于著名刑诉法学泰斗陈光中与《纽约时报》一名女记者的对话,两会期间在媒体间广为传播。

“你确定会把‘尊重和保障人权’写进去吗?”女记者盯着陈光中问。

“我确定。”这位中国政法大学前校长回答道。

“真的能确定?”女记者又问了一遍。

陈光中笑了,说:“我真的能确定。”

“修改《刑事诉讼法》是进一步加强惩治犯罪和保护人民的需要。”全国人大常委会副委员长王兆国3月8日在向十一届全国人大五次会议作关于《刑事诉讼法修正案(草案)》的说明时说。

3月14日,答案如愿揭晓。

什么是刑诉法

对于普通公民来说,《刑事诉讼法》作为一部程序法而非实体法,似乎算不上与我们的日常生活息息相关。“尊重和保障人权”一说也略显空洞。毕竟,不是每个人都会接触到刑事诉讼程序,自然会缺乏切身感受。

纯粹的法学概念上,《刑事诉讼法》是关于刑事诉讼程序的法律规范的总和,它规定了刑事诉讼程序进行的方式、内容及其效力。这个过程的合理、合法能够直接影响最终审判结果的公正与否。

通常,《刑事诉讼法》因为将《宪法》中有关司法机构的地位和关系作为制定的直接根据,并将其细化,而被称之为“小宪法”、“宪法应用法”、“宪法体温计”等等。如果说宪法中人权的规定比较抽象,《刑事诉讼法》的人权则通过一系列具体程序将其转化为现实状态。

举个例子说,宪法规定了人的生命权,映射到《刑事诉讼法》上,就是犯罪嫌疑人具有的不受刑讯逼供、虐待等具体行为。包括侦查机关长期时间传讯犯罪嫌疑人、被告人,要保证他必要的饮食和休息时间。

《刑事诉讼法》与《刑法》的关系同样需要公民注意。后者一般直接规范人们的行为,一般人就可以通过是非或者对错,来判断自己的是否应受制裁。而《刑事诉讼法》则是违法犯罪行为出现后,规定如何查案、如何起诉、什么样的证据有效、如何审判……看似只与公检法有关。

当然,对待《刑事诉讼法》,不同的人也有不同的理解方法。譬如著名刑辩律师张青松就认为:“《刑事诉讼法》作为程序法,就是一种解决问题的方法。”“比如说律师的阅卷权问题,以前案件进行到何种阶段律师经常不知道,显得很被动。这一次修法当中,司法机关具有告知义务已经明确写进去了,这就叫诉讼法,你不要玩那些虚的。”

新刑诉法出台过程

目前,我国现行《刑事诉讼法》是1979年制定、1996年八届全国人大四次会议修正的。2003年12月,刑诉法修改再次列入十届人大的立法议程。然而在接下来的几年时间里,“调研、论证作了很多,研讨会开了不少,而且建议稿也出了几部,可是刑事诉讼法的修改仍旧没有着落。”以至于参与立法的中国人民大学教授陈卫东2007年专门写了篇文章思考“刑事诉讼法的修改难在哪里”这个命题。

事实上,这段日子相关的司法部门的日子都过得如履薄冰。2003年孙志刚事件、2004年的胥敬祥案、2005年佘祥林杀妻冤案、2006年邱兴华杀人案引发的精神病鉴定大讨论……桩桩件件都与刑事诉讼程序的不完善或者执行不到位相关。

与此同时,2008年底,中央下发了法学界俗称的十九号文件,即《中央政法委员会关于深化司法体制和工作机制改革若干问题的意见》,布置了60项改革任务,涉及优化司法职权配置、落实宽严相济刑事政策、加强政法队伍建设、加强政法经费保障等四个方面改革任务。这被视为中国司法改革进入体制化改革阶段的标志,通俗点说,就是公、检、法三家的权力怎么分配、怎么制约、内部机构怎么设置。

2009年初,随着条件的逐渐成熟,全国人大常委会法工委开始着手刑诉法修改。“最初的设想是重点修改,上人大常委会通过一下就行了。”参与过立法的中国政法大学教授樊崇义说。

这一次的起草工作采取了“开门立法”的方式,立法者采取深入各有关部门和律师行业的做法。今天来看,当时诸如2007年最高法收回死刑复核权、2010年7月两高三部委联合颁布的《关于办理刑事案件排除非法证据若干问题的规定》等规则的出台,都为日后的修改埋下伏笔。

“各个修法部门在过程中表现出了大局意识,对修改的内容,无论是否与本部门的意见吻合,都能够接受。”陈卫东说。“相比于刑法,诉讼法的立法技术要求更高。刑法一个罪名有没有,不影响其他罪名。诉讼法是一整套严密的程序性规定,一个基本原则或者细节的变动,都将引起前后内容的变动。”

于是,步调逐渐变大,以致樊崇义认为“修改条款之多、内容之广泛,出乎意料。”2011年8月,刑诉法草案进行初审,条文内容已经从原来的225条增至285条,并随后面向社会征集意见。在不到一个月的时间里,78000条建议飞向人大法工委。直至,今年3月通过的《刑事诉讼法》总则中写入“尊重和保障人权”。

理解条文的四种观念

新《刑事诉讼法》尽管将“尊重和保障人权”写入第二条令所有的媒体都欢呼雀跃,但对具体条文的苛责一直不绝于耳。“我看过一个统计数据,反对新刑诉讼法的人当中有69%其实一点不了解刑诉法;只有10%的人是了解其内容的。”陈卫东说。这意味着,普法的任务也将十分艰巨。

对此,北京师范大学刑事法律科学院教授宋英辉给了一个意见:“理解要执行,不理解也要执行。”“但理解了执行会更好。”樊崇义回答。

在诸多专家学者看来,转变观念将是修正后的《刑事诉讼法》能够发挥其最大作用的关键。而樊崇义则提出了理解条文的四种观念:只要有权力就有监督制衡,只要有权利就有义务,只要有义务就会有处罚,只要有授权就有程序制约。

从条文上看,四个标准几乎无处不在。譬如在给予侦查机关技术侦查权的同时,也确立了严格的审批程序、合法性审查程序和非法证据排除规则来进行制衡,而一旦在审理中证据的合法性遭到质疑,侦查人员也有义务出庭说明情况。

3月23日,陈卫东在最高人民检察院给几乎所有业务厅室的检察官们讲了一堂关于新刑诉法的课。课后传出,全国各级检察院的业务部门的检察官,将在明年1月1日到来前全部轮训一次。据悉,最高法、公安部也将有类似举动出台。

然而,如果说有关执法、司法部门面临的一场关于执法和司法的新考验。那么对于每一名普通公民,更加需要知道的是:“我”该怎么使用它?

你可能使用新刑诉法的假想场景

场景一:侦查阶段也可以委托律师了

假如你不幸成为犯罪嫌疑人、被告人,你可以在任何地点、任何时间得到律师的帮助,而不必担心自己的隐私被律师泄露,因为第三十三条修改了,第四十六条增加了。

在传统诉讼文化中,中国人习惯了打官司就去要找“官家”,而对律师的存在感很弱。“找律师没啥大用”“律师泄露了我的隐私怎么办”是很多人法律观念上存在的误区。

然而,当一个人成为侦查机关的怀疑对象,就意味着他将以一人之力对抗来自国家机构的公权力,处于弱者的地位。而法律程序的繁琐性,必然使得不是每个人都透彻了解该如何应对。

面对讯问什么该说?什么不该说?怎么最大程度维护自己的权利?律师作为专业人士显然可以解答得更透彻。

此次《刑事诉讼法》备受瞩目的亮点之一,是犯罪嫌疑人、被告人可以委托律师的时间,从以前的案件审查起诉以后,更改为“犯罪嫌疑人在被侦查机关第一次讯问或者采取强制措施之日”,并且删除了“律师会见当事人,侦查机关可以派员在场”的规定。

这意味着,犯罪嫌疑人、被告人从第一次知道自己成为怀疑对象起,他就可以委托律师辩护,并且提出的辩护意见还可以附录卷宗。并且,当事人因一些特殊原因想要保密时,既可以跟律师沟通说明全部案情,又不必担心律师会将有关信息透露给司法机关。

事实上,律师介入刑事案件的时间提前,相当于在犯罪嫌疑人或被告人一边的天平上,增加了砝码。

场景二:不必担心被秘密拘捕

一个人去外地出差,却突然与家人朋友失去联系,他被秘密带走了吗?其实,“秘密拘捕扩大化”是很多人对第七十三条和八十三条的误解。

关于第七十三条指定住所监视居住和第八十三条规定某些特定情形下逮捕可以不通知犯罪嫌疑人家属是“秘密拘捕扩大化”的怀疑与争议,至今未息。譬如2011年凤凰网十大影响力博主蔡慎坤就在3月29日发表了博文《秘密拘捕成为常态化有多可怕》,称“此条款的通过,意味着中国进入秘密警察治国时期。”

因此一些人担心,自己会不会突然“被失踪”。

秘密拘捕其实不是法律概念。媒体报道中所用的“拘捕”,实际上是拘留和逮捕的合称。“如果说从侦查行为公开还是秘密的意义上说,要求拘留和逮捕一定程度上保密,是侦查秘密原则的题中应有之义。”中国政法大学副教授吴丹红说。

那么,为何舆论会误认为新刑诉法第七十三条、八十三条会导致“秘密拘捕扩大化”,说新刑诉是“大倒退”呢?

“很多人并没有细致对比新旧条文,无法理解立法意图。”1979年和1996年刑诉法都规定:拘留后,除有碍侦查或者无法通知的情形以外,应当把拘留的原因和羁押的处所,在二十四小时以内,通知被拘留人的家属或者他的所在单位。实际上,这已经成为不通知家属的口袋条款(意指像口袋一样可以不断装进新内容的法律条文,使得条文适用范围不断扩大。经常出现的表述就是“法律规定的其他情形”)。例如2008年,北京《网络报》以记者在山西采访中,就与家人失去联系长达十余天。事后,张家口公安局负责人就用这一条款进行了辩解。

“新法至少做了四个限定:新法的暂不通知,只限于拘留,逮捕必须通知;有碍侦查或者无法通知的情形,不再适用于任何罪名,而是只限定于特定犯罪,大大缩小了范围;有碍侦查的情形消失以后,应当立即通知被拘留人的家属,不像旧法一样随意不通知;必须通知家属,而不是家属或单位了,家属知情权得到保障。四个方面,都是限制公权,保障人权。这难道不是进步么?”吴丹红说。

其实新刑诉法第七十三条指定居所的监视居住,并非新法发明。旧法的监视居住通常只针对没有社会危险性的或者三年以下有期徒刑的犯罪嫌疑人,但现在把危害国家安全、恐怖主义犯罪和特别重大的贿赂犯罪特别规定为可以监视居住了。新法73条扩大指定居所监视居住的范围,正使一些原本要被关押的犯罪嫌疑人可以不用被关押。从逮捕变为监视居住,减少羁押,“这难道不是保障人权?”吴丹红反问。

场景三:让作证的人没有后顾之忧

如果有一天,你目睹了一场抢劫案。你知道出庭作证会帮助到被害人,可是,你胆子很小怕被报复,并且舍不得请假被扣工资。其实,这些都不需要担心的,还是勇敢出庭来保卫就在自己身边的正义吧。

从香港TVB剧集《一号皇庭》、到近些年热播的《波士顿法律》、《律政狂鲨》等美剧,法庭剧已经成为英美法系国家最为成功和受欢迎的电视剧种类。“最痴迷于那些激烈的庭审辩论和对证人的当场质询”,一名法学专业大学生如是说。

然而,痴迷归痴迷,你是否因种种原因,拒绝过出庭作证?

事实上,上述法庭剧的情节在内地法院开庭审理案件时,很少出现。其重要原因之一,就是证人出庭率太低,有统计数据认为不足5%,以至于庭审中的质证环节显得空洞无物。证人不出庭,使得在审理案件中的控、辩双方的对抗效果降低。所以,审判者断案大都是依赖于公安破案中获取证物照片、证人证言等。这也是,内地法庭剧不火,而破案题材关注度高的原因。

而对于公民来说,不出庭恐怕都有些难言之隐。2008年就有媒体报道,王某因出庭给一起人身侵权案件作证,被公司扣除了一天工资。以至于劳资双方,发生纠纷。网络上,还因此展开了相关讨论。

此次《刑事诉讼法》在解决这个问题上表现出了足够的诚意。一方面,通过第六十三条将解决证人出庭的费用问题和被所在单位处罚的后顾之忧,给予担心被报复的证人足够的来自官方的保护。另一方面设立了特定情形下的强制出庭制度,特别是鉴定人员和侦查人员。

场景四:亲亲相隐来了

他也许是你的父亲、丈夫或者儿子,她也许是你的母亲、妻子或者女儿,他们现在被侦查机关认为涉嫌犯罪,我们该怎么办?是站出来坚定地参与指控犯罪,被赞一句大义灭亲?还是保持沉默,以维护他们对亲情的信赖不变?

《方圆》曾以《梨都反腐轻喜剧》为题,报道过安徽砀山县房产局局长刘某被举报有“贪污受贿、嫖娼”等行为,这封举报信出自这名局长的前妻张某和17岁的儿子。母子俩为此曾住进了局长办公室,守了室内3个保险柜整整8天时间。故事的发展颇为离奇,被亲情、伦理、道德、家庭关系、第三者插足等等八卦充斥,以致人们都忽略了最终的结果。在关于这个案例的热议中,“大义灭亲”被屡屡提及。

与之相反的是,一名因藏匿犯罪儿子入狱的母亲曾在接受采访时坦言,“能藏一天算一天,尽一尽做母亲的心”。同样有一个成语可以与之对应,即“亲亲相隐”。

这代表了长期以来在我国刑事诉讼领域的一个典型争论:“大义灭亲”是否值得提倡?

“大义灭亲”这个成语出自春秋战国时代。《左传·隐公四年》说的就是卫国大夫石碏为国为民,不徇私情,杀死自己儿子的故事。

中国法律明文肯定“大义灭亲”,可以追溯至1979年修订刑法时,基本沿用了文革时期“大义灭亲”式法治理念。1997年刑法修订时,在强调打击犯罪的大环境下,关于窝藏罪和包庇罪的规定,被学者视为是对这一理念的继承。

但是随着近些年杀亲、灭门案的层出不穷。人们开始反思,“大义灭亲”所带来的负面效应——最基本的社会关系被破坏,亲情被扭曲,人们日渐冷漠。

实际上,在现代司法制度确立较早的西方,被中国人摒弃的“亲亲相隐”依然可见,证人作证豁免制度安排中依然保留了近亲属可拒绝作证的选项,后者如今也被新《刑事诉讼法》第一百八十八条所承认。

场景五:流言引发的邻里纠纷

虽说远亲不如近邻,但邻居之间难免发生摩擦,冲动之下打对方一拳。受了轻伤的邻居一气之下到派出所报案。这时你不必担心一定要坐牢,因为你可以根据第二百七十七条选择刑事和解。

这是新《刑事诉讼法》通过之后,《方圆》记者得知的一个“流言引发邻里纠纷”的真实案例。

3月2日,吉林省桦甸市某村,犯罪嫌疑人谷某在家中将被害人王某殴打致伤,王某随后到派出所报案,经法医鉴定,王某的左侧鼻骨粉碎性骨折及右侧上颌窦前臂骨骨折均构成轻伤。在外人看来,谷某与王某系邻居,多年来两家关系良好,打架这事“很有些出人意料”。

原来,王某与妻子因听村里人说,谷某妻子曾向森保大队告发他家毁林开地,遂到谷某家当面对质。没曾想,双方见面后话不投机,发生口角,互相骂起来,于是情绪过激的谷某照王某的脸上打了两拳。

桦甸市检察院承办人在提审谷某时,发现他对打人行为很后悔,愿意对被害人家属给予合理的经济赔偿。在征得谷某的亲属与被害人及家属同意后,桦甸市检察院迅速启动刑事和解程序,通过对双方反复疏导,谷某最终得到被害人家属的谅解,被害人家属做出让步,双方达成和解协议,谷的亲属向被害人家属支付3万元赔偿金。3月22日,桦甸市检察院遂依法决定对犯罪嫌疑人谷某不予批准逮捕。

新《刑事诉讼法》新增了整个第五编,来设立了四种特别程序,其中就包括当事人和解的公诉案件诉讼程序。对于一些轻微刑事案件和渎职以外的过失犯罪,且法定刑在一定限度以下的,公安、检察院和法院都可以主持刑事和解。

事实上,刑事和解制度在我国已经试行了一定时间,才最终被新刑诉法吸纳。

场景六:不让孩子一失足成千古恨

孩子因年幼无知而犯下错误通常可以被原谅,但如果这个错误严重到触犯了刑法上规定的罪名呢?不用担心他将一辈子生活在犯罪的阴影下,因为只要不满十八周岁,他的犯罪档案将被封存。

每一个人,都曾经是孩子,并且终会有自己孩子。

然而,在一些人眼中,青少年犯罪甚至已经成为继吸毒、贩毒之后的又一大社会公害。据山东省高唐县检察院公诉科受理的未成年人犯罪案件资料显示:“2000年到2003年,未成年人犯罪年龄主要为16岁至18岁,2010年至今下降到13岁至15岁开始犯罪,平均降低了3周岁。2011年4月份,刘某(1998年3月份出生)带12岁少女李某进入网吧,在观看色情网络后,模仿故事情节将李某强奸。”

2005年前后,未成年人犯罪诉讼程序的改革在司法机关开始展开。例如附条件不起诉、社会背景调查、犯罪记录封存等等。从这次修法的成果看,《刑事诉讼法》大体上吸收了这些做法的精髓部分。

如果你的孩子不慎涉嫌犯罪,你首先应当要求旁听侦查人员对他的讯问并且提出自己的意见,要求公安机关、检察机关和法院熟悉未成年人案件审判的人员来处理案件的相关事宜(事实上,很多地方都已经成立了专门的办案或审判小组),在审判阶段你还可以补充法庭的最后陈述。如果检察机关作出了不起诉决定,就配合他们做好6-12个月的考察期内的教育工作,你的孩子极有可能脱离被审判的尴尬境地。

但是如果你的孩子真的被判刑了,新《刑事诉讼法》第二百七十五条将会起到其积极作用的一面,孩子的犯罪记录将被封存。他依然可以活在阳光下,享受法律馈赠的未来。

读懂新刑诉法的七个名词解释

非法证据排除规则

这一名词源自于英美法,为当今世界各国及国际组织所承认。它通常指执法机关及其工作人员使用非法行为取得的证据不得在刑事审判中采纳的规则。通常而言,非法取得的言词证据,应当在刑事诉讼中完全排除,非法取得的书证或物证,如果影响司法公正,也应当排除。当然,非法证据排除规则也包括一些例外,如善意取得的例外、必然发现的例外、公共安全的例外等。

指定居所监视居住

这是新《刑事诉讼法》修改过程中最被热议的名词。普通监视居住是针对符合逮捕条件,但具有患有严重疾病、怀孕或哺乳等特殊情况的犯罪嫌疑人,其通常在犯罪嫌疑人、被告人的住处执行。但此次修改增加了“对于涉嫌危害国家安全犯罪、恐怖活动犯罪、特别重大贿赂犯罪,在住处执行可能有碍侦查的,经上一级人民检察院或者公安机关批准,也可以在指定的居所执行。但是,不得在羁押场所、专门的办案场所执行”,即所谓的指定居所监视居住。

附条件不起诉

指的是检察机关对符合一定条件、应当负刑事责任(通常是轻微犯罪行为)的犯罪嫌疑人,暂时不作出起诉决定,代之以设立一定的条件(含期限性条件)进行考察。这项制度是检察机关起诉裁量主义或者起诉便宜主义的体现,虽然是首次在《刑事诉讼法》中被确立,但是我国各地司法实践中早已经有所探索,也会被称为“以善代刑”。

技术侦查措施

是指侦查机关为了侦破特定犯罪行为的需要,经过严格审批,采取的一种特定技术手段,通常包括电子侦听、电话监听、电子监控、秘密拍照、录像、进行邮件检查等秘密的专门技术手段。 事实上,这些手段在过去已经被应用很多,甚至被视为“破案的潜规则”。但这次纳入了法制的轨道。

社区矫正

广义上的社区矫正是一种不使罪犯与社会隔离并利用社区资源教育改造罪犯的方法。国外较常见的包括缓刑、假释、社区服务、暂时释放、中途之家、工作释放、学习释放等。此次刑诉法修改确定的“社区矫正”范围要狭窄一些,是指将符合社区矫正条件的罪犯置于社区内,由专门的国家机关,在相关社会团体和民间组织以及社会志愿者的协助下,在判决、裁定或决定确定的期限内,矫正其犯罪心理和行为恶习,并促进其顺利回归社会的非监禁刑罚执行活动。

强制证人出庭

长期以来,我国刑事案件审判的证人出庭率都不足1%,证人不出庭作证导致当事人无法对证人证言进行质证,法官不能在庭上接触证人,从而使当事人的质证、辩论权受到限制和削弱,最终影响司法公正。强制证人出庭制度是此次新刑诉法为解决这个问题而做出的努力。

特别程序

原本是民事诉讼法上审理某些非民事权益纠纷案件所适用的特殊程序,包括选民资格案件和非讼案件。此次《刑事诉讼法》中借鉴了这一概念,用于处理犯罪嫌疑人、被告人,具有未成年、不负刑事责任、逃匿或死亡、以及轻微刑事案件,是宽严相济刑事政策在法律上的一个典型反映。

第三十三条犯罪嫌疑人自被侦查机关第一次讯问或者采取强制措施之日起,有权委托辩护人;在侦查期间,只能委托律师作为辩护人。被告人有权随时委托辩护人。

侦查机关在第一次讯问犯罪嫌疑人或者对犯罪嫌疑人采取强制措施的时候,应当告知犯罪嫌疑人有权委托辩护人。人民检察院自收到移送审查起诉的案件材料之日起三日以内,应当告知犯罪嫌疑人有权委托辩护人。人民法院自受理案件之日起三日以内,应当告知被告人有权委托辩护人。犯罪嫌疑人、被告人在押期间要求委托辩护人的,人民法院、人民检察院和公安机关应当及时转达其要求。

犯罪嫌疑人、被告人在押的,也可以由其监护人、近亲属代为委托辩护人。

辩护人接受犯罪嫌疑人、被告人委托后,应当及时告知办理案件的机关。

第四十六条辩护律师对在执业活动中知悉的委托人的有关情况和信息,有权予以保密。但是,辩护律师在执业活动中知悉委托人或者其他人,准备或者正在实施危害国家安全、公共安全以及严重危害他人人身安全的犯罪的,应当及时告知司法机关。

第七十三条监视居住应当在犯罪嫌疑人、被告人的住处执行;无固定住处的,可以在指定的居所执行。对于涉嫌危害国家安全犯罪、恐怖活动犯罪、特别重大贿赂犯罪,在住处执行可能有碍侦查的,经上一级人民检察院或者公安机关批准,也可以在指定的居所执行。但是,不得在羁押场所、专门的办案场所执行。

指定居所监视居住的,除无法通知的以外,应当在执行监视居住后二十四小时以内,通知被监视居住人的家属。

被监视居住的犯罪嫌疑人、被告人委托辩护人,适用本法第三十三条的规定。

人民检察院对指定居所监视居住的决定和执行是否合法实行监督。

第八十三条 公安机关拘留人的时候,必须出示拘留证。

拘留后,应当立即将被拘留人送看守所羁押,至迟不得超过二十四小时。除无法通知或者涉嫌危害国家安全犯罪、恐怖活动犯罪通知可能有碍侦查的情形以外,应当在拘留后二十四小时以内,通知被拘留人的家属。有碍侦查的情形消失以后,应当立即通知被拘留人的家属。

第六十三条证人因履行作证义务而支出的交通、住宿、就餐等费用,应当给予补助。证人作证的补助列入司法机关业务经费,由同级政府财政予以保障。

有工作单位的证人作证,所在单位不得克扣或者变相克扣其工资、奖金及其他福利待遇。

第一百八十八条经人民法院通知,证人没有正当理由不出庭作证的,人民法院可以强制其到庭,但是被告人的配偶、父母、子女除外。

证人没有正当理由拒绝出庭或者出庭后拒绝作证的,予以训诫,情节严重的,经院长批准,处以十日以下的拘留。被处罚人对拘留决定不服的,可以向上一级人民法院申请复议。复议期间不停止执行。

第二百七十七条下列公诉案件,犯罪嫌疑人、被告人真诚悔罪,通过向被害人赔偿损失、赔礼道歉等方式获得被害人谅解,被害人自愿和解的,双方当事人可以和解:

(一)因民间纠纷引起,涉嫌刑法分则第四章、第五章规定的犯罪案件,可能判处三年有期徒刑以下刑罚的;

(二)除渎职犯罪以外的可能判处七年有期徒刑以下刑罚的过失犯罪案件。

犯罪嫌疑人、被告人在五年以内曾经故意犯罪的,不适用本章规定的程序。

第二百七十五条 犯罪的时候不满十八周岁,被判处五年有期徒刑以下刑罚的,应当对相关犯罪记录予以封存。

虚拟现实室外建筑场景设计 第4篇

1 总体设计

1.1 三维建模思想

本设计是利用虚拟现实技术, 将哈尔滨学院的新图书馆室展现出来。从整体大观来说是属于VRML的室外建筑设计。本设计的地基部分, 也就是将新图书馆建筑物3D模型建立出来。针对新图书馆是一个比较宏伟的建筑, 所以本设计采用了由部分到整体的设计思想, 即我们常说的模块化的思想, 之所以采用这种方法, 是因为VRML中提供了内联的方法, 即先把各个小的部分, 像图书馆的门和窗等, 独立地编写代码, 生成单独的WRL文件, 最后, 在主文件中用inline把这些文件整合起来。这样的设计思想的好处是条理清晰, 设计时不容易出错, 维护起来也比较容易, 需要修改也比较方便, 只需要修改相应的文件即可。可移植性也较好, 如果在其他的场景需要使用这部分的造型的话, 只需要添加一个Transform节点, 里面可以通过使用Inline节点并通过translation和rotation来调整部件的位置即可。在使用inline时, 要注意inline的嵌套层次, 因为嵌套的层次大多时, 浏览器调入图像时, 计算机的计算量会增加, 从而导致计算机性能的下降, 那样就会占用过多的系统资源。运行的画面就会不流畅。下面将对新图书馆采用模块化的思想进行设计, 主要把新图书馆分成了前半建筑和后半建筑两部分, 再对这两部分进行更加具体的划分。

1.2 总体结构设计

根据大楼的建筑特点, 我们可以从大楼的不同建筑面把整座楼划分为5个部分, 分别如图1:

1.3 虚拟场景模型设计步骤

虚拟场景模型设计步骤应遵循等比例原则, 为了比较真实的反映整座大楼的风貌, 可以通过三个方面来表现这个虚拟境界:

(1) 规定好整个模型的比例。定义好各对象的整体比例参数是关乎到整个模型最终能否完好整合在一起的一个关键的部分。因此, 在制作前就应该对整座大楼各个部分的大小, 比例等参数作一个详细的测量。

(2) 对整个模型划分好不同的模块。这是模块化设计思想的体现。对整个模型划分好不同的模块, 可以根据大楼的结构来划分, 这样更方便于对整体比例的掌握, 也大大地方便了程序的设计, 修改和调试。“面向对象”和“模块化”的编程思想也是VRML语言方便程序设计的一个重要的方面。

(3) 添加环境细节, 例如:四周的路面, 草地, 楼梯, 声效等等……技术手段辅助性地反映这个大楼四周一个特定的环境。

运动实体仿真的实现也必须通过运动环境的建立、运动实休的建模、运动方程的构造及运动控制几个步骤来完成如图2。

2 详细设计

2.1 复杂的图形的制作:

世界并非那么简单地由圆形、方形、圆锥形、圆柱形组成的。虚拟现实语言VRML要实现的是对所有能见到的物体进行模拟。比如一个简单的正四面体, 利用之前的简单造型就很难做得出来。本场景在设计中就遇到了不少这种情况。

对于这些复杂的几何造型, VRML语言主要是通过在空间利用点来构造几何体。虽然利用空间点造型为设计一些不规则的图形的实现提供了一种很好的途径, 但对与一些很复杂的三维图型, 单是计算各空间点坐标就已经是一件相当复杂, 相当麻烦的事情, 当涉及很多点时, 就很容易因为一点失误而造成出错。而且该错误也很难查出。

要制作这些复杂的图型利用3Dmax来制作则会容易很多。利用3Dmax可以制作各种更复杂的图形, 再导出为VRML的格式。其强大的3D设计功能, 和友好的设计界面, 为制作这种立体模型变得更简易。但是, 在利用3D max制作并导出复杂图形时, 必须注意的是导出图形的应用比例和坐标原点的实际位置。因为这又是关乎导出图形的与其他场景设计能否完整整合一个中要要点。

2.2 坐标转换

从上面的论述可以看到, 整个模型的建造的重点与难点很大程度上都在于各造型的空间大小和它在整个空间中的位置 (也就是常说的坐标) 。在整个过程中我们不断地强调的一点就是要规划好各立体造型的大小、比例、坐标, 因为这几个参数是整个建模的关键, 也是整个建模工作中任务最重的一点。在一个立体空间建模, 需要我们具有一个良好的空间坐标意识, 特别是对于一些坐标变换, 旋转, 缩放等等, 可以说坐标系是VRML场景创建的一个很重要的依据。

为了程序设计的方便, 在对每个模块建模前, 我们都要预先确定好原始坐标的中心原点的所在位置。这是因为原始坐标的中心原点位置是整个建模过程中, 各图形位置的依据。本人比较喜欢把中心原点设置在模形构造的靠中心的位置。其选取的重要原则是方便各位置的计算。

对于原始坐标的方向可以用右手规则来确定:将大拇指和食指分成90度, 中指垂直于拇指与食指构成的平面, 则大拇指所指示的方向是X轴方向, 食指指的是Y轴的方向, 中指指示是Z轴的方向。

在坐标系变换中, 较难掌握的要算是坐标系的旋转。在此介绍一比较简单的旋转右手规则:在旋转轴确定后, 可以用右手握住旋转轴, 拇指指向轴的正方向。如果旋转角度为正, 则旋转方向为其余四个指头所指的方向:如果旋转角度为负, 则旋转方向为四个指头的反方向。坐标轴的旋转很多时候会带来不同的整合问题。

2.3 材质、色彩、纹理的设置

仅通过立体构型, 只能构建出物体抽象的几何模型。一个优秀的虚拟场景除了准确的比例, 良好的三维几何模型构造外, 表面的颜色、光滑度和反光度是形成物体材质的重要的因素, 使人们能区分出金属、玻璃、石块的质地。VRML中通常指定物体外观特征的是Material节点和纹理节点 (ImageTexture图象纹理、MovieTexture影片纹理和PixelTexture像素纹理) 。VRML中的材质设置中, 可以改变物体的颜色, 透明度、反光度等的属性, 从而模仿不同的物体的效果, 如透明的玻璃, 不同颜色的墙壁, 发光的灯泡等等。这些均在Appearance节点的Material节点中设置。

如何使构造的几何模型具有真实的材质纹理关乎到整个场景真实与否的重要衡量因数。因此, 如何获得相关的参数值显得尤其的重要。其中一个最方便有效的途径就是从书本上获得, 但毕竟这方式可获得的参数少之又少, 一个途径是参照别人的作品中获得, 这种方式下必须知道其代码的数据设置, 另外一个途径就是自己调试, 这种方式获得数据一般都要经过多番的尝试。

2.4 模块调试与整合

当各模块的模型都创造完后, 这一步就是把各模块整合到一起, 从整体效果上的一种测试。这一步好比软件设计中的最后的系统测试。目的是要把各模型整合到一起, 从总体上测试各模块的设计是否能够完全地结合在一起, 并找出各模块不足的地方并加以修改。

2.5最终效果 (见图3)

摘要:本文结合了VRML的功能, 具体分析了基于VRML的三维交互式虚拟场景设计的关键技术, 并以使用VRML创建室外建筑 (图书馆) 虚拟场景为例, 详细叙述了开发三维交互式虚拟场景的整体设计过程, 并突出创建过程中每一个重点与难点。它是VRML在虚拟建筑设计方面的一个典型的应用。

关键词:虚拟现实,虚拟场景,室外建筑

参考文献

[1]张金钊, 张金锐, 张金镝《虚拟现实与游戏设计》北京:冶金工业出版社, 2007, 6.

[2]张金钊, 张金锐, 张金镝《X3D三维立体动画与游戏设计》北京:电子工业出版社, 2008, 1.

[3]张金钊, 张金锐, 张金镝《X3D三维立体网页设计》北京:水利水电出版社, 2009, 6.

交互式虚拟校园场景设计过程 第5篇

桌面虚拟现实系统使用个人计算机和低级工作站实现仿真, 计算机的屏幕作为参与者观察虚拟环境的一个窗口[1], 通过外部输入设备与虚拟现实场景及场景中的各种物体进行交互, 是视觉和听觉上的模拟仿真。虚拟场景设计主要用于商品的展示、小区展示、模拟演示等领域, 与传统的图片和视频展示相对比, 具有更逼真的效果和更强的交互性, 它可以让用户对商品进行三维六度的浏览, 可以让用户在小区内自由行走, 可以模仿演示现实场景。

VRML, 虚拟现实建模语言 (Virtual Reality Modeling Language) , 是一种与互联网结合, 用来编写三维交互式网页的程序语言[2], 用户只需要在IE上完装VRML浏览插件即可浏览VRML文件, VRML浏览插件如Cosmo Player等, VRML可以使用文本文档进行编辑, 也可以使用专用的编辑器, 如VRML Pad。在VRML虚拟校园场景中用户可以通过鼠标和键盘来实现行走、触碰、点击、三维六度视角等方式的交互, 无需购置其他虚拟交互设备, 目前主流的个人计算机能够满足设计要求。

2、设计思路

本文以虚拟校园场景设计为例, 阐述虚拟校园设计的思路。虚拟校园场景的设计可以借鉴现实校园建设思路进行开发, 主要思路有:数据收集、平面图绘制、虚拟场景建模、虚拟场景组建、虚拟场景交互。

3、实现方案

3.1 数据收集

数据的收集作为本设计的前期工作, 有着极其重要的决定作用, 它能确保往后环节设计的精确度, 保证虚拟校园环境的仿真效果。这一环节需要完成实地考察、数据采集、数据分析、整体规划四个步骤。

(1) 实地考察

了解校园的每个角落, 包括校园的各个楼群、校门、校道、花草树木等。这一阶段可以进行照片收集, 以减少在建模阶段重复本步骤。

(2) 数据采集

实地考察后, 下一步收集校园每个角落的数据信息, 收集的数据应包括方位、尺寸、特征、相关资料。其中, 特征是对所收集对象的其他信息描述, 如"教学楼前左右各有5棵松树";相关资料是在实地考察步骤所采集的照片依据, 便于在建模环节参考, 避免重复实地考察的步骤。

(3) 数据分析

根据所收集的数据进行分析, 减少数据重复, 对可以复用的数据进行标明, 保证数据最大限度的简洁。

(4) 整体规划

结合校园实际, 对校园虚拟校园环境进行整体规划, 划分功能区域, 如教学区、生活区、活动区等, 并附上相关的数据, 使于在建模环节的设计需要。

3.2 平面图绘制

数据收集是虚拟校园设计的数据支持, 平面图的绘制的虚拟校园设计的蓝本, 涉及到建模环节的比例规范和场景组建环节的模型定位, 影响整个虚拟场景的仿真程度。AutoCAD是计算机辅助设计中必不可以的设计软件, 利用AutoCAD绘制平面图能保证尺寸比例的最佳效果。

3.3 虚拟场景建模

虚拟场景建模是整个设计中关键的环节, 模型的比例直接影响到虚拟场景的仿真程度。在建模的过程中, 必需严格按照所提供的数据进行设计, 以保证所建立模型的合理比例。3ds MAX是一款优秀的三维造型设计软件, 它提供的基本体建模、复合建模、网络建模、面片建模、多边形建模和NURBS建模等建模方法, 能够满足建模的需要;另外提供的材质贴图、灯光效果、摄像头等效果, 能够保证场景的仿真性。

这一环节需要完成校园地势基座、主要建筑群体 (如校门、教学楼、实训楼、办公楼、活动中心、宿舍、食堂等) 、校园装饰物 (结构简单的模型也可以使用VRML进行建模) 。最后, 需要把每一个模型文件导出成.wrl格式文件, 以便于下一环节的场景组建。

3.4 虚拟场景组建

VRML是以节点式管理的建模语言, 每个.wrl文件代码结构如图1所示。主编组节点是整个文件节点的根, 它可以包含一个或多个成员节点, 成员节点的坐标、角度、缩放等属性可以通过域节点进行设置。成员节点用Transform节点进行坐标系变换, 用Inline节点内联和复用外部.wrl文件。以组建"教学楼.wrl"文件为例, 成员节点的VRML代码如下所示:

整个虚拟校园场景可以看成由一个主编组节点和多个成员节点组成, 代码的结构示意图如图2所示。

3.5 虚拟场景交互

在安装VRML浏览插件的浏览器中打开.wrl文件, 浏览器提供对应的操作按钮便于用户的操作, 用户可以通过选择对应的浏览模式在虚拟场景中自由走动。为了使用用户在场景中能有更多的交互和提高场景浏览的便捷性, 需要在虚拟场景中添加功能节点, 实现如场景间的跳转、路牌展示、浏览者基本信息、场景视觉角度的变换、场景中对象的添加删除等功能。

(1) 链接物节点

在HTML中, 网页文件间利用超级链接进行页面间的跳转, 与HTML网页类似, VRML文件间的跳转则可以利用链接物节点 (Anchor节点, 又称锚节点) 。网页文件跳转到VRML文件则可以使用A标记来实现:<a href="VRML文件名">链接文字。用大规模虚拟场景, 可以根据建筑群的功能进行小区划分, 每个小区组建成一个场景文件, 在对应的路口添加上链接物节点, 方便用户浏览。

(2) 朝向节点

在Billboard节点中设定旋转轴, 能保证对象能始终以正面面对用户, 在场景中用来设定路牌, 为用户指明方向。

(3) 浏览者信息节点

在场景中利用NavigationInfo浏览者信息节点为用户设定如体宽、身高、步高等信息, 使用户在虚拟场景中有一定的实体感。

(4) 视点变换

Viewpoint节点能实现视点变换功能, 让用户更快捷地通过不同的角度在场景中进行浏览。

(5) 利用EAI实现交互

VRML在虚拟场景实现交互有两种方法, SAI和EAI。SAI (Script Authoring Interface) 是节点创建接口, 通过创建Script节点并编写相应的脚本文件可以实现场景内部的控制。EAI (External Authoring Interface) 是VRML与JAVA进行消息传递的接口, 通过EAI可以实现Java-applet与VRML的通信, EAI可以实现虚拟校园场景和外部程序的交互。EAI在VRML的事件模型的基础上, 实现了三种类型的VRML场景的访问: (1) 访问VRML场景的节点。 (2) 发送eventIn事件给场景中的某一节点。 (3) 读取场景中某一节点的eventOut事件。利用EIA能够在虚拟场景中很灵活地实现视点变换、对象的添加与删除、信息查询等功能。

4、结语

本文在原有的虚拟校园设计思路上进行改进, 增强虚拟校园设计的交互性。虚拟校园场景是虚拟场景设计中最为广泛应用的, 它是学校在网络上向外界展示趋于真实的校园环境最为方便的窗口, 也能为商品虚拟展示平台、虚拟小区、虚拟实验室提供参考。

摘要:虚拟场景是利用计算机多媒体技术和虚拟现实建模语言 (Virtual Reality Modeling Lan-guage) 通过模拟现实场景而虚拟出来的三维仿真场景, 是桌面虚拟现实系统最典型的应用, 具有开发周期短、成本低、实用性强等特点, 主要用于商品虚拟展示平台、虚拟小区、虚拟实验室等领域。本文主要以交互式虚拟校园场景的设计为例, 介绍虚拟场景设计的完整过程。

关键词:虚拟场景,AutoCAD,3ds Max,VRML,EAI

参考文献

[1]虚拟现实技术.曾芬芳著.上海交通大学出版社.1997

[2]VRML虚拟现实网页设计.汪志达, 叶伟著.清华大学出版社.2006

基于VR的虚拟场景生成算法研究 第6篇

1.1 科学计算可视化技术

科学计算可视化, 后来被简称为“ 科学可视化” 、“ 可视化”。科学计算可视化通过借助计算机的图形图像处理能力, 将科学计算的结果以非常直观的图形或图像输出, 而不是单纯的、大量的数字输出, 即实现了将计算中涉及与产生的数学信息转变为以图形或图像表示的物理现象后, 呈现在研究者面前, 使研究者能够一目了然地获得被研究现象的变化规律及分布情况, 从而使人们不需要再对计算输出的大量数据进行抽象分析, 进而摆脱了这种费时而繁琐的过程, 缩短科学研究周期的同时, 提高了研究的效率。

1.2 虚拟现实技术

VISC的3个应用之中, 虚拟现实 (Virtual Reality) 是其中之一, 近几年更是得到了迅猛的发展。虚拟现实是综合利用计算机系统和各种特殊软、硬件来产生一种可以替代现实世界的仿真环境, 这个环境对用户感官角度来说是真实和可信的”。虚拟现实具有沉浸性、实时性和交互性等特点, 所以一经提出便在制造业中得到了广泛应用。虚拟现实能实现交互式的视景仿真和信息交流, 是一种先进的数字化人机接口技术。

虚拟现实具有超越现实的虚拟性, 与网络、多媒体技术并称为21世纪最有应用前景的3大技术, 它正在改变和影响着我们的生活。目前在此领域应用最广泛的是SGI、SUN等生产厂商生产的专用工作站。图像显示设备是用于产生立体视觉效果的关键外设, 目前常见的产品包括光阀眼镜、三维投影仪和头盔显示器等。其他外设主要用于实现与虚拟现实的交互功能, 包括数据手套、三维鼠标、运动跟踪器、力反馈装置、语音识别与合成系统等等。

根据用户参与形式和沉浸的程度不同可以把各种类型的虚拟现实技术划分为4种类型:桌面虚拟现实系统、沉浸虚拟现实系统、增强虚拟现实系统、分布式虚拟现实系统。

本文开发的就是一个桌面虚拟现实系统。主要是利用个人计算机和低级工作站进行仿真, 将计算机的屏幕作为用户观察虚拟境界的一个窗口, 通过各种输入设备 (主要是鼠标) 实现与虚拟现实世界的充分交互。桌面虚拟现实系统的参与者缺少完全的沉浸, 但是成本相对较低, 因而, 应用比较广泛。

1.3 虚拟视景构建技术

虚拟视景的建立是虚拟现实技术的核心内容。它是产生沉浸感和真实感的条件:场景太简单, 会使用户觉得虚假;而复杂逼真的场景又势必会增加难度, 并降低绘制的速度, 影响实时性。目前围绕虚拟视景构建问题的方式主要有3种:基于计算机图形学的三维几何模型建模与绘制, 又叫做基于图形的建模与绘制, 是传统的虚拟视景构建技术;高级建模技术、基于图像的建模与绘制技术及基于图像的绘制技术。

根据以上对虚拟视景生成主要方法的介绍, 图1显示了GBMR, IBMR和IBR等技术的实现方法及与涉及的相关学科的关系。

2 地形生成原理及方法

2.1 地形可视化建模的原理

在自然景物中, 地形是自然界中最为复杂的景物之一, 三维地形的模拟同时也是可视化系统中最基本也是最重要的技术之一。目前, 常见的地形可视化有两种类型:一种是将地学图形数据进行精确的描述, 来完成真实地形的仿真;第二种是模拟自然场景中的真实地形, 常用于具有真实自然视觉效果的虚拟环境中。

在地形可视化建模方面大致可以分为如下3类:数据拟合生成三维地形、利用分形技术生成三维地形和基于数字地形模型的地形可视化。

本文提出了一种动态地形的仿真生成方法, 这种方法首先利用了层次细节简化思想和分形理论的原理, 通过静态拼嵌高度场数组, 进而生成静态地形, 生成的地形逼真程度很高。最后根据实际的虚拟场景的需要, 分别测试了不同的迭代次数及有关参数产生的效果, 生成了一个简单的、具有动态特性的、三维的真实感地形模型。

2.2 细节层次模型思想

细节层次模型思想是指, 对虚拟场景中的各种物体分别使用具有不同细节的描述方法, 得到同一物体的一组模型, 在绘制时可以选择性地使用。在满足了基本的画面视觉效果的前提下, 层次细节简化技术主要是不断地去简化景物的表面细节, 从而达到减少场景的几何复杂性的目标, 进而提高绘制算法的效率。此技术对原多面体模型建立几个逼近精度不同的几何模型, 相对于原模型, 每个模型的细节, 都保持了不同的层次。从附近观察该对象时, 我们通常的做法是利用精细模型, 而当从远处观察该对象时, 采用的模型就是粗糙模型。

近年来, 提出了几种多边形网格简化算法, 其目的是将一个多边形网格表示的模型使用一个近似模型。该模型除了具有原模型的可视特征外, 主要特点是顶点数量比原始网格的顶点数目要少。通常的做法是, 一些 (顶点、边和三角形) 这些不重要的图元, 都被从多边形网格中去除掉了。

3 分形地形的实现

3.1 自然景物模拟方法

对于使用计算机来进行模拟自然景物而得出相应的模型, 已经成为计算机图形学中的一个重要应用。这一系列的模型丰富多彩, 对应于自然中千变万化的景物, 如生长模型、粒子模型、分形模型都是应用于此。

用于自然景观的建模方法通常可分为3种:具有规则景观外形的建模;基于自然景观特征的建模;具有非规则景观外形的建模。

3.2 分形的地形模型

自然界中很多现象都无关, 根本无标度特性, 来源是自相似。阿Mandelbrot分形表面的主要特征是其自相似性和平稳递增。自然地形是物理作用在不同的空间尺度, 最终结果复杂的系统, 所以它很可能是一个典型的分形表面。

3.3 基于分形的地形模型

自然界里许多现象都具有自相似的特征。Mandelbrot指出一个分形曲面的主要特征是其自相似性和平稳递增。自然地形很有可能是一个典型的分形曲面。在Berry和Hannayca建立的地形描述模型中, 就给出了著名的变异差 (variograms) 函数

E[X (x) -X (x+d) ]2=k (|d|) 2H (1)

及有关地形剖面的功率谱密度:

undefined

以上两式中, X (x) 为地形高程, E[]为统计期望, H为描述地形变化的统计参数。式 (1) 和 (2) 已在地学领域得到了广泛的应用, 是一个经典模型, 主要应用于表示地形模型。

基于此原理, 分形地形建模大致可分为为泊松阶跃法、逆Fourier变换法、中点位移法、逐次随机增加法和带限噪声累积法等几类。

4 中点位移法 (midpoint displacement)

1920年, Wiener就提出了运用递归中点技术来完成地形的构建。在此基础上, 后来提出了一系列利用递归点细分技术实现计算机地形的模拟, 此种方法就是中点位移法。

中点位移法的基本原理是基于Λx方差幂律关系:

undefined

式中X (t) 是满足高斯分布N (0, σ2) 的随机变量。中点位移通过对线段中点处的高程进行位移, 然后将分割的线段再细分出中点, 并进行进一步的位移, 以此过程递归进行, 直到满足一定的空间分辨率。

中点位移法是标准的分形几何法, 可用作快速地景生成, 并产生了真正的分形地表.它的高速度以及具有为已有形状增加细节的能力, 使其成为一个有用的面向应用的分形算法。

二维分形地形模型可以由最简单的一维随机分形曲线推广得到, 因此首先要了解一维随机分形曲线的构造模型。

假定给定的初始线段的两端点分别为Pi和Pi+1, 通过随机扰动该线段的中点来完成一次迭代, 其迭代的公式为:

undefined

其中roughness用于控制当前层次的扰动量, 它可以决定每次循环中随机数值域的减少量, 这意味着它决定了分形结果的粗糙程度, 用公式可以表示为:

undefined

依据表面构网方式的不同, 其模拟可分为三角形细分法、方形细分法、菱形-方形法等方法, 其实现思想与一维类似。

4.1 Diamond-Square算法

基于分形技术的地形生成仿真主要是利用了分形的自相似原理, 用递归算法使复杂的大块地形可用简单的小块特征地形经过一定的规则来生成。用分形法进行自然景物建模能有效地表达自然界中许多非线性现象, 也是迄今为止能够描述真实地形的最好的随机过程。一般用于非真实感地形的模拟。

Diamond-Square算法最初是由Fourniew、Fussell和Carpenter提出的, 又称“钻石-四边形”算法。该算法的思想是:从一个很大的空的2D数组开始, 维数为2n+1 (如33*33、65*65、129*129) 等。将四个角设置为相同高度。如果查看所得到的空间, 是一个正方形。

递归细分过程可分两步:①diamond步:取4个点的正方形ABCD, 在正方形的中点生成一个随机值M, 中点M即为正方形的两对角线的交点。中点高程 (属性) 值由4个点的高程 (属性) 的平均值再加上一个随机位移量计算得出。这样就得到了一个棱形 (非常像一颗钻石) 网格。如图2 (b) 中, 新值显示为黑色, 已经存在的点显示成白色;②square步:取每个4点形成的棱形, 在棱形的中心又生成一个随机位移值。平均角点高程 (或属性) 值再加上与diamond步相同的随机量, 计算出每条边中点值。这样又得到一个正方形格网 (如其中的AEFM) 。如图2 (c) , 其中黑色显示新值, 现有值为白色。再重复diamond步 (如图2 (d) ) 和square步 (如图2 (e) ) n=2次, 直到得到整个 (22+1) (22+1) 网格, 即5×5网格。

4.2 纹理图生成及生成结果

通过在平面上划分正方形网格, 随机给出4个角点的颜色;然后根据4个角点的颜色的平均值, 产生中点M的颜色;根据A、B、M点和网格外一虚拟点取平均, 得到边中点E的颜色, 根据B、C、M点和网格外一虚拟点取平均, 得到边中点F的颜色, 同理取得G、H的颜色;根据小正方形BEMF四角点颜色的平均, 取得小正方形中点以及边中点的颜色;以此类推;再通过递归, 使正方形网格不断细化, 直到达到预期的递归深度。根据以上的Diamond-Square算法也可以生成地形纹理图。经过人工着色之后, 山峰为白色, 山谷为绿色, 两者之间为灰色。

摘要:虚拟现实技术 (VR) 一直是信息领域研究、开发和应用的热点方向之一。地形是自然界最复杂的景物之一。分形地形的生成是三维自然景物模拟的重要组成视景之一。从三维地形的生成方法入手, 重点介绍了基于分形技术的三维地形的模拟生成相关技术.在地形模型的建立过程中, 利用了分形地形建模方法中的中点位移法中的菱形-方形法, 实现了分形地形模拟。上述方法取得了预期的效果, 基本符合工程的要求。

关键词:可视化,虚拟现实,分形地形,中点位移法

参考文献

[1]唐卫清, 刘慎权, 余盛明, 等.科学计算可视化[J].软件世界, 1996 (5) .

[2]童若锋, 陈凌钧.烟雾的快速模拟[J].软件学报, 1999 (6) .

[3]DURNAD F.A multidisciplinary survey of visibility[C].ACMSIGGRAPH Coursenotes on Visibility, 2000.

[4]ZHANG H S, MANOCHA D, HUDSON T, et al.Visibility CullingUsing Hierarchical Occlusion Maps[C].In:Proceedings of ACMSIGGRAPH 1997 Los Angeles, USA, 1997 (3) .

[5]张芹, 谢隽毅, 吴惠中, 等.火焰、烟、云等不规则物体的建摸方法研究综述[J].中国图像图形学报, 2000 (3) .

[6]COHEN J, VARSHNEY A, MANOCHA D, et al.SimplificationEnvelops[C].In:Proceedings of ACM SIGGRAPH 1996, New Or-leans, USA, 1996.

虚拟现实场景中三维建模技术研究 第7篇

虚拟现实技术是指利用计算机模拟现实世界,为用户提供身临其境的视觉、听觉和触觉感官模拟技术,因其具有感知性、沉浸性、交互性和构想性的特点[1],近年发展迅速,如今已被广泛应用于建筑项目的视景演示,城市规划,文物保护,飞行和驾驶训练模拟,军事武器研发、试验,虚拟动漫游戏,远程教育以及医学手术等领域[2]。

基于实景的三维场景建模技术是虚拟现实研究的基础,是国内外虚拟现实研究领域的研究热点。美国北卡罗来那大学(UNC)计算机系在分子建模、航空驾驶、外科手术仿真有国际领先成果[3]。日本在基于虚拟现实的游戏方面处于领先地位[4]。和国外相比,国内在虚拟现实技术方面的研究起步较晚,不过近年来,已经取得了一定的成绩,比如浙江大学CAD&CG国家重点实验室研究开发的桌面型“虚拟故宫”实时漫游系统[5];北京新奥特成功开发了虚拟演播室系统等项目[6]均是虚拟现实技术在国内的应用实例。

二、虚拟现实三维建模的主要内容

随着计算机网络技术的飞速发展,虚拟现实技术的应用越来越广泛,作为其技术基础的虚拟三维空间场景的建模,越来越多的受到人们的关注和重视。

本文以校园场景为建模对象来加以讨论。首先,对校园内各个场景进行数字化处理,结合数字化处理结果,利用3Dmax技术进行建模和贴图处理,然后借助于Virtools平台进行模型和贴图信息的整合处理,从而形成虚拟场景。

三、虚拟现实三维场景建模方法及流程

本文以校园场景为例着重讨论三维场景的建模过程,结合校园场景的地形和建筑特点,将三维模型结构划分为三大部分,如图1所示。

根据图1的划分,将校园场景的三维模型转化为对图1中三大结构的三维建模,从而对这三大结构的三维场景建模方法及流程进行讨论。

1、数据采集

数据采集是虚拟现实场景建模中的重要环节之一,同时也是一项任务量十分繁重的工作。数据采集的结果将直接影响虚拟三维场景模型的逼真度和沉浸感[9],如何进行数据采集能最大限度的保证建模的逼真度是本文研究的重要问题之一。本文结合图1中的模型结构,针对每部分模型的特点,采用不同的方法对各部分模型结构分类进行数据采集。

(1)建筑物模型

教学楼、宿舍楼等这类建筑物是校园场景中的主体,这些主体对象建模质量的好坏关系到整个虚拟现实系统的好坏,如何更真实更逼真的反应这些主体对象,是整个系统建模的关键之处,因此,对这些对象建模时,需要掌握较为准确的尺寸信息,包括各个建筑物自身的比例以及相互之间的比例情况,那么,这些场景对象的数据采集主要是来自学校施工单位提供的建筑图纸并辅以人工测量的数据,这样最大限度的保证建筑模型在框架和结构上和实景有相似的比例,最大限度的为后面的建模的逼真度提供保障。

(2)不规则物模型

树木、草坪这类不规则的物体虽然不是校园的主体,但是正是因为有了这些不规则物,才能更真实的呈现和校园地形环境相符合的特点,同时也更近一步提高了校园场景主体的虚拟逼真度,因此,对这类不规则物的数据采集采用的是近距离的拍摄,通过拍摄来获取二维图片,从而进行的数据采集。

(3)远景模型

在虚拟现实系统中,离开了远景会显得不够真实和逼真,因此,远景模型的建设也必不可少。由于远景离主体距离较远,在建模时对尺寸的要求不高,比如天空和山脉,作为场景的一部分出现在虚拟现实系统中时,对其尺寸的精确度要求不高,只需要呈现一种视觉上的协调效果,因此,对远景数据的获取相对容易。

对于不同类型的模型采用不同的数据采集方法,大大提高了数据采集的效率,节省了数据采集的时间,同时也兼顾了虚拟现实系统建模的逼真性要求。

2、纹理处理

纹理处理是场境建模中的另一个重要环节,纹理处理的效果也会直接影响场景模型的逼真度。本文结合图1中的模型结构图,引入纹理处理的技术,分类对模型采用不同的纹理处理方式。

(1)建筑物的纹理处理

学校的教学楼、宿舍和食堂这类建筑物的表面不是一个简单的形状,为了让虚拟现实场景中的这类建筑物模型看起来更加逼真,需要通过纹理映射的方式来实现这些建筑物表面诸如房屋结构、门窗等这些模型,同时还要调节纹理光线的明暗度,对纹理进行拼接和钝化处理等。

(2)不规则物的纹理处理

校园中的树木、草坪、路灯等这些不规则物体是够成虚拟校园场景的必要组成部分,这些不规则物体的逼真度也很大程度上反映出虚拟校园三维场景的逼真度。由于不规则物的数据获取主要来源于相机拍摄的图片,因此在拍摄照片时应尽可能多的获取场景信息,然后使用专业软件,比如phtoshop软件,对纹理的亮度、对比度、色调和密度等进行统一编辑和处理。

另外,在对不规则物体的纹理处理中采用了拼接技术,大大简化了处理的难度,提高了工作效率。比如使用纹理拼接技术在处理草坪时,使用用几种草坪的小纹理模型就可以映射出一片草坪模型。

(3)远景模型的纹理处理

本文中涉及到的远景模型最典型的是天空,其特点是与视点的距离远,在模型中重在体现视觉效果。对天空的处理,可以采用纹理变换的方法实现动态移动的云彩效果,增加视觉上的动感和沉浸感。

将不同的纹理处理方法分类应用于不同类型的模型结构中,提高了建模的效率,增强了建模的效果。

四、结论

浅析虚拟场景漫游系统的应用与制作 第8篇

关键词:漫游动画,三维场景,虚拟现实

一、虚拟场景漫游系统应用现状

多媒体数字技术正在被更多地应用在场景、物品、教学演示等活动当中。多媒体导视系统相对传统指示牌等形式, 具有方便快捷、指示清晰、信息量大等特点, 近年来, 大量场馆、建筑采用多媒体导视系统, 以此来介绍场地布局等基本情况。通过对场景、建筑进行全面了解, 将文化、主体融入到多媒体导视系统, 更为生动准确地进行场景演示。导向设计以及导视系统设计相关的理论研究能够为场景导视设计提供理论指导, 解决导视系统完整性的问题。分析多媒体导视系统的策略和方法, 促进长远发展, 并向众多场馆、建筑发展提供参考和借鉴。

二、虚拟场景漫游系统具体呈现方式

虚拟现实技术, 在可操控性和代入感方面具有不可比拟优势, 全面掌握虚拟现实所表现的空间情况, 熟练掌握虚拟现实的制作手段, 这才能够制作出操作简便、容易上手、更为细腻的虚拟现实场景。在制作当中, 除了对场景的构建要细致、生动, 还应当借助人体工程学、力学等原理, 让虚拟现实当中的主管操作更为真实。

虚拟场景在导视系统当中主要是以三维场景制作和虚拟现实制作两种方式呈现。

1. 三维场景制作。三维数字场景相对虚拟现实的优势在于, 受众可以更为全面地获取信息。在场景、物品展示方面, 更适合用三维数字场景进行演示。三维数字场景在可操作性和趣味性方面不及虚拟现实, 这就要求在构建三位数字场景的过程中, 要对场景的呈现方面下大功夫, 尽量让画质更细腻, 也要注意融入更多的文化元素, 提升场景品质。

2. 虚拟现实交互技术。交互技术是虚拟场景演示系统当中的重要一环, 直接影响到演示系统的操作性和真实性。在交互技术的运用当中, 更多地考虑物品材质、力学原理、操控感、反馈方式等方面因素, 对于交互式演示系统来说是相当重要的。虚拟场景及交互式演示系统具有操作简便、主观性强、趣味性强、信息量大等特点, 将在更多的领域得以普及应用, 具有广阔的发展空间。如何将虚拟场景更为简便快捷地融入到生活当中, 这就需要摸索出一整套行业标准, 摒弃无谓的软件应用和模型制作, 更高效率地把虚拟场景构建出来, 并通过人机、语言、体感等交互方式, 通过显示系统呈现出来, 这是亟待解决的问题。

三、虚拟场景漫游系统制作

虚拟漫游系统是利用现代三维可视化信息技术, 将环境做全方位的虚拟再现。在3DS MAX中制作模型及动画, 在虚拟现实软件中进行虚拟现实整合, 最后生成可独立运行, 内容又相互关联校园导视系统。

虚拟漫游系统由建模和漫游引擎两部分组成。

建造形象逼真的三维虚拟场景是整个漫游系统的基础。三维场景的真实感不仅取决于虚拟建筑的各部分是否按照真实的几何尺寸数据构建, 还取决于虚拟建筑的材质、色调、光照等多方面效果在整体上是否与真实场景近似。同时, 还要考虑最终的系统运行平台对复杂场景的支持限度, 不能过于追求建筑细节的完整表现。

虚拟场景 第9篇

关键词:虚拟城市虚拟GIS三维建模AutoCAD VBA

中图分类号:TP39文献标识码:A文章编号:1007-3973(2011)005-048-03

1.前言

目前,虚拟城市景观的构建主要以综合运用OpenGL、3D MAX、VRML以及其他虚拟现实建模软件(如MultigenCreator等)来实现。然而,当前虚拟城市开发项目中仍存在很多不足,比如当前虚拟城市建模工作量相对庞大,场景建立程序繁琐,系统运行效率较低,人工对海量数据处理难度较大。

针对以上不足,本文提出了一种简便、快速的虚拟城市建立方案。该方案以AutoCAD VBA、VRML建模语言及数据库技术为主要手段,结合其他建模软件,自动完成地形图数据读取、三维模型建立、纹理映射、场景集成及渲染等工作,并通过WEB技术进行网络发布,实现基本GIS功能。下面将对该方案做具体阐述。

2.虚拟城市三维场景快速构建

2.1数据准备与处理

2.1.1数据准备

虚拟城市的建立需要大量的数据资料做基础。虚拟城市景观信息主要包括建筑物及其附属设施、交通及其附属设施(铁路、道路、交通指示牌、桥梁、候车亭、收费站等)、公用设施(电力线、通讯线、路灯、邮箱、加油站、垃圾桶、旗杆、标志牌等;景观及游乐设施(雕塑、缩微景观、游乐场)、植被及绿化带(树木、草地、花丛)、水系(河流、湖泊、水库等)。将所得实体的描述性信息相关数据按分类进行编码,并将实体主要属性标记为唯一标识码,方便查询和识别,以SQL为平台,建立城市景观信息数据库。

2.1.2数据处理

由于AutoCAD只能存储图形数据,或存储少量的非图形信息,在数据采集中,注意将图形数据与非图形数据分开,并对图形数据进行分层处理。为方便建模,图层可分为;底板、建筑、建筑物附属、道路、道路附属、水系、植被、行人、汽车等。每个图层采用不同的線型和符号表示不同类型的地物。底板、建筑、建筑物附属、道路等为线型对象,主体图形为闭合多段线,属性标高为实体高度;道路附属、植被等为点对象,通过其颜色表示其种类;行人、汽车等地形图中没有的地物,需要人工绘制点对象。下图为示例CAD地形图:

2.2纹理库的建立

2.2.1纹理数据的获取和处理

纹理数据获取主要有两种方法。对于精度要求较高的模型纹理主要通过实地拍摄获取,数据量较大,处理难度较高,但纹理真实感较强。对于一般材质贴图纹理可利用3D Max等软件进行计算机合成,减小数据量,提高运行速度。但是,在图像的实际采集过程中,由于空间地理位置、视角原因、大气环境等的限制和影响,无法得到目标的正摄影像,因此要对所得纹理进行处理。图形处理操作主要包括,对图像扭曲变形的处理、去除遮挡物与影像增强、图像透明化处理以及图像数据量的缩减等。

2.2.2纹理编码与纹理信息入库

为了实现建模自动化,要将处理后的数字图像纹理进行统一编码并建立纹理入库,并通过相关信息与对应的模型进行关联。地物在AutoCAD文件中以几何体形式表示,软件可以提供几何体的图形文件以及相关的附属信息。在AutoCAD中,模型的几何实体句柄是唯一确定的,可据此完成图形信息与纹理信息及相关非图形数据的链接。

2.3自动三维建模

考虑到城市景观模型的精确度和所得虚拟场景的网络传输性,采用VRML语言进行虚拟城市的构建。然而,单纯依靠VRML文本编辑器进行编写工作量巨大,因此可采用VBA链接数据库,读取AutoCAD图形数据,自动完成三维建模,并转换成VRML文件,提高虚拟城市建模的工作效率。下面具体介绍几种主要地物的建模方法:

2.3.1地形地貌建模方法

现实的城市建设往往建立在复杂的地形之上,为真实展现虚拟城市场景,应首先建立地形地貌模型。首先,利用VBA编写代码,读取相应地形图数据,在3DMax中导入地形图,进行地貌模型建立。如图2为读取的AutoCAD地形图,图3为建模之后效果图。

2.3.2实体地物建模方法

城市景观中,建筑物占比例较大,大多数的建筑物造型较为规则,用传统的3DSMAX建模可达到造型逼真、质感强、造型细腻等特点,然而其致命弱点是数据量极大和实时漫游困难,且工作量巨大。城市中普通建筑物群多具有标准的几何特性,不需细致造型,通过完通过AutoCAD VBA编程自动读取相关数据,完成模型的批量处理,减小工作量及场景的数据量。下面以一具体实例说明。图4所示为楼群AutoCAD地形图,定义楼体轮廓线为AcadLPolyline对象,通过AutoCADVBA编写代码,对闭合多段线进行拉伸处理,自动生成三维模型,生成模型如图5所示。通过AutoCADVBA与纹理库进行连接,进行纹理映射,对所得模型进行贴图处理,最后通过编程生成VRML代码,完成建筑物场景建立,其部分代码如下:Sub GetVrmlMdlFromCAD()

Dim ExTendV As Double,num As Integer,n As Integer,i AsInteger

Dim e As AcadEntily,pl As AcadLWPolyline,xy()As DoubleFor Each enln ThisDrawing.ModelSpace

Ife.ObjectName="AcDbPolylineAnde".Layer="house"Then

Set pl=e

xy=pl.Coordinates()

n=UBound(xy)

hum=hum+1

Open"house.wrl"For Output As#l

Print#l,"#VRML V2.0 utf8"

Print#l,"Transform(translation 674.330-311.27"

Print#l,"children[DEF GuangGaol Transform{"

Print#l,"children[Billboard{axisOfRotation0.01.00.0"

Print#l,"children[Shape{"

Print#l,"geometry IndexedFaceSet{"

虚拟场景 第10篇

使用着色语言的一般做法是:用着色语言编写若干Shader作为脚本, 应用程序直接或者通过图形引擎间接来调用图形函数库 (Direct3D与OpenGL) 的相关API函数实现Shader脚本的读入、编译和运行。渲染开始后, 多个Shader在GPU中运行, 承担流水线的某些环节, 完成画面的绘制。

为提高开发效率, 本文采用图形引擎OGRE来实现对Shader的编译和驱动。OGRE (Object Oriented Graphics Engine) 是一个扩展性强、跨平台的通用3D图形引擎, 隐藏了底层图形函数库的所有细节, 提供了一组面向场景的接口, 应用OGRE可以更加便捷地显示动态3D模型, 构建场景和开发三维应用程序。

1 软件结构设计

整个软件的结构是:用波形构造原理编制水波模拟的顶点着色器和像素着色器代码, 部分运用了物理模型。以脚本形式放在OGRE的资源路径, 在应用程序中创建水面网格模型。模型的材质脚本中加入水面纹理和着色器声明。程序运行时, OGRE引擎读入水面网格的材质脚本, 以此装载着色器, 实现水波模拟。

1.1 应用程序框架

为简明计, 应用程序主框架类WaveApplication继承自OgreSDK中的ExampleApplication类, 应用程序所有工作放在重写的WaveApplication::createScene () 方法里, 该方法首先创建一个平面 (Ogre::Plane) , 从平面生成mesh文件, 进而生成水面实体 (Ogre::Entity) , 用Entity::setMaterialName () 方法载入水面材质脚本。

1.2 水面材质脚本

水面网格的材质脚本中包含了对着色器声明的引用和水面纹理, 如下:

material SimpleWaveMaterial // 水面材质名字

{ technique

{ pass

{ // 顶点着色器声明 (见节1.3) 的引用

vertex_program_ref SimpleWaveVS

{ // 顶点着色器的各种参数

param_named BumpScale float 0.2

param_named textureScale float2 25 26

// 波浪在两个方向上的传播速度

param_named bumpSpeed float2 0.015 0.005

// 波形的时间参数, 每一帧由应用程序进行更新

param_named_auto time time_0_x 100.0

// 基波频率和振幅

param_named waveFreq float 0.028

param_named waveAmp float 1.8

}

// 像素 (片段) 着色器声明 (见节1.3) 的引用

fragment_program_ref SimpleWaveFS

{ // 像素着色器参数

param_named deepColor float4 0 0.3 0.5 1.0

param_named shallowColor float4 0 1 1 1.0

param_named reflectionColor float4 0.95 1 1 1.0

param_named reflectionAmount float 1.0

param_named reflectionBlur float 0.0

param_named waterAmount float 0.3

param_named fresnelPower float 5.0

param_named fresnelBias float 0.328

param_named hdrMultiplier float 0.47

1 }

texture_unit // 波形纹理

{ texture waves2.dds

tex_coord_set 0

filtering linear linear linear

}

texture_unit //与天空盒共用的立方体纹理

{ cubic_texture morning.jpg combinedUVW

tex_address_mode clamp

tex_coord_set

1 filtering linear linear linear

}}}}

水面纹理是两个纹理单元的混合, 实现天水一色效果, 纹理图片如图1所示:

1.3 着色器声明

着色器声明脚本的作用是将着色器源码文件名, 着色器函数入口地址和着色器需要的硬件配置信息通知OGRE引擎。

vertex_program SimpleWaveVS cg

{ // 顶点着色器脚本文件名

source SimpleWaveHLSL_Cg.vert

entry_point main // 入口地址

profiles vs_1_1 arbvp1 // 配置信息

default_params // 默认参数

{ param_named_auto WorldViewProj worldviewproj_matrix

param_named_auto eyePosition camera_position_object_space

}}

fragment_program SimpleWaveFS cg

{ source SimpleWaveHLSL_Cg.frag

entry_point main

profiles ps_2_0 arbfp1

}

2 水波模拟的着色器

2.1 顶点着色器 (Vertex Shader)

着色器代码采用Cg语言编写。顶点着色器的作用是根据当前波形, 生成顶点位置信息、向对象空间转换的矩阵、法线贴图坐标, 联同摄像机位置信息, 输出至像素着色器。顶点着色器代码如下:

struct VS_INPUT // 顶点着色器的输入结构

{ float4 Position : POSITION;

float2 TexCoord : TEXCOORD0;

};

struct VS_OUTPUT // 顶点着色器的输出结构

{ float4 Position : POSITION;

// 切空间到世界空间的转换矩阵

float3 rotMatrix1 : TEXCOORD0;

float3 rotMatrix2 : TEXCOORD1;

float3 rotMatrix3 : TEXCOORD2;

float2 bumpCoord0 : TEXCOORD3;

float2 bumpCoord1 : TEXCOORD4;

float2 bumpCoord2 : TEXCOORD5;

float3 eyeVector : TEXCOORD6;

};

struct Wave { // 正弦波数据结构

float freq; float amp; // 频率和振幅

float phase; float2 dir; // 相位和方向

};

VS_OUTPUT main (VS_INPUT IN, // VS入口函数

uniform float4x4 WorldViewProj,

uniform float3 eyePosition,

uniform float BumpScale,

uniform float2 textureScale,

uniform float2 bumpSpeed,

uniform float time,

uniform float waveFreq,

uniform float waveAmp

)

{

VS_OUTPUT OUT;

Wave wave[2] = { // 基波和谐波

{ 1.0, 1.0, 0.5, float2 (-1, 0) },

{ 2.0, 0.5, 1.7, float2 (-0.7, 0.7) }

};

wave[0].freq = waveFreq;

wave[0].amp = waveAmp;

wave[1].freq = waveFreq * 3.0;

wave[1].amp = waveAmp * 0.33;

float4 P = IN.Position;

float ddx = 0.0, ddy = 0.0;

float deriv;

float angle;

// 利用相位和频率不同的两个正弦波实现波浪的叠加

for (int i = 0; i

{ angle = dot (wave[i].dir, P.xz) * wave[i].freq + time * wave[i].phase;

P.y += wave[i].amp * sin ( angle ) ;

deriv = wave[i].freq * wave[i].amp * cos (angle) ;

ddx -= deriv * wave[i].dir.x;

ddy -= deriv * wave[i].dir.y;

}

// 生成从切空间到目标空间的转换矩阵

// 副法线和切线方向大小由输入参数 BumpScale 控制

OUT.rotMatrix1.xyz = BumpScale * normalize (float3 (1, ddy, 0) ) ;

OUT.rotMatrix2.xyz = BumpScale * normalize (float3 (0, ddx, 1) ) ; OUT.rotMatrix3.xyz = normalize (float3 (ddx, 1, ddy) ) ; // Normal

OUT.Position = mul (WorldViewProj, P) ;

// 计算法线贴图的坐标

OUT.bumpCoord0.xy = IN.TexCoord*textureScale + time * bumpSpeed;

OUT.bumpCoord1.xy = IN.TexCoord*textureScale * 2.0 + time * bumpSpeed * 4.0;

OUT.bumpCoord2.xy = IN.TexCoord*textureScale * 4.0 + time * bumpSpeed * 8.0;

OUT.eyeVector = P.xyz - eyePosition;

return OUT;

}

2.2 像素着色器 (Fragment Shader)

像素着色器对每个像素的法线贴图坐标从切空间转换到世界空间, 实现天空和水波的纹理混合, 根据菲涅尔效应进行修正, 最终生成每个像素的颜色。

struct FS_INPUT // 像素着色器输入

{ float4 Position : POSITION;

float3 rotMatrix1 : TEXCOORD0;

float3 rotMatrix2 : TEXCOORD1;

float3 rotMatrix3 : TEXCOORD2;

float2 bumpCoord0 : TEXCOORD3;

float2 bumpCoord1 : TEXCOORD4;

float2 bumpCoord2 : TEXCOORD5;

float3 eyeVector : TEXCOORD6;

};

float4 main (FS_INPUT IN,

uniform sampler2D NormalMap,

uniform samplerCUBE EnvironmentMap,

uniform float4 deepColor,

uniform float4 shallowColor,

uniform float4 reflectionColor,

uniform float reflectionAmount,

uniform float reflectionBlur,

uniform float waterAmount,

uniform float fresnelPower,

uniform float fresnelBias,

uniform float hdrMultiplier

) : COLOR

{ // 输入的三组法线贴图坐标混合, 减小纹理重复的效果。

float4 t0 = tex2D (NormalMap, IN.bumpCoord0) * 2.0 - 1.0;

float4 t1 = tex2D (NormalMap, IN.bumpCoord1) * 2.0 - 1.0;

float4 t2 = tex2D (NormalMap, IN.bumpCoord2) * 2.0 - 1.0;

float3 N = t0.xyz + t1.xyz + t2.xyz;

float3x3 m; // 转换矩阵

m[0] = IN.rotMatrix1;

m[1] = IN.rotMatrix2;

m[2] = IN.rotMatrix3;

N = normalize ( mul ( N, m ) ) ;

// 反射效果计算

float3 E = normalize (IN.eyeVector) ;

float4 R;

R.xyz = reflect (E, N) ;

R.z = -R.z;

R.w = reflectionBlur;

float4 reflection = texCUBE, bias (EnvironmentMap, R) ;

// 高动态范围效果 (HDR)

reflection.rgb *= (reflection.r + reflection.g + reflection.b) * hdrMultiplier;

// 菲涅尔效应

float facing = 1.0 - max (dot (-E, N) , 0) ;

float fresnel = saturate (fresnelBias + pow (facing, fresnelPower) ) ;

float4 waterColor = lerp (shallowColor, deepColor, facing) * waterAmount;

reflection = lerp (waterColor, reflection * reflectionColor, fresnel) * reflectionAmount;

return waterColor + reflection;

}

程序运行后绘制的水波效果如图2所示:

3 结束语

本文采用基于构造的方法编写水波着色器, 实时绘制水波画面, 效果较好。着色器脚本被Ogre引擎调用, 在调试时, 可以很方便地修改脚本参数和配置而不用编译整个程序。将来可以修改着色器, 接受水面舰船模型的位置速度参数, 模拟实现航行尾迹效果。

摘要:水波模拟是虚拟场景真实感绘制的一项重要内容。归纳了水波模拟的原理和实现方式, 出于实时绘制速度因素的考虑, 应用高级着色语言通过开源图形引擎OGRE实现了利用可编程图形显示硬件来实现水波的绘制, 效果较为真实, 满足PC平台上虚拟场景实时绘制的需求。

关键词:水波模拟,着色语言,顶点着色器,像素着色器,虚拟现实,OGRE

参考文献

[1]杨怀平, 胡事民, 孙家广.一种实现水波动画的新算法[J].计算机学报, 2002 (6) .

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

【虚拟场景】相关文章:

虚拟场景生成系统05-12

传统场景05-08

场景覆盖05-15

动态场景05-26

应用场景06-15

场景数据07-21

运用场景08-15

优化场景08-15

网络场景08-28

模拟场景08-31

上一篇:医疗器械法规下一篇:工程变更管理程序