CN116822004A - 屋顶模型生成方法、装置和电子设备 - Google Patents
屋顶模型生成方法、装置和电子设备 Download PDFInfo
- Publication number
- CN116822004A CN116822004A CN202310608334.6A CN202310608334A CN116822004A CN 116822004 A CN116822004 A CN 116822004A CN 202310608334 A CN202310608334 A CN 202310608334A CN 116822004 A CN116822004 A CN 116822004A
- Authority
- CN
- China
- Prior art keywords
- roof
- model
- plane
- determining
- prefabricated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000003860 storage Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Civil Engineering (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Mathematics (AREA)
- Structural Engineering (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Instructional Devices (AREA)
Abstract
本发明提供了一种屋顶模型生成方法、装置和电子设备,获取初始房屋模型,确定初始房屋模型的屋顶平面;将屋顶平面中的边缘线向屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线;根据屋顶边线和屋顶平面,生成包含有底面结构和顶面结构的屋顶立面模型;根据顶面结构中的屋顶顶点和底面结构,在底面结构中确定预制屋顶模型的放置位置和预制屋顶模型的缩放比例;根据放置位置和缩放比例,将预制屋顶模型放置于底面结构的放置位置,得到最终屋顶模型。该方式可根据初始房屋模型自动生成屋顶立面模型,然后将预制屋顶模型放置在屋顶立面模型上,即可生成最终屋顶模型,该方式提高了屋顶模型的生成速度,且用户可通过调整预制屋顶模型的造型。
Description
技术领域
本发明涉及模型制作技术领域,尤其是涉及一种屋顶模型生成方法、装置和电子设备。
背景技术
相关技术中的自动化房屋制作方式,通常使用简单的立方盒子模型,在模型的立面放置房屋模型的窗户、墙面、门等模块,房屋模型的屋顶采用一个斜面或者平面代替,该制作方式简单,但是得到的房屋模型的屋顶造型效果单一;为了丰富屋顶效果,还可以由美术人员根据项目需求直接将房屋模型制作出来,但是该方式需要配合项目需求,普适性较差,而且该方式制作出来的房屋模型中的屋顶模型是一整块的,不利于后续对屋顶模型进行造型改造。
发明内容
本发明的目的在于提供一种屋顶模型生成方法、装置和电子设备,以快速生成屋顶模型,并可任意修改屋顶模型造型。
第一方面,本发明提供了一种屋顶模型生成方法,该方法包括:获取初始房屋模型,确定初始房屋模型的屋顶平面;将屋顶平面中的边缘线向屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线;根据屋顶边线和屋顶平面,生成屋顶立面模型;其中,屋顶立面模型包含由屋顶平面确定的底面结构,以及由屋顶边线得到的屋顶顶点确定的顶面结构;根据屋顶顶点,在底面结构中确定预制屋顶模型的放置位置;根据屋顶顶点与底面结构的距离,以及预制屋顶模型的模型参数,确定预制屋顶模型的缩放比例;根据放置位置和缩放比例,将预制屋顶模型放置于底面结构的放置位置,得到由预制屋顶模型和屋顶立面模型构成的屋顶模型。
第二方面,本发明提供了一种屋顶模型生成装置,该装置包括:平面确定模块,用于获取初始房屋模型,确定初始房屋模型的屋顶平面;屋顶边线确定模块,用于将屋顶平面中的边缘线向屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线;立面模型生成模块,用于根据屋顶边线和屋顶平面,生成屋顶立面模型;其中,屋顶立面模型包含由屋顶平面确定的底面结构,以及由屋顶边线得到的屋顶顶点确定的顶面结构;放置位置确定模块,用于根据屋顶顶点,在底面结构中确定预制屋顶模型的放置位置;缩放比例确定模块,用于根据屋顶顶点与底面结构的距离,以及预制屋顶模型的模型参数,确定预制屋顶模型的缩放比例;屋顶模型生成模块,用于根据放置位置和缩放比例,将预制屋顶模型放置于底面结构的放置位置,得到由预制屋顶模型和屋顶立面模型构成的屋顶模型。
第三方面,本发明提供了一种电子设备,该电子设备包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述屋顶模型生成方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述屋顶模型生成方法。
本发明实施例带来了以下有益效果:
本发明提供的一种屋顶模型生成方法、装置和电子设备,首先获取初始房屋模型,确定初始房屋模型的屋顶平面;进而将屋顶平面中的边缘线向屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线;根据屋顶边线和屋顶平面,生成屋顶立面模型,该屋顶立面模型包含由屋顶平面确定的底面结构,以及由屋顶边线得到的屋顶顶点确定的顶面结构;再根据屋顶顶点,在底面结构中确定预制屋顶模型的放置位置;然后根据屋顶顶点与底面结构的距离,以及预制屋顶模型的模型参数,确定预制屋顶模型的缩放比例;并根据放置位置和缩放比例,将预制屋顶模型放置于底面结构的放置位置,得到由预制屋顶模型和屋顶立面模型构成的屋顶模型。该方式可以根据初始房屋模型自动生成屋顶立面模型,然后将预制屋顶模型放置在屋顶立面模型上,即可生成最终屋顶模型,该方式提高了屋顶模型的生成速度,且用户可通过调整预制屋顶模型的造型,快速修改最终屋顶模型,提高了屋顶模型修改的自由度。
本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种屋顶模型生成方法的流程图;
图2为本发明实施例提供的另一种屋顶模型生成方法的流程图;
图3为本发明实施例提供的一种初始房屋模型的示意图;
图4为本发明实施例提供的一种屋顶边线的示意图;
图5为本发明实施例提供的另一种屋顶模型生成方法的流程图;
图6为本发明实施例提供的具有尖顶结构的初始屋顶立面模型的示意图;
图7为本发明实施例提供的一种在包围盒上确定屋顶顶点的示意图;
图8为本发明实施例提供的一种屋顶立面模型的示意图;
图9为本发明实施例提供的一种屋顶立面模型中的立面的示意图;
图10为本发明实施例提供的生成屋顶立面模型的示意图;
图11为本发明实施例提供的由预制屋顶模型和屋顶立面模型构成的屋顶模型示意图;
图12为本发明实施例提供的一种屋顶模型生成装置的结构示意图;
图13为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
自动化生成管线中,自动化房屋生成是一个值得研究的课题。相比于墙面,房屋的屋顶具有更加复杂的几何结构,全自动生成的屋顶的算法往往比较复杂且适用面狭窄,普通的屋顶模型放置算法又比较简单无法适应斜面造型的屋顶。如何将美术制作的精细屋顶模型和较为复杂的屋顶自动化流程结合起来,是当前研究的重点。
相关技术中的自动化房屋制作流程,大多数都是配合项目需求定制的流程,普适性较差,答题可以分为两种制作思路。一种是,为了追求生成速度,不太考虑美术效果的立方盒子型建筑,建筑的里面放置窗户、墙面、门等模块,房屋模型的屋顶采用一个斜面或者平面代替,该制作方式简单,但是得到的房屋模型的屋顶造型效果单一。另一种是,美术人员根据项目需求直接将房屋模型制作出来,该方式可以做到效果丰富,但所需算法复杂,生成效率低,且一般是一整块屋顶模型,不利于后续优化。
基于上述问题,本发明实施例提供了一种屋顶模型生成方法、装置和电子设备,该技术可以应用于虚拟建筑制作场景中,尤其是虚拟房屋的屋顶自动生成场景中。
为了便于对本发明实施例进行理解,首先对本发明实施例公开的一种屋顶模型生成方法进行详细接收,如图1所示,该方法包括如下具体步骤:
步骤S102,获取初始房屋模型,确定初始房屋模型的屋顶平面。
上述初始房屋模型通常是美术人员制作的房屋白盒,初始房屋模型可以由至少一个房屋白盒组成,每个房屋白盒通常是指房屋建筑所使用的简易模型,该房屋白盒可以用一个立方体的结构表示。每个房屋白盒的上表面均为初始房屋模型的屋顶平面,该屋顶平面通常为水平面。
步骤S104,将屋顶平面中的边缘线向屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线。
上述屋顶平面的边缘线通常是指围绕屋顶平面周围形成的轮廓线,例如,当屋顶平面为长方形时,屋顶平面的边缘线是指长方形的四条边;如果屋顶平面为圆形时,屋顶平面的边缘线是指圆形的轮廓。将屋顶平面中的边缘线向屋顶平面的中心移动,当移动后的边缘线有重合时,停止移动,并根据移动后的边缘线得到屋顶边线。具体地,还可以根据屋顶边线,确定屋顶模型的具体结构类型,该结构类型包含尖顶结构和平顶结构。当屋顶模型为尖顶结构时,执行下述步骤,当屋顶模型为平顶结构时,将屋顶平面确定为最终屋顶模型。
步骤S106,根据屋顶边线和屋顶平面,生成屋顶立面模型;其中,屋顶立面模型包含由屋顶平面确定的底面结构,以及由屋顶边线得到的屋顶顶点确定的顶面结构。
在具体实现时,当屋顶模型为尖顶结构时,顶面结构为尖顶形状,底面结构为屋顶平面。根据屋顶边线的两个端点可以确定顶面结构中的屋顶顶点,根据屋顶顶点与屋顶平面的顶点的连线,可得到初始屋顶立面模型;根据初始屋顶立面模型以及初始屋顶立面模型的包围盒,生成屋顶立面模型。
步骤S108,根据屋顶顶点,在底面结构中确定预制屋顶模型的放置位置。
上述预制屋顶模型通常是美术人员根据需求预先制作的具有一定美化效果的屋顶造型的模型。屋顶立面模型仅是简单的屋顶模型,美术人员可以通过预制屋顶模型对屋顶模型进行装饰和修改,因而,美术人员可以将预制屋顶模型放置在屋顶立面模型上,以美化屋顶立面模型,得到最终屋顶模型。在具体实现时,可以根据屋顶顶点在屋顶立面模型中的位置,确定底面结构中放置预制屋顶模型的边缘线,并将该边缘线上的预设位置确定为预制屋顶模型的放置位置,该预设位置可以根据研发需求确定,例如,该预设位置可以是边缘线上的某一固定点,也可以是边缘线的中点等。
步骤S110,根据屋顶顶点与底面结构的距离,以及预制屋顶模型的模型参数,确定预制屋顶模型的缩放比例。
由于预制屋顶模型的尺寸可能与屋顶立面模型的尺寸不一致,需要调整预制屋顶模型的尺寸才能将预制屋顶模型放置在屋顶立面模型的放置位置上,因而需要根据预制屋顶模型的尺寸,与屋顶顶点与底面结构的距离的比值,确定预制屋顶模型的缩放比例。
步骤S112,根据放置位置和缩放比例,将预制屋顶模型放置于底面结构的放置位置,得到由预制屋顶模型和屋顶立面模型构成的屋顶模型。
根据缩放比例,对预制屋顶模型进行缩放处理,得到与屋顶立面模型相匹配的缩放后的预制屋顶模型,将缩放后的预制屋顶模型放在屋顶立面模型的底面结构的放置位置上,得到由缩放后的预制屋顶模型和屋顶立面模型构成的屋顶模型。
本发明实施例提供的一种屋顶模型生成方法,首先获取初始房屋模型,确定初始房屋模型的屋顶平面;进而将屋顶平面中的边缘线向屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线;根据屋顶边线和屋顶平面,生成屋顶立面模型,该屋顶立面模型包含由屋顶平面确定的底面结构,以及由屋顶边线得到的屋顶顶点确定的顶面结构;再根据屋顶顶点,在底面结构中确定预制屋顶模型的放置位置;然后根据屋顶顶点与底面结构的距离,以及预制屋顶模型的模型参数,确定预制屋顶模型的缩放比例;并根据放置位置和缩放比例,将预制屋顶模型放置于底面结构的放置位置,得到由预制屋顶模型和屋顶立面模型构成的屋顶模型。该方式可以根据初始房屋模型自动生成屋顶立面模型,然后将预制屋顶模型放置在屋顶立面模型上,即可生成最终屋顶模型,该方式提高了屋顶模型的生成速度,且用户可通过调整预制屋顶模型的造型,快速修改最终屋顶模型,提高了屋顶模型修改的自由度。
本发明实施例还提供一种屋顶模型生成方法,在该屋顶模型生成方法中,获取初始房屋模型,确定初始房屋模型的屋顶平面的步骤,具体可以包括:获取初始房屋模型;初始房屋模型由至少一个立方体盒子组成;针对每个立方体盒子,将当前立方体盒子的顶面,确定为初始房屋模型中当前立方体盒子对应的屋顶平面。
其中,屋顶边线经过屋顶平面的中心。
本发明实施例还提供一种屋顶模型生成方法,其中,屋顶平面包括四条边缘线;在该屋顶模型生成方法中,将屋顶平面中的边缘线向屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线的步骤,具体可以包括:按照预设速度,将屋顶平面中的每条边缘线均向屋顶平面的中心移动,在两条移动后的边缘线重合时,停止移动;确定停止移动时两条移动后的边缘线重合后生成的重合线;确定屋顶平面中除重合线对应的两条边缘线之外的两条目标边缘线,以及每条移动后的目标边缘线与重合线的交点;将重合线中两个交点之间的线段,确定为屋顶边线。
本发明实施例还提供一种屋顶模型生成方法,在该屋顶模型生成方法中,在根据屋顶边线和屋顶平面,生成屋顶立面模型之前,所述方法还可以包括:确定屋顶模型的结构类型为尖顶结构;其中,结构类型根据屋顶边线确定,结构类型包含尖顶结构和平顶结构中的任一种。
其中,屋顶模型的结构类型确定过程可以包括:计算屋顶边线的端点到屋顶平面的每条边缘线的距离,将距离的最大值确定为边缘参数;判断边缘参数是否大于预设距离阈值,如果大于,确定屋顶模型的结构类型为尖顶结构;如果不大于,确定屋顶模型的结构类型为平顶结构。
本发明实施例还提供一种屋顶模型生成方法,在该屋顶模型生成方法中,根据屋顶边线和屋顶平面,生成屋顶立面模型的步骤,具体可以包括:将屋顶边线向上偏移预设距离,得到偏移后的屋顶边线;根据偏移后的屋顶边线的端点与屋顶平面的顶点的连线,得到初始屋顶立面模型;根据初始屋顶立面模型以及初始屋顶立面模型的包围盒,生成屋顶立面模型。
上述根据初始屋顶立面模型以及初始屋顶立面模型的包围盒,生成屋顶立面模型的可实现方式,包括:生成初始屋顶立面模型的包围盒;从偏移后的屋顶边线的每个端点开始,朝偏移后的屋顶边线的反方向发射射线,将每条射线与包围盒的交点确定为屋顶顶点;根据屋顶顶点以及屋顶平面,得到屋顶立面模型。
上述生成初始屋顶立面模型的包围盒的可实现方式,包括:将屋顶平面中的每条边缘线均竖直向上延伸,得到包围屋顶平面和偏移后的屋顶边线的包围盒。
在该屋顶模型生成方法中,根据屋顶顶点,在底面结构中确定预制屋顶模型的放置位置的步骤,具体可以包括:从底面结构中,确定与屋顶顶点位于包围盒的同一目标面的第一边缘线;将第一边缘线的中点,确定为预制屋顶模型在底面结构中的放置位置。
在该屋顶模型生成方法中,上述预制屋顶模型的模型参数包括:预制屋顶模型的尺寸;根据屋顶顶点与底面结构的距离,以及预制屋顶模型的模型参数,确定预制屋顶模型的缩放比例的步骤,具体可以包括:计算与屋顶顶点位于包围盒的同一目标面的第一边缘线的中点与屋顶顶点的距离,得到目标距离值;根据预制屋顶模型的尺寸与目标距离值,确定预制屋顶模型的缩放比例。
本发明实施例还提供了另一种屋顶模型生成方法,该方法在上述实施例的基础上实现,该方法重点描述获取初始房屋模型,确定初始房屋模型的屋顶平面的具体过程(具体通过下述步骤S202-S204实现),将屋顶平面中的边缘线向屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线的具体过程(具体通过下述步骤S206-S212实现);如图2所示,获取初始房屋模型,确定所述初始房屋模型的屋顶平面的步骤,包括如下具体步骤:
步骤S202,获取初始房屋模型;该初始房屋模型由至少一个立方体盒子组成。
上述初始房屋模型通常是美术人员制作的房屋白盒,初始房屋模型可以由至少一个房屋白盒组成,该房屋白盒也即是立方体盒子。该立方体盒子可以是长方体、正方体或者其他立方体等。该初始房屋模型中所包含的立方体盒子的数量和形状可以根据美术人员需求设置。
步骤S204,针对每个立方体盒子,将当前立方体盒子的顶面,确定为初始房屋模型中当前立方体盒子对应的屋顶平面;其中,屋顶平面包括四条边缘线。
在具体实现时,根据每个立方体盒子的顶部的面对应的坐标,即可得到每个立方体盒子对应的屋顶平面。通常初始房屋模型包含的立方体盒子的数量与屋顶平面的数量相匹配。如图3所示为本发明实施例提供的一种初始房屋模型的示意图,该初始房屋模型由两个立方体盒子组成,每个立方体盒子的顶面均为一个屋顶平面,图3中深色区域也即是屋顶平面。
需要说明的是,本发明的算法是一个循环结构,会把每个立方体盒子的顶面都找出来,从而得到每个立方体盒子对应的屋顶平面,以使所有立方体盒子的顶面都会生成屋顶。
将屋顶平面中的边缘线向屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线的步骤包括步骤S206至步骤S212,包括:
步骤S206,按照预设速度,将屋顶平面中的每条边缘线均向屋顶平面的中心移动,在两条移动后的边缘线重合时,停止移动。
在实际应用中,可以利用polyexpand节点将屋顶平面中的每个边缘线均向屋顶平面的中心移动,在两条移动后的边缘线重合时,停止移动。其中,polyexpand节点是houdini软件中将平面的线按一定距离向内或者外延展的节点。
步骤S208,确定停止移动时两条移动后的边缘线重合后生成的重合线。
在实际应用中,可以将两条移动后的边缘线重合后形成的线,确定为重合线。
步骤S210,确定屋顶平面中除重合线对应的两条边缘线之外的两条目标边缘线,以及每条移动后的目标边缘线与重合线的交点。
上述目标边缘线是在边缘线移动过程中,停止移动时,屋顶平面中未与其他边缘线重合的边缘线,且目标边缘线与重合线存在交点。
步骤S212,将重合线中两个交点之间的线段,确定为屋顶边线。
在实际应用中,屋顶边线经过屋顶平面的中心,且上述重合线也经过屋顶平面的中心。如图4所示为本发明实施例提供的一种屋顶边线的示意图,屋顶平面的四条边缘线包括:顶点0和顶点1连接组成的线段1、顶点1和顶点3连接组成的线段2、顶点3和顶点2连接组成的线段3,以及顶点0和顶点2连接组成的线段4。将四条边缘线向屋顶平面的中心移动后,移动后的线段1和移动后的线段4会重合,得到重合线,移动后的线段1与重合线的交点为顶点5,移动后的线段3与重合线的交点为顶点4;那么重合线中顶点4和顶点5之间的线段为屋顶边线。
步骤S214,根据屋顶边线和屋顶平面,生成屋顶立面模型;其中,屋顶立面模型包含由屋顶平面确定的底面结构,以及由屋顶边线得到的屋顶顶点确定的顶面结构。
步骤S216,根据屋顶顶点,在底面结构中确定预制屋顶模型的放置位置。
步骤S218,根据屋顶顶点与底面结构的距离,以及预制屋顶模型的模型参数,确定预制屋顶模型的缩放比例。
步骤S220,根据放置位置和缩放比例,将预制屋顶模型放置于底面结构的放置位置,得到由预制屋顶模型和屋顶立面模型构成的屋顶模型。
上述屋顶模型生成方法,该方式按模块化的方式生成建筑的屋顶,并能够最大化保留美术的造型设计。同时,该方式能够自动化放置预制屋顶模型在计算好的屋顶结构上,从而提高了屋顶模型生成速度。
本发明实施例还提供了另一种屋顶模型生成方法,该方法在上述实施例的基础上实现,该方法重点描述根据屋顶边线和屋顶平面,生成屋顶立面模型的具体过程(具体通过下述步骤S508-S512实现),根据屋顶顶点,在底面结构中确定预制屋顶模型的放置位置的具体过程(通过下述步骤S514-S516实现),以及根据屋顶顶点与底面结构的距离,以及预制屋顶模型的模型参数,确定预制屋顶模型的缩放比例的具体过程(通过下述步骤S518-S520实现);如图5所示,该方法包括如下具体步骤:
步骤S502,获取初始房屋模型,确定初始房屋模型的屋顶平面。
步骤S504,将屋顶平面中的边缘线向屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线。
步骤S506,确定屋顶模型的结构类型为尖顶结构;其中,结构类型根据屋顶边线确定,结构类型包含尖顶结构和平顶结构中的任一种。
在实际应用中,可以通过下述步骤10-11确定屋顶模型的结构类型:
步骤10,计算屋顶边线的端点到屋顶平面的每条边缘线的距离,将距离的最大值确定为边缘参数。
如图4所示,屋顶边线的端点也即是顶点4和顶点5,计算顶点4到屋顶平面的每条边缘线的距离,然后再计算顶点5到每条边缘线的距离,将其中距离的最大值确定为边缘参数,并存储该边缘参数至预设位置。
步骤11,判端边缘参数是否大于预设距离阈值;确定屋顶模型的结构类型为尖顶结构;如果不大于,确定屋顶模型的结构类型为平顶结构。
上述预设距离阈值的具体值可以根据研发需求确定,例如,该预设距离阈值可以是0.1或者0.5等。
步骤S508,将屋顶边线向上偏移预设距离,得到偏移后的屋顶边线。
在具体实现时,如果屋顶模型的结构类型为尖顶结构,需要将屋顶边线向屋顶平面的上方偏移,也即是将屋顶边线向Y轴的正方向偏移预设距离,得到偏移后的屋顶边线。上述预设距离可以根据用户需求设定,例如,该预设距离可以设置为10或者15等。
步骤S510,根据偏移后的屋顶边线的端点与屋顶平面的顶点的连线,得到初始屋顶立面模型。
如图6所示为本发明实施例提供的具有尖顶结构的初始屋顶立面模型的示意图,将图4中的顶点4和顶点5对应的线段(相当于屋顶边线)向上偏移预设距离,可得到图6所示的在屋顶平面上方的顶点4和顶点5,然后将顶点4分别与顶点2和顶点3连接,再将顶点5分别与顶点0和顶点1连接,可得由偏移后的屋顶边线和屋顶平面组成的初始屋顶立面模型。具体地,上述顶点4和顶点5为屋顶边线的端点,包含有顶点0、顶点1、顶点2和顶点3的平面为屋顶平面。
步骤S512,根据初始屋顶立面模型以及初始屋顶立面模型的包围盒,生成屋顶立面模型。
在具体实现时,上述步骤S512可以通过下述步骤20-22实现:
步骤20,生成初始屋顶立面模型的包围盒。
将屋顶平面中的每条边缘线均竖直向上延伸,得到包围屋顶平面和偏移后的屋顶边线的包围盒。在具体实现时,可以利用polyextrude节点,将屋顶平面中的每条边缘线均沿Y轴正方向向上移动,得到能够包围屋顶平面和偏移后的屋顶边线的包围盒。
在实际应用中,还需要生成包围盒的每个顶点的法线,以作为后续的屋顶顶点偏移方向参数。
步骤21,从偏移后的屋顶边线的每个端点开始,朝偏移后的屋顶边线的反方向发射射线,将每条射线与包围盒的交点确定为屋顶顶点。
在具体实现时,首先提取标偏移后的屋顶边线的两个端点,然后在这两个端点上分别发射朝偏移后的屋顶边线的反方向的射线,将每条射线与包围盒的交点确定为屋顶顶点。如图7所示为在包围盒上确定屋顶顶点的示意图,图7中带有箭头的两条线为两个端点上分别发射朝偏移后的屋顶边线的反方向的射线,组线条的立方体为包围盒,射线与包围盒的交点即为屋顶顶点。
步骤22,根据屋顶顶点以及屋顶平面,得到屋顶立面模型。
屋顶立面模型的两个立面均是垂直于地面结构的,如图8所示为本发明实施例提供的一种屋顶立面模型的示意图。
步骤S514,从底面结构中,确定与屋顶顶点位于包围盒的同一目标面的第一边缘线。
在实际应用中,可以将屋顶立面模型中分离出立面,该立面也即是屋顶顶点在包围盒中所属的目标面,将底面结构中位于该目标面的边缘线确定为第一边缘线。
步骤S516,将第一边缘线的中点,确定为预制屋顶模型在底面结构中的放置位置。
在具体实现时,可将第一边缘线的中点,确定为预制屋顶模型中的指定点在底面结构中的放置位置;其中,指定点用于控制预制屋顶模型以预设姿态放置在底面结构的放置位置上。
步骤S518,计算与屋顶顶点位于包围盒的同一目标面的第一边缘线的中点与屋顶顶点的距离,得到目标距离值。
如图8所示为一种屋顶立面模型中的立面的示意图,图8中的虚线线段的长度也即是目标距离值,图8中的两个圆点的位置表示两条第一边缘线分别对应的中点。
步骤S520,根据预制屋顶模型的尺寸与目标距离值,确定预制屋顶模型的缩放比例。
在具体实现时,可根据目标距离值与预制屋顶模型的尺寸的比例,确定预制屋顶模型的缩放比例。
步骤S522,根据放置位置和缩放比例,将预制屋顶模型放置于底面结构的放置位置,得到由预制屋顶模型和屋顶立面模型构成的屋顶模型。
在实际应用中,上述步骤S502-S520的步骤可在houdini软件中实现,并将该方式封装为一个HAD文件供游戏引擎使用,以使游戏引擎将预制屋顶模型放置在放置位置,渲染得到预制屋顶模型和屋顶立面模型构成的屋顶模型。如图10所示为本发明实施例提供的生成屋顶立面模型的示意图,图11所示为由预制屋顶模型和屋顶立面模型构成的屋顶模型示意图,比较图10和图11,可以看出增加预制屋顶模型后,优化了屋顶模型,使得屋顶模型更加美观。
上述屋顶模型生成方法,该方式利用初始屋顶模型和屋顶立面模型的方案可以节省模型面数,优化了屋顶生成性能;而且传统人工制作一个屋顶需要三天左右的时间,而本发明可以将人工制作时间缩短至一天,节省了人力资源;同时,相较于普通的自动化屋顶,该方案可以根据美术需求调整屋顶模型,有助于提升模型效果。
对应于上述方法实施例,本发明实施例提供了一种屋顶模型生成装置,如图12所示,该装置包括:
平面确定模块90,用于获取初始房屋模型,确定初始房屋模型的屋顶平面。
屋顶边线确定模块91,用于将屋顶平面中的边缘线向屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线。
立面模型生成模块92,用于根据屋顶边线和屋顶平面,生成屋顶立面模型;其中,屋顶立面模型包含由屋顶平面确定的底面结构,以及由屋顶边线得到的屋顶顶点确定的顶面结构。
放置位置确定模块93,用于根据屋顶顶点,在底面结构中确定预制屋顶模型的放置位置。
缩放比例确定模块94,用于根据屋顶顶点与所述底面结构的距离,以及预制屋顶模型的模型参数,确定预制屋顶模型的缩放比例。
屋顶模型生成模块95,用于根据放置位置和缩放比例,将预制屋顶模型放置于底面结构的放置位置,得到由预制屋顶模型和屋顶立面模型构成的屋顶模型。
上述屋顶模型生成装置,首先获取初始房屋模型,确定初始房屋模型的屋顶平面;进而将屋顶平面中的边缘线向屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线;根据屋顶边线和屋顶平面,生成屋顶立面模型,该屋顶立面模型包含由屋顶平面确定的底面结构,以及由屋顶边线得到的屋顶顶点确定的顶面结构;再根据屋顶顶点,在底面结构中确定预制屋顶模型的放置位置;然后根据屋顶顶点与底面结构的距离,以及预制屋顶模型的模型参数,确定预制屋顶模型的缩放比例;并根据放置位置和缩放比例,将预制屋顶模型放置于底面结构的放置位置,得到由预制屋顶模型和屋顶立面模型构成的屋顶模型。该方式可以根据初始房屋模型自动生成屋顶立面模型,然后将预制屋顶模型放置在屋顶立面模型上,即可生成最终屋顶模型,该方式提高了屋顶模型的生成速度,且用户可通过调整预制屋顶模型的造型,快速修改最终屋顶模型,提高了屋顶模型修改的自由度。
具体地,上述平面确定模块90,用于:获取初始房屋模型;初始房屋模型由至少一个立方体盒子组成;针对每个立方体盒子,将当前立方体盒子的顶面,确定为初始房屋模型中当前立方体盒子对应的屋顶平面。
在实际应用中,上述屋顶边线经过屋顶平面的中心。
在具体实现时,上述屋顶平面包括四条边缘线;上述屋顶边线确定模块91,用于:按照预设速度,将屋顶平面中的每条边缘线均向屋顶平面的中心移动,在两条移动后的边缘线重合时,停止移动;确定停止移动时两条移动后的边缘线重合后生成的重合线;确定屋顶平面中除重合线对应的两条边缘线之外的两条目标边缘线,以及每条移动后的目标边缘线与重合线的交点;将重合线中两个交点之间的线段,确定为屋顶边线。
进一步地,上述装置还包括结构确定模块,用于:在根据屋顶边线和屋顶平面,生成屋顶立面模型之前,确定屋顶模型的结构类型为尖顶结构;其中,结构类型根据屋顶边线确定,结构类型包含尖顶结构和平顶结构中的任一种。
在具体实现时,上述结构确定模块,还用于:计算屋顶边线的端点到屋顶平面的每条边缘线的距离,将距离的最大值确定为边缘参数;判断边缘参数是否大于预设距离阈值,如果大于,确定屋顶模型的结构类型为尖顶结构;如果不大于,确定屋顶模型的结构类型为平顶结构。
进一步地,上述立面模型生成模块92,用于:将屋顶边线向上偏移预设距离,得到偏移后的屋顶边线;根据偏移后的屋顶边线的端点与屋顶平面的顶点的连线,得到初始屋顶立面模型;根据初始屋顶立面模型以及初始屋顶立面模型的包围盒,生成屋顶立面模型。
在具体实现时,上述立面模型生成模块92,还用于:生成初始屋顶立面模型的包围盒;从偏移后的屋顶边线的每个端点开始,朝偏移后的屋顶边线的反方向发射射线,将每条射线与包围盒的交点确定为屋顶顶点;根据屋顶顶点以及屋顶平面,得到屋顶立面模型。
具体地,上述立面模型生成模块92,还用于:将屋顶平面中的每条边缘线均竖直向上延伸,得到包围屋顶平面和偏移后的屋顶边线的包围盒。
进一步地,上述放置位置确定模块93,用于:从底面结构中,确定与屋顶顶点位于包围盒的同一目标面的第一边缘线;将第一边缘线的中点,确定为预制屋顶模型在底面结构中的放置位置。
在具体实现时,上述预制屋顶模型的模型参数包括:预制屋顶模型的尺寸;上述缩放比例确定模块94,用于:计算与屋顶顶点位于包围盒的同一目标面的第一边缘线的中点与屋顶顶点的距离,得到目标距离值;根据预制屋顶模型的尺寸与目标距离值,确定预制屋顶模型的缩放比例。
本发明实施例所提供的屋顶模型生成装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例还提供了一种电子设备,如图13所示,该电子设备包括处理器和存储器,该存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令以实现上述屋顶模型生成方法。
具体地,上述屋顶模型生成方法,包括:获取初始房屋模型,确定初始房屋模型的屋顶平面;将屋顶平面中的边缘线向屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线;根据屋顶边线和屋顶平面,生成屋顶立面模型;其中,屋顶立面模型包含由屋顶平面确定的底面结构,以及由屋顶边线得到的屋顶顶点确定的顶面结构;根据屋顶顶点,在底面结构中确定预制屋顶模型的放置位置;根据屋顶顶点与底面结构的距离,以及预制屋顶模型的模型参数,确定预制屋顶模型的缩放比例;根据放置位置和缩放比例,将预制屋顶模型放置于底面结构的放置位置,得到由预制屋顶模型和屋顶立面模型构成的屋顶模型。
上述屋顶模型生成方法,可以根据初始房屋模型自动生成屋顶立面模型,然后将预制屋顶模型放置在屋顶立面模型上,即可生成最终屋顶模型,该方式提高了屋顶模型的生成速度,且用户可通过调整预制屋顶模型的造型,快速修改最终屋顶模型,提高了屋顶模型修改的自由度。
在可选实施例中,上述获取初始房屋模型,确定初始房屋模型的屋顶平面的步骤,包括:获取初始房屋模型;初始房屋模型由至少一个立方体盒子组成;针对每个立方体盒子,将当前立方体盒子的顶面,确定为初始房屋模型中当前立方体盒子对应的屋顶平面。
在可选实施例中,上述屋顶边线经过屋顶平面的中心。
在可选实施例中,上述屋顶平面包括四条边缘线;将屋顶平面中的边缘线向屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线的步骤,包括:按照预设速度,将屋顶平面中的每条边缘线均向屋顶平面的中心移动,在两条移动后的边缘线重合时,停止移动;确定停止移动时两条移动后的边缘线重合后生成的重合线;确定屋顶平面中除重合线对应的两条边缘线之外的两条目标边缘线,以及每条移动后的目标边缘线与重合线的交点;将重合线中两个交点之间的线段,确定为屋顶边线。
在可选实施例中,在根据屋顶边线和屋顶平面,生成屋顶立面模型的步骤之前,上述方法还包括:确定屋顶模型的结构类型为尖顶结构;其中,结构类型根据屋顶边线确定,结构类型包含尖顶结构和平顶结构中的任一种。
在可选实施例中,上述方法还包括:计算屋顶边线的端点到屋顶平面的每条边缘线的距离,将距离的最大值确定为边缘参数;判断边缘参数是否大于预设距离阈值,如果大于,确定屋顶模型的结构类型为尖顶结构;如果不大于,确定屋顶模型的结构类型为平顶结构。
在可选实施例中,上述根据屋顶边线和屋顶平面,生成屋顶立面模型的步骤,包括:将屋顶边线向上偏移预设距离,得到偏移后的屋顶边线;根据偏移后的屋顶边线的端点与屋顶平面的顶点的连线,得到初始屋顶立面模型;根据初始屋顶立面模型以及初始屋顶立面模型的包围盒,生成屋顶立面模型。
在可选实施例中,上述根据初始屋顶立面模型以及初始屋顶立面模型的包围盒,生成屋顶立面模型,包括:生成初始屋顶立面模型的包围盒;从偏移后的屋顶边线的每个端点开始,朝偏移后的屋顶边线的反方向发射射线,将每条射线与包围盒的交点确定为屋顶顶点;根据屋顶顶点以及屋顶平面,得到屋顶立面模型。
在可选实施例中,上述生成初始屋顶立面模型的包围盒,包括:将屋顶平面中的每条边缘线均竖直向上延伸,得到包围屋顶平面和偏移后的屋顶边线的包围盒。
在可选实施例中,上述根据屋顶顶点,在底面结构中确定预制屋顶模型的放置位置的步骤,包括:从底面结构中,确定与屋顶顶点位于包围盒的同一目标面的第一边缘线;将第一边缘线的中点,确定为预制屋顶模型在底面结构中的放置位置。
在可选实施例中,上述预制屋顶模型的模型参数包括:预制屋顶模型的尺寸;上述根据屋顶顶点与底面结构的距离,以及预制屋顶模型的模型参数,确定预制屋顶模型的缩放比例的步骤,包括:计算与屋顶顶点位于包围盒的同一目标面的第一边缘线的中点与屋顶顶点的距离,得到目标距离值;根据预制屋顶模型的尺寸与目标距离值,确定预制屋顶模型的缩放比例。
进一步地,图13所示的电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
其中,存储器100可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述屋顶模型生成方法,具体实现可参见方法实施例,在此不再赘述。
具体地,上述屋顶模型生成方法,包括:获取初始房屋模型,确定初始房屋模型的屋顶平面;将屋顶平面中的边缘线向屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线;根据屋顶边线和屋顶平面,生成屋顶立面模型;其中,屋顶立面模型包含由屋顶平面确定的底面结构,以及由屋顶边线得到的屋顶顶点确定的顶面结构;根据屋顶顶点,在底面结构中确定预制屋顶模型的放置位置;根据屋顶顶点与底面结构的距离,以及预制屋顶模型的模型参数,确定预制屋顶模型的缩放比例;根据放置位置和缩放比例,将预制屋顶模型放置于底面结构的放置位置,得到由预制屋顶模型和屋顶立面模型构成的屋顶模型。
上述屋顶模型生成方法,可以根据初始房屋模型自动生成屋顶立面模型,然后将预制屋顶模型放置在屋顶立面模型上,即可生成最终屋顶模型,该方式提高了屋顶模型的生成速度,且用户可通过调整预制屋顶模型的造型,快速修改最终屋顶模型,提高了屋顶模型修改的自由度。
在可选实施例中,上述获取初始房屋模型,确定初始房屋模型的屋顶平面的步骤,包括:获取初始房屋模型;初始房屋模型由至少一个立方体盒子组成;针对每个立方体盒子,将当前立方体盒子的顶面,确定为初始房屋模型中当前立方体盒子对应的屋顶平面。
在可选实施例中,上述屋顶边线经过屋顶平面的中心。
在可选实施例中,上述屋顶平面包括四条边缘线;将屋顶平面中的边缘线向屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线的步骤,包括:按照预设速度,将屋顶平面中的每条边缘线均向屋顶平面的中心移动,在两条移动后的边缘线重合时,停止移动;确定停止移动时两条移动后的边缘线重合后生成的重合线;确定屋顶平面中除重合线对应的两条边缘线之外的两条目标边缘线,以及每条移动后的目标边缘线与重合线的交点;将重合线中两个交点之间的线段,确定为屋顶边线。
在可选实施例中,在根据屋顶边线和屋顶平面,生成屋顶立面模型的步骤之前,上述方法还包括:确定屋顶模型的结构类型为尖顶结构;其中,结构类型根据屋顶边线确定,结构类型包含尖顶结构和平顶结构中的任一种。
在可选实施例中,上述方法还包括:计算屋顶边线的端点到屋顶平面的每条边缘线的距离,将距离的最大值确定为边缘参数;判断边缘参数是否大于预设距离阈值,如果大于,确定屋顶模型的结构类型为尖顶结构;如果不大于,确定屋顶模型的结构类型为平顶结构。
在可选实施例中,上述根据屋顶边线和屋顶平面,生成屋顶立面模型的步骤,包括:将屋顶边线向上偏移预设距离,得到偏移后的屋顶边线;根据偏移后的屋顶边线的端点与屋顶平面的顶点的连线,得到初始屋顶立面模型;根据初始屋顶立面模型以及初始屋顶立面模型的包围盒,生成屋顶立面模型。
在可选实施例中,上述根据初始屋顶立面模型以及初始屋顶立面模型的包围盒,生成屋顶立面模型,包括:生成初始屋顶立面模型的包围盒;从偏移后的屋顶边线的每个端点开始,朝偏移后的屋顶边线的反方向发射射线,将每条射线与包围盒的交点确定为屋顶顶点;根据屋顶顶点以及屋顶平面,得到屋顶立面模型。
在可选实施例中,上述生成初始屋顶立面模型的包围盒,包括:将屋顶平面中的每条边缘线均竖直向上延伸,得到包围屋顶平面和偏移后的屋顶边线的包围盒。
在可选实施例中,上述根据屋顶顶点,在底面结构中确定预制屋顶模型的放置位置的步骤,包括:从底面结构中,确定与屋顶顶点位于包围盒的同一目标面的第一边缘线;将第一边缘线的中点,确定为预制屋顶模型在底面结构中的放置位置。
在可选实施例中,上述预制屋顶模型的模型参数包括:预制屋顶模型的尺寸;上述根据屋顶顶点与底面结构的距离,以及预制屋顶模型的模型参数,确定预制屋顶模型的缩放比例的步骤,包括:计算与屋顶顶点位于包围盒的同一目标面的第一边缘线的中点与屋顶顶点的距离,得到目标距离值;根据预制屋顶模型的尺寸与目标距离值,确定预制屋顶模型的缩放比例。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (14)
1.一种屋顶模型生成方法,其特征在于,所述方法包括:
获取初始房屋模型,确定所述初始房屋模型的屋顶平面;
将所述屋顶平面中的边缘线向所述屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线;
根据所述屋顶边线和所述屋顶平面,生成屋顶立面模型;其中,所述屋顶立面模型包含由所述屋顶平面确定的底面结构,以及由所述屋顶边线得到的屋顶顶点确定的顶面结构;
根据所述屋顶顶点,在所述底面结构中确定预制屋顶模型的放置位置;
根据所述屋顶顶点与所述底面结构的距离,以及所述预制屋顶模型的模型参数,确定所述预制屋顶模型的缩放比例;
根据所述放置位置和所述缩放比例,将所述预制屋顶模型放置于所述底面结构的放置位置,得到由所述预制屋顶模型和所述屋顶立面模型构成的屋顶模型。
2.根据权利要求1所述的方法,其特征在于,所述获取初始房屋模型,确定所述初始房屋模型的屋顶平面的步骤,包括:
获取初始房屋模型;所述初始房屋模型由至少一个立方体盒子组成;
针对每个所述立方体盒子,将当前立方体盒子的顶面,确定为所述初始房屋模型中所述当前立方体盒子对应的屋顶平面。
3.根据权利要求1所述的方法,其特征在于,所述屋顶边线经过所述屋顶平面的中心。
4.根据权利要求3所述的方法,其特征在于,所述屋顶平面包括四条边缘线;
所述将所述屋顶平面中的边缘线向所述屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线的步骤,包括:
按照预设速度,将所述屋顶平面中的每条边缘线均向所述屋顶平面的中心移动,在两条移动后的边缘线重合时,停止移动;
确定停止移动时所述两条移动后的边缘线重合后生成的重合线;
确定所述屋顶平面中除所述重合线对应的两条边缘线之外的两条目标边缘线,以及每条移动后的所述目标边缘线与所述重合线的交点;
将所述重合线中两个所述交点之间的线段,确定为所述屋顶边线。
5.根据权利要求1所述的方法,其特征在于,所述根据所述屋顶边线和所述屋顶平面,生成屋顶立面模型的步骤之前,所述方法还包括:
确定所述屋顶模型的结构类型为尖顶结构;其中,所述结构类型根据所述屋顶边线确定,所述结构类型包含尖顶结构和平顶结构中的任一种。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
计算所述屋顶边线的端点到所述屋顶平面的每条边缘线的距离,将所述距离的最大值确定为边缘参数;
判断所述边缘参数是否大于预设距离阈值,如果大于,确定所述屋顶模型的结构类型为尖顶结构;如果不大于,确定所述屋顶模型的结构类型为平顶结构。
7.根据权利要求1所述的方法,其特征在于,所述根据所述屋顶边线和所述屋顶平面,生成屋顶立面模型的步骤,包括:
将所述屋顶边线向上偏移预设距离,得到偏移后的屋顶边线;
根据所述偏移后的屋顶边线的端点与所述屋顶平面的顶点的连线,得到初始屋顶立面模型;
根据所述初始屋顶立面模型以及所述初始屋顶立面模型的包围盒,生成屋顶立面模型。
8.根据权利要求7所述的方法,其特征在于,所述根据所述初始屋顶立面模型以及所述初始屋顶立面模型的包围盒,生成屋顶立面模型,包括:
生成所述初始屋顶立面模型的包围盒;
从所述偏移后的屋顶边线的每个端点开始,朝所述偏移后的屋顶边线的反方向发射射线,将每条射线与所述包围盒的交点确定为屋顶顶点;
根据所述屋顶顶点以及所述屋顶平面,得到屋顶立面模型。
9.根据权利要求8所述的方法,其特征在于,所述生成所述初始屋顶立面模型的包围盒,包括:
将所述屋顶平面中的每条边缘线均竖直向上延伸,得到包围所述屋顶平面和所述偏移后的屋顶边线的包围盒。
10.根据权利要求8所述的方法,其特征在于,所述根据所述屋顶顶点,在所述底面结构中确定预制屋顶模型的放置位置的步骤,包括:
从所述底面结构中,确定与所述屋顶顶点位于所述包围盒的同一目标面的第一边缘线;
将所述第一边缘线的中点,确定为所述预制屋顶模型在所述底面结构中的放置位置。
11.根据权利要求10所述的方法,其特征在于,所述预制屋顶模型的模型参数包括:所述预制屋顶模型的尺寸;
所述根据所述屋顶顶点与所述底面结构的距离,以及所述预制屋顶模型的模型参数,确定所述预制屋顶模型的缩放比例的步骤,包括:
计算与所述屋顶顶点位于所述包围盒的同一目标面的第一边缘线的中点与所述屋顶顶点的距离,得到目标距离值;
根据所述预制屋顶模型的尺寸与所述目标距离值,确定所述预制屋顶模型的缩放比例。
12.一种屋顶模型生成装置,其特征在于,所述装置包括:
平面确定模块,用于获取初始房屋模型,确定所述初始房屋模型的屋顶平面;
屋顶边线确定模块,用于将所述屋顶平面中的边缘线向所述屋顶平面的中心移动,根据移动后的边缘线得到屋顶边线;
立面模型生成模块,用于根据所述屋顶边线和所述屋顶平面,生成屋顶立面模型;其中,所述屋顶立面模型包含由所述屋顶平面确定的底面结构,以及由所述屋顶边线得到的屋顶顶点确定的顶面结构;
放置位置确定模块,用于根据所述屋顶顶点,在所述底面结构中确定预制屋顶模型的放置位置;
缩放比例确定模块,用于根据所述屋顶顶点与所述底面结构的距离,以及所述预制屋顶模型的模型参数,确定所述预制屋顶模型的缩放比例;
屋顶模型生成模块,用于根据所述放置位置和所述缩放比例,将所述预制屋顶模型放置于所述底面结构的放置位置,得到由所述预制屋顶模型和所述屋顶立面模型构成的屋顶模型。
13.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1至11任一项所述的屋顶模型生成方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使所述处理器实现权利要求1至11任一项所述的屋顶模型生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310608334.6A CN116822004A (zh) | 2023-05-24 | 2023-05-24 | 屋顶模型生成方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310608334.6A CN116822004A (zh) | 2023-05-24 | 2023-05-24 | 屋顶模型生成方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116822004A true CN116822004A (zh) | 2023-09-29 |
Family
ID=88125010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310608334.6A Pending CN116822004A (zh) | 2023-05-24 | 2023-05-24 | 屋顶模型生成方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116822004A (zh) |
-
2023
- 2023-05-24 CN CN202310608334.6A patent/CN116822004A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107898393B (zh) | 用于清洁机器人的区块调整方法、装置及机器人 | |
CN108320323B (zh) | 一种建筑物三维建模方法及装置 | |
KR20190032501A (ko) | 2차원 코드 내 위치 정보를 인지하기 위한 방법 및 시스템 | |
CN112370788A (zh) | 游戏中虚拟对象的导航方法及电子设备 | |
CN115937439B (zh) | 城市建筑三维模型的构建方法、装置及电子设备 | |
CN111054074A (zh) | 游戏中虚拟对象的移动方法、装置及电子设备 | |
CN115205470B (zh) | 续扫重定位方法、装置、设备、存储介质及三维续扫方法 | |
CN114818093B (zh) | 装配式钢结构模块建筑的柱梁生成方法、装置及设备 | |
CN110598333A (zh) | 光源位置的确定方法、装置及电子设备 | |
CN106658538B (zh) | 一种基于泰森多边形的手机基站信号覆盖范围模拟方法 | |
CN111744199A (zh) | 图像处理方法及装置、计算机可读存储介质、电子设备 | |
CN111102980A (zh) | 路径生成方法、装置及电子设备 | |
CN116822004A (zh) | 屋顶模型生成方法、装置和电子设备 | |
CN116091709B (zh) | 建筑物的三维重建方法、装置、电子设备和存储介质 | |
CN110827393B (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN116310251A (zh) | 房产ifc模型与建筑矢量边界自动坐标配准方法及装置 | |
CN109684889B (zh) | 一种曲面条形码识别方法、装置及扫码建站*** | |
WO2023103320A1 (zh) | 建筑物分间方法、电子设备及计算机存储介质 | |
JP7422222B2 (ja) | 物体に対する衝突検出方法、装置、電子デバイス、記憶媒体およびコンピュータプログラム | |
CN114332203A (zh) | 一种虚拟光源的光源信息确定方法和装置 | |
CN113962182A (zh) | 电路设计方案的生成方法、装置、计算机设备和存储介质 | |
CN113586502B (zh) | 循环扇控制方法、循环扇及计算机可读存储介质 | |
CN113586499B (zh) | 循环扇控制方法、循环扇及计算机可读存储介质 | |
CN113584831A (zh) | 循环扇控制方法、循环扇及计算机可读存储介质 | |
CN115953593B (zh) | 工业零件的轮廓识别方法、装置、设备和计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |