柔性生产线漫游教学系统关键技术研究

时间:2022-06-27 03:37:48

柔性生产线漫游教学系统关键技术研究

摘要:实时三维漫游技术以其独特的优势在医学、地理信息系统、军事、娱乐、仿真教学等各领域被广泛运用。研究了建模、场景组织、可见性裁剪、碰撞检测等三维建模的关键技术,并实现一个用于教学仿真的柔性生产线三维漫游系统。

关键词:三维漫游;建模;碰撞检测;场景管理

中图分类号:TP319文献标识码:A文章编号:1672-7800(2012)012-0065-03

0引言

虚拟现实技术是近年来发展起来的一项涉及众多学科的高新实用技术。虚拟现实技术将计算机技术、仿真技术、传感与测量技术、微电子技术融为一体,利用先进的计算机技术生成一种虚拟环境及交互式的视景仿真,使用户通过视觉、听觉、触觉来产生身临其境的感觉,从而实现了用户与环境的自然虚拟交互。虚拟漫游技术是虚拟现实技术中的一个重要发展方向。虚拟漫游系统是由一个逼真的虚拟环境,将视、听、触觉融为一体。

由于我国的三维仿真技术目前还处于发展阶段,因此在一定程度上限制了这些依赖三维引擎技术产品的发展,不能满足人们对三维产品的需求。因此,研究开发三维引擎技术迫在眉睫。在科研教学领域,物理、生物、化学等学科可以使用三维立体仿真技术展示实验过程和模型仿真,这样不仅可以重复使用教学资源,而且减少了危险和降低了教学成本。本文所提到的柔性生产线漫游系统就是基于这样的一个原因,使学生在三维仿真环境中进行实验操作,并可以重复地练习。本文的主要目的是研究三维虚拟场景技术,并设计和开发了一款基于Direct 3D技术的三维虚拟柔性生产线漫游演示系统。

1三维场景建模中的关键技术

1.1Direct3D技术介绍

Microsoft Direct3D是Microsoft DirectX交互媒体技术的实时三维图形组件,是专门用来处理三维绘图,并利用3D指令来加速显示的API函数包。迄今为止,绝大多数在Windows操作系统中运行的三维图形都使用了Direct3D函数。

Direct3D三维对象渲染的具体过程是通过把外部的数据模型导入到Direct3D绘图指令中来完成的。该过程需要两个阶段来完成。第一阶段:坐标变换和光照处理阶段。在该阶段,将所有对象的顶点由抽象的浮点坐标空间转换为基于像素的屏幕空间,各个对象的光照效果是由场景中的光源和对象表面的不同材质所决定的。第一阶段还包括裁减和视口缩放等一些较关键的任务;第二阶段:光栅处理阶段。在该阶段中,先用T&L将顶点处理,然后通过Direct3D把该顶点处理成点、线、面等相关基础的图元,基于纹理贴图及物体顶点之色彩属性,通过对对应渲染状态的设置来确定最终在屏幕上显示的每个像素的颜色值。

1.2三维场景建模

通过建模软件3DS MAX来对场景进行建模,将建成的模型以3DS的格式导出并将之保存。 众所周知,3DS MAX是当今流行的专门用于制作动画及三维建模的专业软件,通过该软件能够高效完成较大难度三维场景的建立。3DS格式的文件中包含着十分详尽的三维参数,而且对于比较复杂模型的材质参数,纹理参数及坐标等均能保存起来。3DS模型的仿真效果非常出色,可视化编辑的特色使得该系统在仿真方面非常优秀。

3DS文件的一个鲜明特点是它是由很多个“块”构成的。这些“块”对其后面所接收数据的构成方式进行了描述。“块”作为3DS文件的基本组成部分,组建成复杂但却并不笨重的文件系统。

将处理完毕的模型导出为3DS格式的文件,然后对该文件中包含的信息进行获取实现在内存中对模型数据进行加载。需要获取的文件中的信息有三维模型的顶点信息和顶点组成面片信息。其中顶点信息主要指其光照、颜色属性、法向量、位置及纹理信息等。一个3D模型是由多个物体来构成的,以物体材质信息为依据将其划分成两个类别,建模过程中需建立两个顶点信息存储区及两个索引信息存储区,将这两个类别的物体顶点信息各自放入对应的顶点信息存储区和索引信息存储区内。同时在放入该物体时也将该物体的顶点个数、纹理ID、最小索引、ID号、索引偏移及下一个物体的顶点等信息存放到一个结构体中。按结构体方式进行存储的优点是在渲染过程中可以快速方便地在该结构体中将数据取出并放置到顶点信息存储区和索引信息存储区中,并在这些存储区中得到有用的信息渲染场景。

1.3三维场景管理

场景管理的目标就是合理利用数据的组织结构来使场景中的对象高效地完成场景空间的索引、排序和遍历。场景管理的关键技术为场景的数据组织形式、空间索引、排序技术及空间简化技术。

柔性生产线的场景组织技术采用的是BSP树来组织的。在建模时首先需要将所有的墙体定义为分割面,并以“wall_”开头的形式来命名上述定义的分割面,这样可以方便在后面的BSP树遍历时能够通过分割面的名字找出对应的分割面。在进行空间分割的时候,被分割面分割的三角形首先需要对其面片进行裁剪。一般需要将该三角形裁剪成为两个或者三个三角形。这时就需要对新分割出来的三角形面片的顶点坐标进行重新计算,并需要将新分割的三角形面片放到一个子空间中,如此一来就大大增加了构建BSP树的难度。

因此,本文提出了一种新的分割算法来回避物体及三角的分割。该算法的基本思想是把需要分割的对象放到两个不同的子空间中,并判断组成该对象的所有三角形与分割面之间的位置关系。如果位置处于分割面的前侧子空间,就将此三角形置于前侧子空间所对应的三角形列表中;同理,如果该位置处于分割面的后侧子空间,就需要将此三角形置于后侧子空间所对应的三角形列表中;倘若该位置与分割面重合,则前、后子空间对应的三角形列表均需加入该三角形。这种方法的缺点在于增加了数据的冗余量,但优点是极大地降低了分割对象和重新计算三角形顶点坐标的难度。

2总体设计与实现

2.1系统主体构架设计

本系统的开发环境为微软公司的VS2008。建立Win32程序工程,采用C++进行编程,对3D图像的处理过程则通过调用Direct3D提供的C语言API来实现,过程中通过3D指令可加快相应接口函数包的显示。系统整体框架如图1所示。

2.2系统功能模块详述

本系统的功能架构如图2所示。

本系统的功能模块主要有以下几个类及函数来实现。

(1)获取3D模型文件模块3DS.cpp。本模块的主要功能是提供一个模型文件数据处理函数,通过该函数将数据转化放到本类对应的数据结构内。

(2)生成BSP树模块函数BSPConstruct.cpp。本模块的主要功能是提供一个生成BSP树的函数,该函数包含对BSP树节点结构的定义并能根据三维模型中的物体索引构造BSP树。

(3)遍历BSP树模块BianLiBSP.cpp。本模块主要功能是通过查找到视点处的最小子空间并获取该最小子空间内的物体,为后期的碰撞检测做好准备。

(4)可视化编辑模块。本模块的主要功能是以生成的BSP树保存的物体信息为依据,实现以物体为基准的视锥编辑剪裁。

(5)碰撞检测模块collision.cpp。本模块的主要功能是提供碰撞检测所需的两个函数。其一是检测视点在最小子空间内物体平面穿越状况的函数;其二是用于检测穿过最小子空间物体平面的视点在三角形中穿越情况的函数。

(6)场景绘制模块。本模块的主要功能是提供场景绘制函数。该函数位于主程序类内,以分析后的模型数据为依据对顶点信息存储区和索引信息存储区进行填充,然后该函数通过调用渲染函数对场景进行相应的渲染操作。

(7)场景视点控制模块。本模块的主要功能是提供设置矩阵函数及消息处理函数,完成操作场景内的视点在其中进行漫游。

2.3模型效果

模型系统是通过3DS MAX 软件构造的柔性生产线模型场景。因为该系统中所用到的物体很多,其开发设计过程有较高难度,所以采用为其中所有物体都独立建模的方法。在最后总的场景中将所有独立建模的物体模型导入到系统中,对物体所在的位置、方向及物体大小等进行适当的调整。设计开发完成并在3DS MAX中渲染后的最终效果如图3所示。

图3最终场景渲染效果

3结语

文章说明了三位仿真技术及Direct3D技术等三维场景建模中的关键技术。以这些技术为基础,运用微软相关开发环境设计开发了柔性生产线场景漫游系统,并采用经典的三维建模软件3DS MAX 来创建三维场景模型,并完成相关物体模型的导入,最终得到柔性生产线场景的漫游渲染效果图。

参考文献:

[1]毛玉姣,王梅,陈远.虚拟现实技术及其应用[J].图书情报知识,1997(5).

[2]杨建华,吴朝晖,潘云鹤.基于攻防对抗仿真的虚拟战场技术研究[J].系统仿真学,2005(4).

[3]杨建菊.基于全景图的虚拟校园漫游系统研究与设计[J].凯里学院学报,2010(3).

[4]陈国华.Morfit Web-3D仿真建模技术及其应用[J].计算机仿真,2005(6).

Research on Key Technology of the Flexible Production

Line Roaming Teaching System

Abstract:Currently,real-time three-dimensional roaming has been widely used in various fields of medicine,geographic information systems,military,entertainment,simulation teaching.This paper aims to study the key technologies of three-dimensional roaming,such as modeling,scene organization,visibility culling,collision detection,and a flexible production line simulation for teaching three-dimensional roaming system.

Key Words: Three-Dimensional Roaming; Modeling; Collision Detection; Scene Management

上一篇:计算机游戏开发理念及方法研究 下一篇:外国科学教师UNOS个案研究的概述及启示