论文部分内容阅读
建筑物虚拟漫游技术在建筑设计、室内建筑装潢、房地产开发、游戏设计等方面具有非常广阔的应用前景。它的沉浸感、交互性与实时性的综合效果是传统平面效果图与动画播放所无法达到的。
本文实现了一个以板面为基本建筑元素的虚拟建筑漫游,整个系统分为三个阶段,建模阶段、预处理阶段、漫游渲染阶段。
首先,本文直接使用OpenGL平台建立了多边形板面结构场景模型。板面多边形由预定义场景数组生成,在预定义场景数组中,大部分元素为0和1,并以二维形式表示。在0和1之间,建模程序会生成一个多边形,并且保存在多边形链表当中。如果完成预定义数组的遍历,整个场景就保存到多边形链表中了。
其次,本文重点研究了预计算阶段的BSP(binaryspacepartitioning)空间分割技术。BSP树是一种很有效的层次管理结构,本文通过不断地选取最好的分割多边形递归分割整个场景,使整个场景的左半空间存储在BSP树根节点的左子树上,场景的右半空间存储在BSP树根节点的右子树上,直到每个多边形都被装入到一个BSP树的非叶子节点中,而每个叶子节点都为空。当场景多边形都分布在树节点中后,放入视点,对多边形的可视性进行排序。在遍历树过程中,多边形会被渲染,如果BSP树被完全遍历,场景绘制就完成了。使用BSP空间分割的预处理技术不单单有效的管理整个虚拟场景,还满足了碰撞检测实现的需求。
最后,本文深入研究了场景中物体坐标的变换方法。这些变换包括平移、旋转、错切和投影,每个变换都有一个相应的矩阵来表示。当视见体变化后,程序会使用这些变换生成一个合并矩阵来规范化视见体,并将视见体中的物体投影到观察平面上,形成屏幕上所观看的画面。本文在此基础上改进了观察变换的旋转矩阵,使旋转范周得到简化,减少了计算量。