论文部分内容阅读
摘 要:高效率的大规模城市建模是虚拟现实、城市规划、数字娱乐中重要的技术支持。本文首先以3dsmax为平台,通过获取平面网格的节点的位置作为坐标,复制建筑模型。并建立自动删除机制。重点研究了删除参数的设置。将模型视作顶点集合,根据模型顶点分布,采用高斯分布加权。实现了根据模型的形状进行变化的动态删除参数。有效的完成了对重叠模型的清理。
关键词:大规模城市建模;重心法;平均距离法;高斯分布
中图分类号:P283.7
城市场景的构建是三维虚拟方针的一个重要组成部分。本文在构建一个大型场景的工作中,以对少量模型进行批量复制和排列的原则为基础。利用3dsmax的脚本编程完成半自动复制、排列以及参数微调的方法完成场景模型的初步建造。然后对排列后出现的重叠现象,对模型距离进行顶点计算并使用高斯分布参数加权,完成自动删除重叠机制并展示最终结果。
1 城市的建模
基础的实验条件是以平面网格模拟地面,首先建立一个模型复制机制,随机选取网格上的网格点,抽取选择集中的模型进行关联复制,以被选取的网格点的坐标作为被复制模型的新位置。在复制后必然会产生重叠。所以将利用脚本的自定义函数的功能来定义一个自动删除函数,对场景中的模型进行两两筛选,以模型的重心坐标为基准进行差值计算。比较之后,若小于标准值则删除掉一个模型。本次实验设置了3个不同的删除参数。删除后的效果比较见表1:
表1 三个参数的结果对比
2 间隔参数的计算
通过上面的实验已知,使用固定的参数值,对于重心距离较近的模型有比较好的效果,对于重心较远而边缘部分重叠的模型效果不佳。所以下面的研究工作就是建立一个自动计算的根据模型形状不同而变化动态的删除参数。
首先,模型是一个由顶点组成的集合体,每个顶点都有自己的三维坐标数据。由于在平面上的模型分布,只有模型在X、Y轴的坐标参数参与计算,Z轴是可以忽略的。因此可以把模型描述成为一个二维平面坐标系内的顶点集合。将模型定义为一个顶点的集合B,复制后同一类型的模型定义为B的集合Ω。计算Ω内每个元素间的距离。定义两个Ω集合间的距离函数D(Bi,Bj)长作为初始的距离矩阵。分为X轴
第一步是计算每一个顶点到重心之间的距离。因为模型处于同一个平面,本文的目标是消除XY平面上的重叠效果,所以Z轴的数值对结果不产生影响。所以为了简化计算,将三维模型视作一个位于XY平面的二维顶点集合,只抽取同一平面内的顶点参与计算即可。将计算出的距离值放入数组D。同时将最大距离法算出的距离值Dn放入数组D中,以作为删除参数的最大值参考。我们知道每个模型在4个方向上的顶点分布不尽相同,应该有4组不同的数据。为了简化任务本文将模型视为在X、Y轴向上的对称物体。因此将自删除函数简化为在X和Y轴的两个函数,各函数的删除参数值并且根据前面的理论我们将计算集合的均值并乘上一定的高斯分布系数作为删除参数的参考值。对于每个模型都有两个参考的删除参数,在自动删除是会根据模型的种类和方向自动调用它们的删除参数。使用新的删除函数和删除参数对同一平面多次执行的重复率分别为23.36%、21.56%、23.85%。可以看到比之前的结果已经降低了不少,证明算法的有效性。最后用改进后的方法对城市场景进行模拟搭建,场景由24个平面组合而成。效果见图1:
图1 城市效果图
3 结束语
本文在3dsmax下利用少量资源对大型城市模拟方法进行了研究。完成了对模型的自动复制和排列,并研究了模型间距离的算法,分析并利用了高斯分布的算法特点,结合各种算法的优势建立了有选择性的动态删除重叠机制。该方法有实现简单、适应性强、调试方便等特点,但是对于模型间距离的精确计算以及可控式分布还有改进的空间。
参考文献:
[1]Jain Murty,Flynn,Data Clustering.A Review[A].ACM Comp.Surv[C].1999.
[2]PA Pantel,CClustering by Committee[D].PhD dissertation,Univ.of Alberta,Canada,2003.
[3]卜东波.聚类/分类理论及其在文本挖掘中的应用[D].北京:中国科学院博士学位研究生学位论文,2000.
[4]季铎,王智超,蔡东风.基于高斯分布的簇间距离计算方法[J].中文信息学报,2008(03).
[5]吴赣昌.概率论与数理统计[M].北京:中国人民大学出版社,2006:61-63.
作者单位:大连科技学院,辽宁大连 116052
关键词:大规模城市建模;重心法;平均距离法;高斯分布
中图分类号:P283.7
城市场景的构建是三维虚拟方针的一个重要组成部分。本文在构建一个大型场景的工作中,以对少量模型进行批量复制和排列的原则为基础。利用3dsmax的脚本编程完成半自动复制、排列以及参数微调的方法完成场景模型的初步建造。然后对排列后出现的重叠现象,对模型距离进行顶点计算并使用高斯分布参数加权,完成自动删除重叠机制并展示最终结果。
1 城市的建模
基础的实验条件是以平面网格模拟地面,首先建立一个模型复制机制,随机选取网格上的网格点,抽取选择集中的模型进行关联复制,以被选取的网格点的坐标作为被复制模型的新位置。在复制后必然会产生重叠。所以将利用脚本的自定义函数的功能来定义一个自动删除函数,对场景中的模型进行两两筛选,以模型的重心坐标为基准进行差值计算。比较之后,若小于标准值则删除掉一个模型。本次实验设置了3个不同的删除参数。删除后的效果比较见表1:
表1 三个参数的结果对比
2 间隔参数的计算
通过上面的实验已知,使用固定的参数值,对于重心距离较近的模型有比较好的效果,对于重心较远而边缘部分重叠的模型效果不佳。所以下面的研究工作就是建立一个自动计算的根据模型形状不同而变化动态的删除参数。
首先,模型是一个由顶点组成的集合体,每个顶点都有自己的三维坐标数据。由于在平面上的模型分布,只有模型在X、Y轴的坐标参数参与计算,Z轴是可以忽略的。因此可以把模型描述成为一个二维平面坐标系内的顶点集合。将模型定义为一个顶点的集合B,复制后同一类型的模型定义为B的集合Ω。计算Ω内每个元素间的距离。定义两个Ω集合间的距离函数D(Bi,Bj)长作为初始的距离矩阵。分为X轴
第一步是计算每一个顶点到重心之间的距离。因为模型处于同一个平面,本文的目标是消除XY平面上的重叠效果,所以Z轴的数值对结果不产生影响。所以为了简化计算,将三维模型视作一个位于XY平面的二维顶点集合,只抽取同一平面内的顶点参与计算即可。将计算出的距离值放入数组D。同时将最大距离法算出的距离值Dn放入数组D中,以作为删除参数的最大值参考。我们知道每个模型在4个方向上的顶点分布不尽相同,应该有4组不同的数据。为了简化任务本文将模型视为在X、Y轴向上的对称物体。因此将自删除函数简化为在X和Y轴的两个函数,各函数的删除参数值并且根据前面的理论我们将计算集合的均值并乘上一定的高斯分布系数作为删除参数的参考值。对于每个模型都有两个参考的删除参数,在自动删除是会根据模型的种类和方向自动调用它们的删除参数。使用新的删除函数和删除参数对同一平面多次执行的重复率分别为23.36%、21.56%、23.85%。可以看到比之前的结果已经降低了不少,证明算法的有效性。最后用改进后的方法对城市场景进行模拟搭建,场景由24个平面组合而成。效果见图1:
图1 城市效果图
3 结束语
本文在3dsmax下利用少量资源对大型城市模拟方法进行了研究。完成了对模型的自动复制和排列,并研究了模型间距离的算法,分析并利用了高斯分布的算法特点,结合各种算法的优势建立了有选择性的动态删除重叠机制。该方法有实现简单、适应性强、调试方便等特点,但是对于模型间距离的精确计算以及可控式分布还有改进的空间。
参考文献:
[1]Jain Murty,Flynn,Data Clustering.A Review[A].ACM Comp.Surv[C].1999.
[2]PA Pantel,CClustering by Committee[D].PhD dissertation,Univ.of Alberta,Canada,2003.
[3]卜东波.聚类/分类理论及其在文本挖掘中的应用[D].北京:中国科学院博士学位研究生学位论文,2000.
[4]季铎,王智超,蔡东风.基于高斯分布的簇间距离计算方法[J].中文信息学报,2008(03).
[5]吴赣昌.概率论与数理统计[M].北京:中国人民大学出版社,2006:61-63.
作者单位:大连科技学院,辽宁大连 116052