基于Logitech三维鼠标的虚拟建筑漫游系统(5)

发布时间:2021-06-08

基于Logitech三维鼠标的虚拟建筑漫游系统

OpenGL的矩阵堆栈(作一次右乘操作),如果该对象节点含有子几何体对象,则当遍历到其子节点时,也要将子节点的变换矩阵装入OpenGL的矩阵堆栈。但当遍历过程回到子节点的父节点时,将重新设置OpenGL的矩阵堆栈以使子节点的变换矩阵失效。这就意味着,在层次型场景结构中,几何体的变换矩阵的作用域是局部的。

为了构建整个场景,首先,我们用面向对象的观点标识了应用中的一些基本对象:①视点对象:它封装了与视点设置相关的操作;②几何形体对象:即场景中的物体,一般是从图形交换格式文件中读入的几何模型;③光源对象;④材质对象;⑤纹理对象;⑥变换矩阵对象:它通过直接的矩阵运算封装了所有变换操作。基于上述对象标识,用c++语言定义了以下类对象:CGLViewpoint、CGLObject、CGLLight、CGLMaterial、CGLTexture和CGLMatrix。为了包含上述定义的场景元素,我们定义了类CGLScene,以作为整个场景的包含容器。实际上,类CGLScene也就是整个层次型场景的根结点。

4 虚拟建筑漫游实例

为了验证上述方法,针对一个房间设计实现了一个虚拟漫游实例。用户可以利用三维鼠标控制视点,在房间中漫游,观察房屋的布局是否合理。

使用的软硬件如下:1:软件环境:WTK 7.0、MultiGen Creator、Visual C++ 6.0;Win2000操作系统;2:硬件环境:P4 1.5G CPU,双通道三维图形加速卡,Logitech三维鼠标,Crystal eyes立体眼镜。

具体开发过程如下:在VC++ 环境下进行仿真系统的开发,并通过访问WTK的API函数接口来实现应用程序的实时控制,包括模型载入、视点控制、光效生成、时间、碰撞检测和特殊效果等功能。实时漫游算法如图4所示。

图4 软件设计流程图

基于Logitech三维鼠标的虚拟建筑漫游系统(5).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219