本发明涉及数据处理领域,尤其是涉及一种建筑模型显示方法及系统。
背景技术:
1、建筑模型是建筑设计中不可或缺的重要工具,它可以直观地体现设计意图,弥补图纸在表现上的局限性。利用计算机技术在计算机上用三维建模软件生成、显示建筑模型,具有更高的真实感和可视化效果。而且计算机模型制作可以节省时间和成本,提高设计效率,计算机模型可以帮助设计师更好地理解和完善设计方案,避免施工过程中的错误。此外,计算机模型可以用于模拟建筑的结构、光线、声音等效果,帮助设计师更好地理解建筑的整体效果。随着计算机技术的不断发展,建筑模型在计算机上的显示将更加精细和逼真,这也就需要更大的建模模型文件以及更多的计算资源,如何在资源有限的单机上快速的显示建筑的三维模型是提高建筑模型应用的关键。
技术实现思路
1、为了能够在资源有限的单机上显示结构复杂的建筑模型,本发明提供了一种建筑模型显示方法,所述方法包括以下步骤:
2、s1,获取建筑模型的obj格式的文件,根据顶点所在的所有三角面的法向量计算得到顶点的第一值,对于所述文件中具有连接关系的顶点对<>,确定两个三角面,所述两个三角面共用顶点对<>构成的边,并计算所述两个三角面的两个法向量,根据所述第一值和所述两个法向量对顶点对进行排序;
3、s2,确定要简化的顶点百分比,基于所述排序的结果和所述顶点百分比确定待合并的顶点对,对于待合并的顶点对,确定待合并的顶点对构成的边所在的三角面f1、f2,根据f1和f2确定顶点,将所有与、相联的顶点连接到,得到精简后的obj文件;其中,为将、合并后得到的顶点;
4、s3,根据计算资源确定要简化的顶点的百分比,基于所述百分比确定精简后的obj文件,将精简后的obj格式的文件作为渲染管线的输入,经过渲染管线的渲染后在显示器中显示建筑模型。
5、优选地,所述根据顶点所在的所有三角面的法向量计算得到顶点的第一值,具体为:
6、根据公式计算所有三角面归一化后的法向量之间的距离,其中(x,y,z)和(a,b,c)分别为两个三角面归一化后的法向量;
7、根据公式计算所述距离的方差,将所述方差作为第一值,其中,n表示所述距离的个数,表示所述距离的平均值,表示第k个所述距离。
8、优选地,所述根据所述第一值和所述两个法向量对顶点对进行排序,具体为:
9、获取所述两个法向量和顶点对中两个顶点对应的两个所述第一值,计算所述两个法向量的距离,根据公式计算得到权重,按照权重从小到大的顺序对所述顶点对进行排序;其中,、分别表示顶点、对应的所述第一值,表示所述两个法向量的距离,为预设值。
10、优选地,所述根据f1和f2确定顶点,具体为:
11、当f1和f2同面时,计算f1和f2的四个顶点的外接球,并得到外接球的球心,将球心作为;
12、当f1和f2不同面时,计算f1和f2的四个顶点的外接球,并得到外接球的球心;计算得到f1的外接圆的圆心和f2的外接圆的圆心,计算得到、、的外接圆c,得到外接圆c的圆心,获取垂直、所在线段且经过所述外接圆c的圆心的直线,计算得到所述直线与所述外接圆c的两个交点,将两个交点中距离所述线段最近的交点作为。
13、优选地,所述方法还包括:
14、确定要简化的多个顶点百分比,根据所述多个顶点百分比对所述百分比进行排序,按照所述排序的顺序多次执行s2,得到百分比和所述精简后的obj文件的对应关系并存储所述对应关系。
15、此外,本发明还提供了一种建筑模型显示系统,所述系统包括以下模块:
16、顶点对排序模块,用于获取建筑模型的obj格式的文件,根据顶点所在的所有三角面的法向量计算得到顶点的第一值,对于所述文件中具有连接关系的顶点对<>,确定两个三角面,所述两个三角面共用顶点对<>构成的边,并计算所述两个三角面的两个法向量,根据所述第一值和所述两个法向量对顶点对进行排序;
17、顶点合并模块,用于确定要简化的顶点百分比,基于所述排序的结果和所述顶点百分比确定待合并的顶点对,对于待合并的顶点对,确定待合并的顶点对构成的边所在的三角面f1、f2,根据f1和f2确定顶点,将所有与、相联的顶点连接到,得到精简后的obj文件;其中,为将、合并后得到的顶点;
18、渲染模块,用于根据计算资源确定要简化的顶点的百分比,基于所述百分比确定精简后的obj文件,将精简后的obj格式的文件作为渲染管线的输入,经过渲染管线的渲染后在显示器中显示建筑模型。
19、优选地,所述根据顶点所在的所有三角面的法向量计算得到顶点的第一值,具体为:
20、根据公式计算所有三角面归一化后的法向量之间的距离,其中(x,y,z)和(a,b,c)分别为两个三角面归一化后的法向量;
21、根据公式计算所述距离的方差,将所述方差作为第一值,其中,n表示所述距离的个数,表示所述距离的平均值,表示第k个所述距离。
22、优选地,所述根据所述第一值和所述两个法向量对顶点对进行排序,具体为:
23、获取所述两个法向量和顶点对中两个顶点对应的两个所述第一值,计算所述两个法向量的距离,根据公式计算得到权重,按照权重从小到大的顺序对所述顶点对进行排序;其中,、分别表示顶点、对应的所述第一值,表示所述两个法向量的距离,为预设值。
24、优选地,所述根据f1和f2确定顶点,具体为:
25、当f1和f2同面时,计算f1和f2的四个顶点的外接球,并得到外接球的球心,将球心作为;
26、当f1和f2不同面时,计算f1和f2的四个顶点的外接球,并得到外接球的球心;计算得到f1的外接圆的圆心和f2的外接圆的圆心,计算得到、、的外接圆c,得到外接圆c的圆心,获取垂直、所在线段且经过所述外接圆c的圆心的直线,计算得到所述直线与所述外接圆c的两个交点,将两个交点中距离所述线段最近的交点作为。
27、优选地,所述方法还包括:
28、确定要简化的多个顶点百分比,根据所述多个顶点百分比对所述百分比进行排序,按照所述排序的顺序多次执行所述顶点合并模块,得到百分比和所述精简后的obj文件的对应关系并存储所述对应关系。
29、最后,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,实现如上所述的方法。
30、针对建筑模型结构复杂,在资源有限的单机上显示困难的问题,本发明提出了一种建模模型显示方法及系统,具体地,从建筑模型的obj格式文件中获取所有顶点和三角面,并对具有连接关系的顶点对进行排序,然后确定出要合并的顶点,并生成新的顶点,以此简化建筑模型中顶点的数量,提高渲染速度。
1.一种建筑模型显示方法,其特征在于,所述方法包括以下步骤:
2.如权利要求1所述的方法,其特征在于,所述根据顶点所在的所有三角面的法向量计算得到顶点的第一值,具体为:
3.如权利要求1所述的方法,其特征在于,所述根据所述第一值和所述两个法向量对顶点对进行排序,具体为:
4.如权利要求1所述的方法,其特征在于,所述根据f1和f2确定顶点,具体为:
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
6.一种建筑模型显示系统,其特征在于,所述系统包括以下模块:
7.如权利要求6所述的系统,其特征在于,所述根据顶点所在的所有三角面的法向量计算得到顶点的第一值,具体为:
8.如权利要求6所述的系统,其特征在于,所述根据所述第一值和所述两个法向量对顶点对进行排序,具体为:
9.如权利要求6所述的系统,其特征在于,所述根据f1和f2确定顶点,具体为:
10.一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,实现如权利要求1-5任一项所述的方法。