本发明涉及一种三维建筑的建模方法及其装置。
背景技术:
三维地图的大范围逐渐被推广应用,越来越多的三维地图被制作出来。三维仿真地图精美实用,但其制作过程也较为繁琐。一般来讲,三维模型的制作采用MAX软件进行建模,模型的制作越精细,其相应的制作工序及流程越多,其耗费的时间、人力及物力越多,而对应的成本就越高;相反的,制作的模型越简单,其制作的工序和流程越简单,其相应的成本也较低。
因此实际上,三维仿真地图制作也是根据实际建筑物的复杂程度及实际需求,将地图上模型的建筑物类型分为几个等级,每个等级的建模要求也不一样,这样既节约了成本又实现了对地图应用目标的要求。其中城中村就属于结构简单的类型,模型的建立流程也比较简单。目前的城中村的建模采用3DMAX进行单个建立,根据提供的CAD等数据进行画线及纹理贴图的建立。
目前,这种3DMAX城中村的建模,具有大量重复性的操作,城中村的建筑不但结构简单而且结构都类似,除此之外城中村的建筑的外面材质及纹理也相差不多。因此若是对每一幢都采用单桩方式建立,这样的方式耗时耗力,也使三维地图建设的成本较高,如何解决这一个问题,是三维仿真建模的一个重要问题。
技术实现要素:
为了克服现有技术的不足,本发明的目的在于提供一种三维建筑的建模方法及其装置,其能实现对简单建筑三维模型的快速建模。
本发明的目的采用以下技术方案实现:
一种三维建筑的建模方法,包括如下步骤:
S1、加载纹理贴图的材质库;
S2、获取建筑数据,判断建筑数据中是否符合要求,如果是则执行S3,否则执行S6;符合要求的建筑数据具有层高属性,且每个建筑仅有一个底线框;
S3、根据建筑数据生成框架模型;
S4、从材质库中获取材质数据,并根据框架模型和材质数据生成建筑模型;
S5、对建筑模型进行轴心归中归底设置,执行S7;
S6、判断建筑数据的底线框是否符合要求,如果否则获取遥感影像,根据遥感影像获取底线框;并判断建筑数据是否有层高属性,如果否则获取外业采集拍摄的建筑的照片,并根据照片获取层高数据;以上两个判断均为是时,返回S3;
S7、获取遥感影像和外业采集拍摄的建筑的照片,根据遥感影像设置建筑模型的楼顶结构,以及根据照片从材质库中获取楼顶结构的材质数据,获得最终的三维建筑模型。
作为优选,S3中以底线框作为基础数据,根据层高数据生成建筑模型。
作为优选,S6中获取遥感影像,在遥感影像上重新绘制底线框,以获取底线框。
作为优选,S6中获取外业采集拍摄的建筑的照片,根据照片的楼层数目及估算的单层的层高数据,以获取层高属性。
作为优选,楼顶结构包括尖顶房和/或内凹女儿墙。
一种三维建筑的建模装置,包括:
加载模块,用于加载纹理贴图的材质库;
第一判断模块,用于获取建筑数据,判断建筑数据是否符合要求,如果是则执行第一生成模块,否则执行第二判断模块;符合要求的建筑数据具有层高属性,且每个建筑仅有一个底线框;
第一生成模块,用于根据建筑数据生成框架模型;
第二生成模块,用于从材质库中获取材质数据,并根据框架模型和材质数据生成建筑模型;
第三生成模块,用于对建筑模型进行轴心归中归底设置,执行第四生成模块;
第二判断模块,用于判断建筑数据的底线框是否符合要求,如果否则获取遥感影像,根据遥感影像获取底线框;并判断建筑数据是否有层高属性,如果否则获取外业采集拍摄的建筑的照片,并根据照片获取层高数据;以上两个判断均为是时,返回第一生成模块;
第四生成模块,用于获取遥感影像和外业采集拍摄的建筑的照片,根据遥感影像设置建筑模型的楼顶结构,以及根据照片从材质库中获取楼顶结构的材质数据,获得最终的三维建筑模型。
作为优选,所述建筑数据包括底线框和层高属性;第一生成模块中以底线框作为基础数据,根据层高数据生成建筑模型。
作为优选,第二判断模块中获取遥感影像,在遥感影像上重新绘制底线框,以获取底线框。
作为优选,第二判断模块中获取外业采集拍摄的建筑的照片,根据照片的楼层数目及估算的单层的层高数据,以获取层高属性。
作为优选,楼顶结构包括尖顶房和/或内凹女儿墙。
相比现有技术,本发明的有益效果在于:能够快速实现城中村的三维建模,减少了繁琐的重复性的建模操作,减少了建模工作量,缩短了人工建模的时间。
附图说明
图1为本发明的建模方法的流程图;
图2为本发明的建模装置的模块连接图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述:
一种三维建筑的建模方法,在本实施例中其实施方法应用于3DMAX软件,如图1所示,包括如下步骤:
步骤100、加载材质库;该材质库为建筑主体的纹理贴图的材质库,在本实施例中建筑主体为城中村建筑。
步骤101、获取建筑数据,判断建筑数据中是否符合要求,如果是执行步骤102,否则执行步骤105;
该建筑数据为CAD数据,建筑数据符合要求的标准是:建筑数据中具有层高属性,且每个建筑仅有一个底线框;符合要求的建筑数据可以直接根据底线框作为城中村自动建模的基础数据。
建筑CAD或面矢量数据(shp格式等)会具有楼层的单层高度及楼层数目这些高度属性数据,通常把楼层的高度及楼层数称为这些CAD数据或矢量数据的层高属性。
步骤102、根据建筑数据生成框架模型;具体的,以底线框作为基础数据,根据层高数据生成框架模型;所述框架模型为白模。
步骤103、从材质库中获取材质数据,并根据框架模型和材质数据生成建筑模型。具体的,对建立的框架模型进行设置材质,计算随机材质参数,如水平窗户及垂直窗户的设置,计算展示窗户的数量,并合理安置其位置,对不够展窗户的部分进行展示墙体。
步骤104、对建筑模型进行轴心归中归底设置;执行步骤107。在建模的过程中,一个模型可能分多部分建立,一般坐标的中心会在最初建立的那一部分的中心处,这样会导致整体的坐标是有所偏移,为了纠正坐标到整体部分上去,需要对进行轴心归中归底设置,这样可以使整个坐标的中心处于整体上,从而使坐标中心处于合理的位置,而纠正了坐标的偏移。
每个建筑数据可能包括多个建筑的CAD数据,以每个CAD数据的底线框,对每一底线框都进行以上步骤102至步骤104的操作,这样省去了重复性的操作过程,实现了一键式全操作,节约了时间提高了城中村的建模效率。
步骤105、判断建筑数据的底线框是否符合要求,如果是执行步骤106,否则获取由卫星或航空飞行器所拍摄的遥感影像,根据遥感影像获取底线框,后执行步骤106。具体的,在遥感影像上重新绘制底线框,以获取底线框。底线框符合要求为:底线框仅有一个;如果建筑数据中没有底线框,或者底线框为多个,均不符合要求。
步骤106、判断建筑数据是否有层高属性,如果是执行102,否则获取外业采集拍摄的建筑的照片,并根据照片获取层高数据,执行步骤102;具体的,根据照片的楼层数目及估算的单层的层高数据,以获取层高属性;或根据通过其他资料获取或估算楼层数目及单层的层高数据,以获取层高属性。
例如设置一层楼房高度为3.5米,随机生成1-2层高度的建筑,设置参数就是(3.5,7),1-5层参数就是(3.5,7,10.5,14,17.5)。对于不同楼房来讲,楼高数据可以修改。
需要说明的是,步骤105和步骤106并不一定要按照本实施例的先后顺序进行判断,也可以先判断是否有层高属性,在判断底线框是否符合要求。
步骤107、获取由卫星或航空飞行器所拍摄的遥感影像以及外业采集拍摄的建筑的照片,根据遥感影像设置建筑模型的楼顶结构,以及根据照片从材质库中获取楼顶结构的材质数据,对楼顶结构进行贴图,获得最终的三维建筑模型;楼顶结构包括:尖顶房、内凹女儿墙等。
一种三维建筑的建模装置,如图2所示,包括如下模块:
加载模块,用于加载纹理贴图的材质库;该材质库为建筑主体的纹理贴图的材质库,在本实施例中建筑主体为城中村建筑。
第一判断模块,用于获取建筑数据,判断建筑数据中是否符合要求,如果是执行第一生成模块,否则执行第二判断模块;
第一生成模块,用于根据建筑数据生成框架模型;具体的,以底线框作为基础数据,根据层高数据生成框架模型;所述框架模型为白模。
第二生成模块,用于从材质库中获取材质数据,并根据框架模型和材质数据生成建筑模型。具体的,对建立的框架模型进行设置材质,计算随机材质参数,如水平窗户及垂直窗户的设置,计算展示窗户的数量,并合理安置其位置,对不够展窗户的部分进行展示墙体。
第三生成模块,用于对建筑模型进行轴心归中归底设置;执行第四生成模块。在建模的过程中,一个模型可能分多部分建立,一般坐标的中心会在最初建立的那一部分的中心处,这样会导致整体的坐标是有所偏移,为了纠正坐标到整体部分上去,需要对进行轴心归中归底设置,这样可以使整个坐标的中心处于整体上,从而使坐标中心处于合理的位置,而纠正了坐标的偏移。
第二判断模块,用于判断建筑数据的底线框是否符合要求,如果否则获取遥感影像,根据遥感影像获取底线框;并判断建筑数据是否有层高属性,如果否则获取外业采集拍摄的建筑的照片,并根据照片获取层高数据;以上两个判断均为是时,返回第一生成模块。
第四生成模块,用于获取遥感影像和外业采集拍摄的建筑的照片,根据遥感影像设置建筑模型的楼顶结构,以及根据照片从材质库中获取楼顶结构的材质数据,获得最终的三维建筑模型;楼顶结构包括:尖顶房、内凹女儿墙等。
本发明实现了城中村批量快速建模,一键操作就能实现城中村的快速建模,减少了繁琐的重复性的城中村的建模操作,减小了人工作业的量,很大程度上缩短了人工建模的时间,提高了效率及缩小了三维仿真地图制作成本,有利于三维仿真地图生产及应用。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。