虚拟城市环境构建与模拟技术解析
1. 拓扑网格(Topo Mesh)
在大型虚拟城市环境中,处理、存储、渲染和可视化的信息量极为庞大。传统的多边形网格通常使用一组不相关的多边形,由顶点列表和面列表描述。其中,顶点代表街角,面代表街区,边代表两个街区之间的边界。然而,要模拟虚拟人群,还需要更多信息,例如虚拟人从一个地方移动到另一个地方时,需要知道(最佳或最短)路径信息。
如果系统仅提供多边形列表,路径查询操作会很耗时。通过对多边形列表进行预处理构建的平面嵌入多边形网格,即平面拓扑网格(topo mesh),能有效解决路径查询问题。它是多层数据模型的第一级,能创建并维护多边形之间的邻接关系。
拓扑网格是一种类似半边的数据结构,存储半边而非边。半边是有方向的边,有助于确定面的方向,适合对凸或非凸可定向二维流形进行建模。每个面由半边的循环链表界定,链表方向可以是顺时针或逆时针,一旦选定,网格中所有面都要保持一致。每个半边有指向下一个半边、端点顶点、所属面及其配对半边(反向相邻半边)的指针;每个顶点持有其在三维空间中的位置,并指向一个半边;每个面指向一个半边。大多数邻接查询直接存储在数据结构原语中,例如,找到公共半边,获取其配对半边并找到对应面,就能得到相邻面;通过围绕面的循环查询可检索到界定该面的半边或半边列表。
在实际应用中,顶点、边和面分别代表城市的街角、街道和街区,半边编码街道方向。该数据结构维护城市元素之间的邻接关系,可高效实现各种查询,如哪些街区使用了某个街角、哪些街道界定了一个街区等,还能高效实现最短路径算法。
拓扑网格可通过图像分割结合其他图像处理技术(如图像量化、标记和角点检测)获得。具体操作步骤如下:
1. 对彩色图像(
超级会员免费看
订阅专栏 解锁全文
17万+

被折叠的 条评论
为什么被折叠?



