照明灯的布置方法、计算机设备和可读存储介质转让专利

申请号 : CN202311369296.X

文献号 : CN117115383B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 罗除骆阳林

申请人 : 深圳开鸿数字产业发展有限公司

摘要 :

本申请涉及三维模型领域,特别涉及一种照明灯的布置方法、设备和存储介质,该方法包括:根据三维建筑模型的楼层高度与三角面集合,确定三维建筑模型的天花板三角面集合;根据天花板三角面集合确定楼层异同信息;对每个第一楼层进行照明灯布置,得到每个第一楼层的照明灯布置结果;根据每个第一楼层对应的照明灯布置结果,确定对应的第二楼层的照明灯布置结果。上述方法通过根据天花板三角面集合确定楼层异同信息,可以先对天花板结构不相同的第一楼层进行照明灯布置,再根据每个第一楼层的照明灯布置结果直接确定与第一楼层天花板结构相同的第二楼层的照明灯布置结果,无需手动布置照明灯,可以有效缩短布置时间,提高了布置照明灯的效率。

权利要求 :

1.一种照明灯的布置方法,其特征在于,包括:

根据三维建筑模型的楼层高度与三角面集合,确定所述三维建筑模型对应的天花板三角面集合;

根据所述天花板三角面集合确定楼层异同信息,所述楼层异同信息用于确定天花板结构不相同的至少一个第一楼层,以及与每个所述第一楼层天花板结构相同的第二楼层;

对每个所述第一楼层进行照明灯布置,得到每个所述第一楼层对应的照明灯布置结果;

根据每个所述第一楼层对应的照明灯布置结果,确定每个所述第一楼层对应的第二楼层的照明灯布置结果;

所述楼层异同信息包括楼层异同矩阵;所述根据所述天花板三角面集合确定楼层异同信息,包括:对所述天花板三角面集合中的每个天花板三角面进行楼层划分,得到至少一个天花板三角面子集合以及每个所述天花板三角面子集合所属的楼层;根据每个所述楼层对应的天花板三角面子集合进行天花板结构识别,得到对应的每个所述楼层的天花板结构识别结果;根据全部所述楼层的天花板结构识别结果,构建所述楼层异同矩阵。

2.根据权利要求1所述的照明灯的布置方法,其特征在于,所述三角面集合包括至少一个三角面和每个所述三角面的顶点坐标;所述根据三维建筑模型的楼层高度与三角面集合,确定所述三维建筑模型对应的天花板三角面集合,包括:依次根据所述楼层高度与每个所述三角面的顶点坐标,确定对应的每个所述三角面是否为天花板三角面;

根据全部所述天花板三角面,生成所述天花板三角面集合。

3.根据权利要求2所述的照明灯的布置方法,其特征在于,所述依次根据所述楼层高度与每个所述三角面的顶点坐标,确定对应的每个所述三角面是否为天花板三角面,包括:依次将每个所述三角面确定为当前三角面;

根据所述当前三角面的各顶点坐标,计算所述当前三角面对应的法向量;

若所述法向量平行于预设的坐标轴,则确定所述当前三角面的各顶点坐标与所述三角面集合中的其它顶点坐标之间的距离值;

若所述其它顶点坐标对应的距离值都大于第一预设倍数的所述楼层高度,则将所述当前三角面标记为天花板三角面,所述第一预设倍数小于1。

4.根据权利要求1所述的照明灯的布置方法,其特征在于,所述对所述天花板三角面集合中的每个天花板三角面进行楼层划分,得到至少一个天花板三角面子集合以及每个所述天花板三角面子集合所属的楼层,包括:依次将所述天花板三角面集合中的每个天花板三角面确定为当前天花板三角面;

计算所述当前天花板三角面与所述天花板三角面集合中的其它天花板三角面之间的高度差,并将高度差小于第二预设倍数的所述楼层高度的天花板三角面,确定为候选天花板三角面;

将所述当前天花板三角面与所述候选天花板三角面,划分为同一个天花板三角面子集合;

根据每个所述天花板三角面子集合中的各天花板三角面的高度值,确定每个所述天花板三角面子集合所属的楼层。

5.根据权利要求1所述的照明灯的布置方法,其特征在于,所述天花板结构识别结果包括各楼层之间的天花板结构是否相同;

所述根据每个所述楼层对应的天花板三角面子集合进行天花板结构识别,得到对应的每个所述楼层的天花板结构识别结果,包括:依次将每个所述楼层确定为当前楼层;

确定所述当前楼层对应的第一候选楼层,所述第一候选楼层对应的天花板三角面子集合中的顶点的坐标范围与所述当前楼层对应的天花板三角面子集合中的顶点的坐标范围相同;

从所述第一候选楼层中确定所述当前楼层对应的第二候选楼层,所述第二候选楼层对应的天花板三角面子集合的三角面总面积与所述当前楼层对应的天花板三角面子集合中的三角面总面积相同;

从所述第二候选楼层中确定所述当前楼层对应的第三候选楼层,所述第三候选楼层为满足预设条件的第二候选楼层;

确定所述当前楼层与所述第三候选楼层之间的天花板结构相同。

6.根据权利要求5所述的照明灯的布置方法,其特征在于,所述坐标范围包括最小横坐标与最大横坐标形成的第一坐标范围,以及最小纵坐标与最大纵坐标形成的第二坐标范围。

7.根据权利要求5所述的照明灯的布置方法,其特征在于,所述预设条件为所述第二候选楼层对应的天花板三角面子集合与所述当前楼层对应的天花板三角面子集合都不存在内部边缘边;或所述第二候选楼层对应的天花板三角面子集合与所述当前楼层对应的天花板三角面子集合都存在内部边缘边,且所述第二候选楼层对应的天花板三角面子集合中的内部边缘边所围成的面积与所述当前楼层对应的天花板三角面子集合中的内部边缘边所围成的面积相同。

8.根据权利要求7所述的照明灯的布置方法,其特征在于,所述内部边缘边是指任意顶点的坐标到天花板三角面子集合中的坐标范围之间存在其它三角面的坐标的边缘边,所述边缘边为所述天花板三角面子集合中被一个三角面包含的边。

9.根据权利要求5所述的照明灯的布置方法,其特征在于,所述根据每个所述楼层对应的天花板三角面子集合进行天花板结构识别,得到对应的每个所述楼层的天花板结构识别结果,还包括:若第四候选楼层对应的天花板三角面子集合中的顶点的坐标范围与所述当前楼层对应的天花板三角面子集合中的顶点的坐标范围不相同,则确定所述当前楼层与所述第四候选楼层之间的天花板结构不相同;或若所述第四候选楼层对应的天花板三角面子集合的三角面总面积与所述当前楼层对应的天花板三角面子集合中的三角面总面积不相同,则确定所述当前楼层与所述第四候选楼层之间的天花板结构不相同;或若所述第四候选楼层对应的天花板三角面子集合与所述当前楼层对应的天花板三角面子集合中的其中一个天花板三角面子集合存在内部边缘边,则确定所述当前楼层与所述第四候选楼层之间的天花板结构不相同。

10.根据权利要求1所述的照明灯的布置方法,其特征在于,所述照明灯布置结果包括多个照明灯的目标位置坐标;

所述对每个所述第一楼层进行照明灯布置,得到每个所述第一楼层对应的照明灯布置结果,包括:依次将每个所述第一楼层确定为当前楼层;

获取所述当前楼层对应的天花板三角面子集合中的顶点的坐标范围;

根据所述坐标范围与预设的有效照明半径进行坐标计算,获得每个所述照明灯对应的候选位置坐标;

将包含于所述当前楼层对应的天花板三角面子集合中的其中一个三角面的候选位置坐标,确定为所述目标位置坐标。

11.根据权利要求10所述的照明灯的布置方法,其特征在于,所述坐标范围包括最小横坐标与最大横坐标形成的第一坐标范围,以及最小纵坐标与最大纵坐标形成的第二坐标范围;

所述根据所述坐标范围与预设的有效照明半径进行坐标计算,获得每个所述照明灯对应的候选位置坐标,包括:根据所述有效照明半径、所述最大横坐标与所述最小横坐标进行计算,得到横轴方向上的每排所需照明灯的第一数量与第一间距;

根据所述有效照明半径、所述最大纵坐标与所述最小纵坐标进行计算,得到纵轴方向上的每排所需照明灯的第二数量与第二间距;

根据所述有效照明半径、所述最小横坐标、所述第一数量以及所述第一间距,确定每个所述照明灯的横坐标;

根据所述有效照明半径、所述最小纵坐标、所述第二数量以及所述第二间距,确定每个所述照明灯的纵坐标;

根据每个所述照明灯的横坐标与纵坐标,确定对应的每个所述照明灯的候选位置坐标。

12.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;

所述存储器用于存储计算机程序;

所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至11中任一项所述的照明灯的布置方法。

13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至11中任一项所述的照明灯的布置方法。

说明书 :

照明灯的布置方法、计算机设备和可读存储介质

技术领域

[0001] 本申请涉及三维模型领域,尤其涉及一种照明灯的布置方法、计算机设备和计算机可读存储介质。

背景技术

[0002] 目前,很多行业都使用自动化三维建模技术,如三维建筑模型的自动化生成方法、三维模型缺口的自动化修补方法等等。在三维建筑模型的设计过程中,需要在三维建筑模型布置室内照明灯。在相关技术中,通常是由设计人员需要手动布置每个照明灯的位置。对于大型三维建筑模型来说,手动布置照明灯会带来繁重的工作量,极大地降低了布置照明灯的效率。
[0003] 因此,如何提高布置照明灯的效率成为亟需解决的问题。

发明内容

[0004] 本申请提供了一种照明灯的布置方法、计算机设备和计算机可读存储介质,解决了相关技术采用手动布置照明灯的位置导致效率低的问题。
[0005] 第一方面,本申请提供了一种照明灯的布置方法,所述方法包括:
[0006] 根据三维建筑模型的楼层高度与三角面集合,确定所述三维建筑模型对应的天花板三角面集合;根据所述天花板三角面集合确定楼层异同信息,所述楼层异同信息用于确定天花板结构不相同的至少一个第一楼层,以及与每个所述第一楼层天花板结构相同的第二楼层;对每个所述第一楼层进行照明灯布置,得到每个所述第一楼层对应的照明灯布置结果;根据每个所述第一楼层对应的照明灯布置结果,确定每个所述第一楼层对应的第二楼层的照明灯布置结果。
[0007] 上述方法,通过根据天花板三角面集合确定楼层异同信息,对天花板结构不相同的至少一个第一楼层进行照明灯布置,无需人工手动布置照明灯,同时根据每个第一楼层的照明灯布置结果,直接确定与第一楼层天花板结构相同的第二楼层的照明灯布置结果,无需再次对第二楼层进行照明灯布置,可以有效缩短布置时间,提高了布置照明灯的效率和降低了成本。
[0008] 第二方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;
[0009] 所述存储器,用于存储计算机程序;
[0010] 所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的照明灯的布置方法。
[0011] 第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的照明灯的布置方法。

附图说明

[0012] 为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0013] 图1是本申请实施例提供的一种计算机设备的结构示意图;
[0014] 图2是本申请实施例提供的一种照明灯的布置方法的示意性流程图;
[0015] 图3是本申请实施例提供的一种确定天花板三角面的子步骤的示意性流程图;
[0016] 图4是本申请实施例提供的一种确定楼层异同信息的子步骤的示意性流程图;
[0017] 图5是本申请实施例提供的一种楼层划分的子步骤的示意性流程图;
[0018] 图6是本申请实施例提供的一种识别天花板结构的子步骤的示意性流程图;
[0019] 图7是本申请实施例提供的一种对第一楼层进行照明灯布置的子步骤的示意性流程图;
[0020] 图8是本申请实施例提供的一种确定候选位置坐标的子步骤的示意性流程图;
[0021] 图9是本申请实施例提供的一种计算机集群的示意图。

具体实施方式

[0022] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0023] 附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
[0024] 应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0025] 还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0026] 本申请的实施例提供了一种照明灯的布置方法、计算机设备和计算机可读存储介质。该照明灯的布置方法应用于计算机设备,通过根据天花板三角面集合确定楼层异同信息,对天花板结构不相同的至少一个第一楼层进行照明灯布置,无需人工手动布置照明灯,同时根据每个第一楼层的照明灯布置结果,直接确定与第一楼层天花板结构相同的第二楼层的照明灯布置结果,无需再次对第二楼层进行照明灯布置,可以有效缩短布置时间,提高了布置照明灯的效率和降低了成本。
[0027] 示例性的,计算机设备可以是服务器或终端。其中,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑和台式电脑等电子设备。
[0028] 请参阅图1,图1是本申请实施例提供的一种计算机设备100的结构示意图。计算机设备100可以包括处理器1001和存储器1002,其中处理器1001以及存储器1002可以通过总线连接,该总线比如为集成电路(Inter‑integrated Circuit,I2C)总线等任意适用的总线。
[0029] 其中,存储器1002可以包括存储介质和内存储器。存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器1001执行任意一种照明灯的布置方法。
[0030] 其中,处理器1001用于提供计算和控制能力,支撑整个计算机设备100的运行。
[0031] 其中,处理器1001可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等类型的处理器。通用处理器可以是微处理器,或者,通用处理器也可以是任何常规的处理器等。
[0032] 其中,在一个实施例中,处理器1001用于运行存储在存储器1002中的计算机程序,以实现如下步骤:
[0033] 根据三维建筑模型的楼层高度与三角面集合,确定三维建筑模型对应的天花板三角面集合;根据天花板三角面集合确定楼层异同信息,楼层异同信息用于确定天花板结构不相同的至少一个第一楼层,以及与每个第一楼层天花板结构相同的第二楼层;对每个第一楼层进行照明灯布置,得到每个第一楼层对应的照明灯布置结果;根据每个第一楼层对应的照明灯布置结果,确定每个第一楼层对应的第二楼层的照明灯布置结果。
[0034] 在一个实施例中,三角面集合包括至少一个三角面和每个三角面的顶点坐标;处理器1001在实现根据三维建筑模型的楼层高度与三角面集合,确定三维建筑模型对应的天花板三角面集合时,用于实现:
[0035] 依次根据楼层高度与每个三角面的顶点坐标,确定对应的每个三角面是否为天花板三角面;根据全部天花板三角面,生成天花板三角面集合。
[0036] 在一个实施例中,处理器1001在实现依次根据楼层高度与每个三角面的顶点坐标,确定对应的每个三角面是否为天花板三角面时,用于实现:
[0037] 依次将每个三角面确定为当前三角面;根据当前三角面的各顶点坐标,计算当前三角面对应的法向量;若法向量平行于预设的坐标轴,则确定当前三角面的各顶点坐标与三角面集合中的其它顶点坐标之间的距离值;若其它顶点坐标对应的距离值都大于第一预设倍数的楼层高度,则将当前三角面标记为天花板三角面,第一预设倍数小于1。
[0038] 在一个实施例中,楼层异同信息包括楼层异同矩阵;处理器1001在实现根据天花板三角面集合确定楼层异同信息时,用于实现:
[0039] 对天花板三角面集合中的每个天花板三角面进行楼层划分,得到至少一个天花板三角面子集合以及每个天花板三角面子集合所属的楼层;根据每个楼层对应的天花板三角面子集合进行天花板结构识别,得到对应的每个楼层的天花板结构识别结果;根据全部楼层的天花板结构识别结果,构建楼层异同矩阵。
[0040] 在一个实施例中,处理器1001在实现对天花板三角面集合中的每个天花板三角面进行楼层划分,得到至少一个天花板三角面子集合以及每个天花板三角面子集合所属的楼层时,用于实现:
[0041] 依次将天花板三角面集合中的每个天花板三角面确定为当前天花板三角面;计算当前天花板三角面与天花板三角面集合中的其它天花板三角面之间的高度差,并将高度差小于第二预设倍数的楼层高度的天花板三角面,确定为候选天花板三角面;将当前天花板三角面与候选天花板三角面,划分为同一个天花板三角面子集合;根据每个天花板三角面子集合中的各天花板三角面的高度值,确定每个天花板三角面子集合所属的楼层。
[0042] 在一个实施例中,天花板结构识别结果包括各楼层之间的天花板结构是否相同;处理器1001在实现根据每个楼层对应的天花板三角面子集合进行天花板结构识别,得到对应的每个楼层的天花板结构识别结果时,用于实现:
[0043] 依次将每个楼层确定为当前楼层;确定当前楼层对应的第一候选楼层,第一候选楼层对应的天花板三角面子集合中的顶点的坐标范围与当前楼层对应的天花板三角面子集合中的顶点的坐标范围相同;从第一候选楼层中确定当前楼层对应的第二候选楼层,第二候选楼层对应的天花板三角面子集合的三角面总面积与当前楼层对应的天花板三角面子集合中的三角面总面积相同;从第二候选楼层中确定当前楼层对应的第三候选楼层,第三候选楼层为满足预设条件的第二候选楼层;确定当前楼层与第三候选楼层之间的天花板结构相同。
[0044] 在一个实施例中,处理器1001在实现根据每个楼层对应的天花板三角面子集合进行天花板结构识别,得到对应的每个楼层的天花板结构识别结果时,还用于实现:
[0045] 若第四候选楼层对应的天花板三角面子集合中的顶点的坐标范围与当前楼层对应的天花板三角面子集合中的顶点的坐标范围不相同,则确定当前楼层与第四候选楼层之间的天花板结构不相同;或若第四候选楼层对应的天花板三角面子集合的三角面总面积与当前楼层对应的天花板三角面子集合中的三角面总面积不相同,则确定当前楼层与第四候选楼层之间的天花板结构不相同;或若第四候选楼层对应的天花板三角面子集合与当前楼层对应的天花板三角面子集合中的其中一个天花板三角面子集合存在内部边缘边,则确定当前楼层与第四候选楼层之间的天花板结构不相同。
[0046] 在一个实施例中,照明灯布置结果包括多个照明灯的目标位置坐标;处理器1001在实现对每个第一楼层进行照明灯布置,得到每个第一楼层对应的照明灯布置结果时,用于实现:
[0047] 依次将每个第一楼层确定为当前楼层;获取当前楼层对应的天花板三角面子集合中的顶点的坐标范围;根据坐标范围与预设的有效照明半径进行坐标计算,获得每个照明灯对应的候选位置坐标;将包含于当前楼层对应的天花板三角面子集合中的其中一个三角面的候选位置坐标,确定为目标位置坐标。
[0048] 在一个实施例中,坐标范围包括最小横坐标与最大横坐标形成的第一坐标范围,以及最小纵坐标与最大纵坐标形成的第二坐标范围;处理器1001在实现根据坐标范围与预设的有效照明半径进行坐标计算,获得每个照明灯对应的候选位置坐标时,用于实现:
[0049] 根据有效照明半径、最大横坐标与最小横坐标进行计算,得到横轴方向上的每排所需照明灯的第一数量与第一间距;根据有效照明半径、最大纵坐标与最小纵坐标进行计算,得到纵轴方向上的每排所需照明灯的第二数量与第二间距;根据有效照明半径、最小横坐标、第一数量以及第一间距,确定每个照明灯的横坐标;根据有效照明半径、最小纵坐标、第二数量以及第二间距,确定每个照明灯的纵坐标;根据每个照明灯的横坐标与纵坐标,确定对应的每个照明灯的候选位置坐标。
[0050] 下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。请参阅图2,图2是本申请实施例提供的一种照明灯的布置方法的示意性流程图。如图2所示,该照明灯的布置方法,可以包括步骤S10至步骤S50。
[0051] 步骤S10、根据三维建筑模型的楼层高度与三角面集合,确定三维建筑模型对应的天花板三角面集合。
[0052] 示例性的,可以获取待布置照明灯的三维建筑模型,以及三维建筑模型的楼层高度与三角面集合。其中,三角面集合可以包括至少一个三角面和每个三角面的顶点坐标。
[0053] 在一些实施例中,可以根据三维建筑模型的楼层高度与三角面集合,确定三维建筑模型对应的天花板三角面集合。其中,天花板三角面集合可以包括多个天花板三角面。天花板三角面是指位于天花板上的三角面。
[0054] 需要说明的是,在本申请实施例中,对于三维建筑模型 ,可以定义为 。其中,表示三维建筑模型 的编号, 表示顶点集合,包括三维建筑模型 中的各顶点 。
对于顶点集合 中的各顶点 ,可以定义为 ,其中, 表示顶点的编号,
表示顶点 在三维坐标系中的三维坐标,单位为米,数据类型可以是有符号浮点数,无数值范围的限制。 表示三角面集合,包括三维模型 中的各个三角面 。对于三角面集合 中的各个三角面 ,可以定义为 ,其中,表示三角面 的编号,
表示三角面 的三个顶点。每个三角面 中的每条边可以采用三角面 中的
其中两个顶点表示。楼层高度可以表示为 。
[0055] 其中,三维建筑模型 (包含所有的顶点的顶点集合 与所有三角面 的三角面集合 )对应的坐标轴,都以x轴与y轴为地面方向,以z轴为高度方向。
[0056] 在一些实施例中,三角面集合可以包括至少一个三角面和每个三角面的顶点坐标,根据三维建筑模型的楼层高度与三角面集合,确定三维建筑模型对应的天花板三角面集合,可以包括:依次根据楼层高度与每个三角面的顶点坐标,确定对应的每个三角面是否为天花板三角面;根据全部天花板三角面,生成天花板三角面集合。
[0057] 示例性的,对于三角面集合 ,可以依次根据楼层高度 与每个三角面 的顶点坐标,确定每个三角面 是否为天花板三角面。例如,对于三角面 ,可以根据楼层高度与三角面 的顶点坐标,确定三角面 是否为天花板三角面。以下将对如何确定三角面集合 中的每个三角面 是否为天花板三角面作详细说明。
[0058] 请参阅图3,图3是本申请实施例提供的一种确定天花板三角面的子步骤的示意性流程图,可以包括以下步骤S101至步骤S104。
[0059] 步骤S101、依次将每个三角面确定为当前三角面。
[0060] 示例性的,为了便于说明,可以分别将三角面集合中的每个三角面确定为当前三角面。以下将以当前三角面为例,说明如何确定当前三角面是否为天花板三角面。
[0061] 步骤S102、根据当前三角面的各顶点坐标,计算当前三角面对应的法向量。
[0062] 在一些实施例中,可以根据当前三角面的各顶点坐标,计算当前三角面对应的法向量。
[0063] 示例性的,可以基于向量外积公式计算当前三角面的法向量。例如,对于三角面,三角面 的法向量 可以定义为 ,式中,向量 表示三角面 的第一个顶点到第二个顶点的向量,向量 表示平面 的第一个顶点到第三个顶点的向量。其中,具体的计算过程,在此不作赘述。
[0064] 步骤S103、若法向量平行于预设的坐标轴,则确定当前三角面的各顶点坐标与三角面集合中的其它顶点坐标之间的距离值。
[0065] 示例性的,在计算出当前三角面对应的法向量之后,可以判断当前三角面对应的法向量是否平行于预设的坐标轴。若法向量平行于预设的坐标轴,则确定当前三角面的各顶点坐标与三角面集合中的其它顶点坐标之间的距离值。若当前三角面对应的法向量不平行于预设的坐标轴,则可以确认当前三角面不是天花板三角面。其中,预设的坐标轴可以是三维建筑模型 中的z轴。
[0066] 示例性的,可以分别计算当前三角面的各顶点坐标与三角面集合中的其它顶点坐标之间的距离值。其中,具体的计算过程,在此不作赘述。
[0067] 步骤S104、若其它顶点坐标对应的距离值都大于第一预设倍数的楼层高度,则将当前三角面标记为天花板三角面,第一预设倍数小于1。
[0068] 示例性的,在确定当前三角面的各顶点坐标与三角面集合中的其它顶点坐标之间的距离值时,若三角面集合中的其它顶点坐标对应的距离值都大于第一预设倍数的楼层高度,则将当前三角面标记为天花板三角面。
[0069] 其中,第一预设倍数小于1,可以根据实际情况设定,具体数值在此不作限定。在本申请实施例中,第一预设倍数可以是0.6。
[0070] 例如,若其它顶点坐标对应的距离值都大于 ,则可以将当前三角面标记为天花板三角面。若存在某个其它顶点坐标对应的距离值小于 ,则可以确定当前三角面标不是天花板三角面。
[0071] 可以理解的是,在本发明实施例中,由于相邻两个楼层之间的高度是固定的,即楼层高度 ,因此相邻两个天花板中的三角面之间的高度也是 。若三维建筑模型 有任何其它顶点在当前三角面的三个顶点下方的 的距离以内,则说明当前三角面不是天花板三角面。
[0072] 上述实施例,通过结合三角面的法向量以及三角面中的顶点坐标与三角面集合中的其它顶点坐标之间的距离值,可以准确地确定三角面是否为天花板三角面。
[0073] 步骤S20、根据天花板三角面集合确定楼层异同信息,楼层异同信息用于确定天花板结构不相同的至少一个第一楼层,以及与每个第一楼层天花板结构相同的第二楼层。
[0074] 需要说明的是,在本申请实施例中,可以先确定每两个楼层的天花板结构是否相同,将天花板结构不相同的楼层标记为第一楼层,将与第一楼层天花板结构相同的楼层标记为第二楼层,后续可以对第一楼层进行照明灯布置,并将第一楼层对应的照明灯布置结果作为与第一楼层天花板结构相同的第二楼层的照明灯布置结果,无需再次对第二楼层进行照明灯布置,从而可以极大地提高了照明灯布置的效率,降低成本。
[0075] 在一些实施例,在确定三维建筑模型对应的天花板三角面集合之后,可以根据天花板三角面集合确定楼层异同信息。其中,楼层异同信息用于确定天花板结构不相同的至少一个第一楼层,以及与每个第一楼层天花板结构相同的第二楼层。
[0076] 上述实施例,通过根据天花板三角面集合确定楼层异同信息,后续可以根据楼层异同信息快速、准确地确认天花板结构不相同的至少一个第一楼层,以及与每个第一楼层天花板结构相同的第二楼层,实现仅对第一楼层进行照明灯布置,可以极大地提高了照明灯布置的效率。
[0077] 以下将对如何确定楼层异同信息作详细说明。请参阅图4,图4是本申请实施例提供的一种确定楼层异同信息的子步骤的示意性流程图,步骤S20中根据天花板三角面集合确定楼层异同信息可以包括以下步骤S201至步骤S203。
[0078] 步骤S201、对天花板三角面集合中的每个天花板三角面进行楼层划分,得到至少一个天花板三角面子集合以及每个天花板三角面子集合所属的楼层。
[0079] 在一些实施例中,可以对天花板三角面集合中的每个天花板三角面进行楼层划分,得到至少一个天花板三角面子集合以及每个天花板三角面子集合所属的楼层。
[0080] 其中,每个天花板三角面子集合可以包括至少一个天花板三角面。每个天花板三角面子集合对应一个楼层。
[0081] 请参阅图5,图5是本申请实施例提供的一种楼层划分的子步骤的示意性流程图,步骤S201可以包括以下步骤S2011至步骤S2014。
[0082] 步骤S2011、依次将天花板三角面集合中的每个天花板三角面确定为当前天花板三角面。
[0083] 示例性的,可以依次将天花板三角面集合中的每个天花板三角面确定为当前天花板三角面。
[0084] 需要说明的是,在本申请实施例中,可以分别识别天花板三角面集合中的每个天花板三角面所属的楼层,其中,识别过程是一个循环过程。为了便于说明,可以以其中一个天花板三角面作为当前天花板三角面为例,说明如何识别当前天花板三角面所属的楼层。
[0085] 步骤S2012、计算当前天花板三角面与天花板三角面集合中的其它天花板三角面之间的高度差,并将高度差小于第二预设倍数的楼层高度的天花板三角面,确定为候选天花板三角面。
[0086] 示例性的,可以计算当前天花板三角面与天花板三角面集合中的其它天花板三角面之间的高度差,并将高度差小于第二预设倍数的楼层高度的天花板三角面,确定为候选天花板三角面。其中,根据计算当前天花板三角面中的中心点与天花板三角面集合中的其它天花板三角面的中心点之间的距离,得到高度差。具体的计算过程,在此不作限定。
[0087] 示例性的,第二预设倍数可以根据实际情况设定,具体数值在此不作限定。在本申请实施例中,第一预设倍数可以是0.2。
[0088] 例如,在天花板三角面集合中,可以将与当前天花板三角面之间的高度差小于的天花板三角面,确定为候选天花板三角面。
[0089] 需要说明的是,候选天花板三角面是指与当前天花板三角面属于属于同一楼层的天花板三角面。可以理解的是,若某个天花板三角面与当前天花板三角面之间的高度差较小,则说明该天花板三角面与当前天花板三角面属于同一楼层上的天花板三角面。若某个天花板三角面与当前天花板三角面之间的高度差较大,则说明该天花板三角面与当前天花板三角面不属于同一楼层上的天花板三角面。
[0090] 上述实施例,通过计算当前天花板三角面与天花板三角面集合中的其它天花板三角面之间的高度差,并将高度差小于第二预设倍数的楼层高度的天花板三角面,确定为候选天花板三角面,后续可以实现将当前天花板三角面与候选天花板三角面,划分到同一个天花板三角面子集合。
[0091] 步骤S2013、将当前天花板三角面与候选天花板三角面,划分为同一个天花板三角面子集合。
[0092] 示例性的,在确定当前天花板三角面对应的候选天花板三角面之后,可以将当前天花板三角面与候选天花板三角面,划分为同一个天花板三角面子集合。同时,还可以将当前天花板三角面与候选天花板三角面从天花板三角面集合中剔除。从而可以避免重复判断当前天花板三角面对应的候选天花板三角面是否为其它天花板三角面对应的候选天花板三角面,提高了处理效率。
[0093] 步骤S2014、根据每个天花板三角面子集合中的各天花板三角面的高度值,确定每个天花板三角面子集合所属的楼层。
[0094] 示例性的,在得到多个天花板三角面子集合之后,可以根据每个天花板三角面子集合中的各天花板三角面的高度值,确定每个天花板三角面子集合所属的楼层。
[0095] 其中,每个天花板三角面子集合中的各天花板三角面的平均高度值。例如,对于A天花板三角面子集合,若A天花板三角面子集合中的各天花板三角面的平均高度值为 ,则可以确认A天花板三角面子集合所属的楼层为楼层1。又例如,对于B天花板三角面子集合,若B天花板三角面子集合中的各天花板三角面的平均高度值为 ,则可以确认B天花板三角面子集合所属的楼层为楼层2。依次类推,可以确定每个天花板三角面子集合所属的楼层。
[0096] 上述实施例,通过根据每个天花板三角面子集合中的各天花板三角面的高度值,确定每个天花板三角面子集合所属的楼层,可以准确、便捷地确定每个天花板三角面子集合所属的楼层。
[0097] 步骤S202、根据每个楼层对应的天花板三角面子集合进行天花板结构识别,得到对应的每个楼层的天花板结构识别结果。
[0098] 在一些实施例中,在对天花板三角面集合中的每个天花板三角面进行楼层划分,得到至少一个天花板三角面子集合以及每个天花板三角面子集合所属的楼层之后,可以根据每个楼层对应的天花板三角面子集合进行天花板结构识别,得到对应的每个楼层的天花板结构识别结果。其中,天花板结构识别结果包括各楼层之间的天花板结构是否相同。
[0099] 请参阅图6,图6是本申请实施例提供的一种识别天花板结构的子步骤的示意性流程图,步骤S202可以包括以下步骤S2021至步骤S2025。
[0100] 步骤S2021、依次将每个楼层确定为当前楼层。
[0101] 示例性的,为了便于说明,可以依次将每个楼层确定为当前楼层。以下将以当前楼层为例,说明如何识别与当前楼层天花板结构相同的楼层。
[0102] 步骤S2022、确定当前楼层对应的第一候选楼层,第一候选楼层对应的天花板三角面子集合中的顶点的坐标范围与当前楼层对应的天花板三角面子集合中的顶点的坐标范围相同。
[0103] 示例性的,可以统计每个天花板三角面子集合中的顶点的坐标范围。其中,坐标范围包括最小横坐标与最大横坐标形成的第一坐标范围,以及最小纵坐标与最大纵坐标形成的第二坐标范围。例如,可以统计统计每个天花板三角面子集合中的顶点的x轴的最大值和最小值,以及y轴坐标的最大值与最小值,根据顶点的x轴的最大值和最小值生成第一坐标范围,以及根据顶点的y轴的最大值和最小值生成第二坐标范围。
[0104] 示例性的,可以将对应的天花板三角面子集合的坐标范围与当前楼层对应的天花板三角面子集合中的顶点的坐标范围相同的楼层,确定为第一候选楼层。
[0105] 例如,对于当前楼层和楼层1,若楼层1对应的天花板三角面子集合中的顶点的第一坐标范围与当前楼层对应的天花板三角面子集合中的顶点的第一坐标范围相同,且楼层1对应的天花板三角面子集合中的顶点的第二坐标范围与当前楼层对应的天花板三角面子集合中的顶点的第二坐标范围相同,则可以将楼层1确定为第一候选楼层。若楼层1对应的天花板三角面子集合中的顶点的第一坐标范围与当前楼层对应的天花板三角面子集合中的顶点的第一坐标范围不相同,或楼层1对应的天花板三角面子集合中的顶点的第二坐标范围与当前楼层对应的天花板三角面子集合中的顶点的第二坐标范围不相同,则可以确认楼层1与当前楼层之间的天花板结构不相同。
[0106] 上述实施例,可以实现通过花板三角面子集合中的顶点的坐标范围,确认与当前楼层之间的天花板结构不相同的楼层。
[0107] 步骤S2023、从第一候选楼层中确定当前楼层对应的第二候选楼层,第二候选楼层对应的天花板三角面子集合的三角面总面积与当前楼层对应的天花板三角面子集合中的三角面总面积相同。
[0108] 需要说明的是,在本申请实施例中,当两个楼层对应的天花板三角面子集合中的顶点的坐标范围相同时,需要进一步根据这两个楼层对应的天花板三角面子集合中的三角面总面积相同来判断这两个楼层的天花板结构是否相同。
[0109] 在一些实施例中,当第一候选楼层有至少一个时,可以从第一候选楼层中确定当前楼层对应的第二候选楼层。其中,第二候选楼层对应的天花板三角面子集合的三角面总面积与当前楼层对应的天花板三角面子集合中的三角面总面积相同。
[0110] 示例性的,可以统计当前楼层对应的天花板三角面子集合中的三角面总面积,以及统计每个第一候选楼层对应的天花板三角面子集合中的三角面总面积。然后,比较当前楼层对应的三角面总面积与每个第一候选楼层对应的三角面总面积是否相同。若某个第一候选楼层对应的天花板三角面子集合的三角面总面积与当前楼层对应的天花板三角面子集合中的三角面总面积不相同,则可以确认该第一候选楼层与当前楼层之间的天花板结构不相同。若某个第一候选楼层对应的天花板三角面子集合的三角面总面积与当前楼层对应的天花板三角面子集合中的三角面总面积相同,则可以确认该第一候选楼层为当前楼层对应的第二候选楼层。
[0111] 上述实施例,可以实现通过天花板三角面子集合的三角面总面积,确认与当前楼层之间的天花板结构不相同的楼层。
[0112] 步骤S2024、从第二候选楼层中确定当前楼层对应的第三候选楼层,第三候选楼层为满足预设条件的第二候选楼层。
[0113] 需要说明的是,在本申请实施例中,当两个楼层对应的天花板三角面子集合中的三角面总面积相同时,还需要进一步根据这两个楼层对应的天花板三角面子集合中是否存在内部边缘边来判断这两个楼层的天花板结构是否相同。
[0114] 在一些实施例中,当第二候选楼层有至少一个时,可以从第二候选楼层中确定当前楼层对应的第三候选楼层,第三候选楼层为满足预设条件的第二候选楼层。
[0115] 其中,预设条件为第二候选楼层对应的天花板三角面子集合与当前楼层对应的天花板三角面子集合都不存在内部边缘边;或第二候选楼层对应的天花板三角面子集合与当前楼层对应的天花板三角面子集合都存在内部边缘边,且第二候选楼层对应的天花板三角面子集合中的内部边缘边所围成的面积与当前楼层对应的天花板三角面子集合中的内部边缘边所围成的面积相同。
[0116] 需要说明的是,内部边缘边是指任意顶点的坐标到天花板三角面子集合中的坐标范围之间存在其它三角面的坐标的边缘边,即天花板三角面子集合中的某个边缘边的任意顶点的x轴坐标或y轴坐标到天花板三角面子集合的坐标范围之间存在其它三角面的坐标。边缘边为天花板三角面子集合中被一个三角面包含的边。
[0117] 示例性的,若某个第二候选楼层对应的天花板三角面子集合与当前楼层对应的天花板三角面子集合都不存在内部边缘边,则可以将该第二候选楼层确定为当前楼层对应的第三候选楼层。
[0118] 示例性的,若某个第二候选楼层对应的天花板三角面子集合与当前楼层对应的天花板三角面子集合都存在内部边缘边,且第二候选楼层对应的天花板三角面子集合中的内部边缘边所围成的面积与当前楼层对应的天花板三角面子集合中的内部边缘边所围成的面积相同,则可以将该第二候选楼层确定为当前楼层对应的第三候选楼层。
[0119] 步骤S2025、确定当前楼层与第三候选楼层之间的天花板结构相同。
[0120] 示例性的,在从第二候选楼层中确定当前楼层对应的第三候选楼层之后,可以确定当前楼层与第三候选楼层之间的天花板结构相同。
[0121] 在一些实施例中,根据每个楼层对应的天花板三角面子集合进行天花板结构识别,得到对应的每个楼层的天花板结构识别结果,还可以包括:若第四候选楼层对应的天花板三角面子集合中的顶点的坐标范围与当前楼层对应的天花板三角面子集合中的顶点的坐标范围不相同,则确定当前楼层与第四候选楼层之间的天花板结构不相同。
[0122] 示例性的,若第四候选楼层为楼层4,若楼层4对应的天花板三角面子集合中的顶点的坐标范围与当前楼层对应的天花板三角面子集合中的顶点的坐标范围不相同,则确定当前楼层与楼层4之间的天花板结构不相同。
[0123] 在另一些实施例中,根据每个楼层对应的天花板三角面子集合进行天花板结构识别,得到对应的每个楼层的天花板结构识别结果,还可以包括:若第四候选楼层对应的天花板三角面子集合的三角面总面积与当前楼层对应的天花板三角面子集合中的三角面总面积不相同,则确定当前楼层与第四候选楼层之间的天花板结构不相同。
[0124] 示例性的,对于楼层4和当前楼层,若楼层4对应的天花板三角面子集合的三角面总面积与当前楼层对应的天花板三角面子集合中的三角面总面积不相同,则确定当前楼层与楼层4之间的天花板结构不相同。
[0125] 在另一些实施例中,根据每个楼层对应的天花板三角面子集合进行天花板结构识别,得到对应的每个楼层的天花板结构识别结果,还可以包括:若第四候选楼层对应的天花板三角面子集合与当前楼层对应的天花板三角面子集合中的其中一个天花板三角面子集合存在内部边缘边,则确定当前楼层与第四候选楼层之间的天花板结构不相同。
[0126] 示例性的,对于楼层4和当前楼层,若楼层4对应的天花板三角面子集合存在内部边缘边,而当前楼层对应的天花板三角面子集合不存在内部边缘边,则确定当前楼层与楼层4之间的天花板结构不相同。
[0127] 上述实施例,通过根据顶点的坐标范围、三角面总面积、是否存在内部边缘边以及内部边缘边所围成的面积是否相同等参数综合实现判断两个楼层之间的天花板结构是否相同,避免仅根据其中一个参数判断两个楼层之间的天花板结构是否相同容易出现误判的问题,可以有效提高确定每个楼层的天花板结构识别结果的准确性。
[0128] 步骤S203、根据全部楼层的天花板结构识别结果,构建楼层异同矩阵。
[0129] 在本申请实施例中,楼层异同信息可以包括楼层异同矩阵,可以通过构建一个楼层异同矩阵,用于表示各楼层之间的天花板结构是否相同。
[0130] 示例性的,在根据每个楼层对应的天花板三角面子集合进行天花板结构识别,得到对应的每个楼层的天花板结构识别结果之后,可以根据全部楼层的天花板结构识别结果,构建楼层异同矩阵。
[0131] 例如,若楼层1和楼层2的天花板结构相同,可以记为A‑1和A‑2,其中,楼层A‑1可以作为第一楼层,楼层A‑2可以作为第二楼层。又例如,楼层3和楼层4的天花板结构相同,但与楼层1、楼层2的天花板结构不同,楼层3和楼层4可以记为B‑1和B‑2,其中,楼层B‑1可以作为第一楼层,楼层B‑2可以作为第二楼层。可以理解的是,楼层B‑1与楼层A‑1为天花板结构不同相同的两个第一楼层。
[0132] 上述实施例,通过根据全部楼层的天花板结构识别结果,构建楼层异同矩阵,后续可以快速地通过楼层异同矩阵确定天花板结构不相同的至少一个第一楼层,以及与每个第一楼层天花板结构相同的第二楼层。
[0133] 步骤S30、对每个第一楼层进行照明灯布置,得到每个第一楼层对应的照明灯布置结果。
[0134] 需要说明的是,在本申请实施例中,在确定天花板结构不相同的至少一个第一楼层,以及与每个第一楼层天花板结构相同的第二楼层时,可以先对每个第一楼层进行照明灯布置,得到每个第一楼层对应的照明灯布置结果,再将第一楼层对应的照明灯布置结果作为与第一楼层天花板结构相同的第二楼层的照明灯布置结果。其中,照明灯布置结果可以包括多个照明灯的目标位置坐标。以下将对如何对第一楼层进行照明灯布置作详细说明。
[0135] 请参阅图7,图7是本申请实施例提供的一种对第一楼层进行照明灯布置的子步骤的示意性流程图,步骤S30可以包括以下步骤S301至步骤S304。
[0136] 步骤S301、依次将每个第一楼层确定为当前楼层。
[0137] 示例性的,为了便于说明,可以依次将每个第一楼层确定为当前楼层。以下将以当前楼层为例,说明如何对当前楼层进行照明灯布置。
[0138] 步骤S302、获取当前楼层对应的天花板三角面子集合中的顶点的坐标范围。
[0139] 示例性的,可以统计当前楼层对应的天花板三角面子集合中的顶点的坐标范围。其中,坐标范围可以+包括最小横坐标与最大横坐标形成的第一坐标范围,以及最小纵坐标与最大纵坐标形成的第二坐标范围。最小横坐标可以表示为 ,最大横坐标可以表示为,最小纵坐标可以表示为 ,最大纵坐标可以表示为 。
[0140] 步骤S303、根据坐标范围与预设的有效照明半径进行坐标计算,获得每个照明灯对应的候选位置坐标。
[0141] 需要说明的是,在本申请实施例中,对于照明灯 ,可以定义为 。其中,代表照明灯 的有效照明半径, 代表照明灯 的三维模型,包括一定数量的顶点和三角面。有效照明半径 可以根据照明灯 的工作参数来确定,具体数值在此不作限定。
[0142] 示例性的,可以根据当前楼层对应的天花板三角面子集合中的顶点的最小横坐标、最大横坐标 、最小纵坐标 、最大纵坐标 以及有效照明半径 进行坐标计算,获得每个照明灯对应的候选位置坐标。
[0143] 请参阅图8,图8是本申请实施例提供的一种确定候选位置坐标的子步骤的示意性流程图,步骤S303可以包括以下步骤S3031至步骤S3035。
[0144] 步骤S3031、根据有效照明半径、最大横坐标与最小横坐标进行计算,得到横轴方向上的每排所需照明灯的第一数量与第一间距。
[0145] 示例性的,可以根据有效照明半径、最大横坐标与最小横坐标进行计算,得到x轴方向上的每排所需照明灯的第一数量与第一间距。
[0146] 其中,x轴方向上的每排所需照明灯的第一数量的计算公式,如下所示:
[0147]
[0148] 式中, 表示第一数量。
[0149] 其中,x轴方向上的每排照明灯的第一间距的计算公式,如下所示:
[0150]
[0151] 式中, 表示第一间距。
[0152] 上述实施例,通过根据有效照明半径、最大横坐标与最小横坐标进行计算,可以得到横轴方向上的每排所需照明灯的第一数量与第一间距。
[0153] 步骤S3032、根据有效照明半径、最大纵坐标与最小纵坐标进行计算,得到纵轴方向上的每排所需照明灯的第二数量与第二间距。
[0154] 示例性的,可以根据有效照明半径、最大纵坐标与最小纵坐标进行计算,得到纵轴方向上的每排所需照明灯的第二数量与第二间距。
[0155] 其中,y轴方向上的每排所需照明灯的第二数量的计算公式,如下所示:
[0156]
[0157] 式中, 表示第二数量。
[0158] 其中,y轴方向上的每排照明灯的第二间距的计算公式,如下所示:
[0159]
[0160] 式中, 表示第二间距。
[0161] 上述实施例,通过根据有效照明半径、最大纵坐标与最小纵坐标进行计算,可以得到纵轴方向上的每排所需照明灯的第二数量与第二间距。
[0162] 步骤S3033、根据有效照明半径、最小横坐标、第一数量以及第一间距,确定每个照明灯的横坐标。
[0163] 示例性的,在得到横轴方向上的每排所需照明灯的第一数量与第一间距之后,可以根据有效照明半径、最小横坐标、第一数量以及第一间距,确定每个照明灯的横坐标。
[0164] 示例 性的,对于x 轴上的 一系 列的照明 灯的横 坐标 ,其中 ,,的取值可为从0到 的闭区间中的任意整数。
[0165] 上述实施例,通过根据有效照明半径、最小横坐标、第一数量以及第一间距,可以准确地确定每个照明灯的横坐标。
[0166] 步骤S3034、根据有效照明半径、最小纵坐标、第二数量以及第二间距,确定每个照明灯的纵坐标。
[0167] 示例性的,在得到纵轴方向上的每排所需照明灯的第二数量与第二间距之后,可以根据有效照明半径、最小纵坐标、第二数量以及第二间距,确定每个照明灯的纵坐标。
[0168] 示 例性的 ,对 于y 轴上 的一 系列 的照 明灯 的横 坐标 ,其中 ,,的取值可为从0到 的闭区间中的任意整数。
[0169] 上述实施例,通过根据有效照明半径、最小纵坐标、第二数量以及第二间距,可以准确地确定每个照明灯的纵坐标。
[0170] 步骤S3035、根据每个照明灯的横坐标与纵坐标,确定对应的每个照明灯的候选位置坐标。
[0171] 示例性的,在确定每个照明灯的横坐标与纵坐标之后,可以根据每个照明灯的横坐标与纵坐标,确定对应的每个照明灯的候选位置坐标。其中,候选位置坐标可以表示为。
[0172] 步骤S304、将包含于当前楼层对应的天花板三角面子集合中的其中一个三角面的候选位置坐标,确定为目标位置坐标。
[0173] 需要说明的是,在本申请实施例中,只有位于三角面中的候选位置坐标,才是照明灯最终的目标位置坐标。
[0174] 示例性的,可以将包含于当前楼层对应的天花板三角面子集合中的其中一个三角面的候选位置坐标,确定为目标位置坐标。
[0175] 例如,对于照明灯1对应的候选位置坐标 ,若候选位置坐标 在当前楼层对应的天花板三角面子集合中的其中一个三角面,则将该候选位置坐标 确定为照明灯1对应的目标位置坐标。
[0176] 又例如,对于照明灯2对应的候选位置坐标 ,若候选位置坐标 不在当前楼层对应的天花板三角面子集合中的其中一个三角面,则将不该候选位置坐标确定为照明灯2对应的目标位置坐标。
[0177] 上述实施例,通过将包含于当前楼层对应的天花板三角面子集合中的其中一个三角面的候选位置坐标确定为目标位置坐标,可以避免将不被当前楼层对应的天花板三角面子集合中的其中一个三角面所包含的候选位置坐标确定为目标位置坐标,提高了确定照明灯的位置的准确性。
[0178] 步骤S40、根据每个第一楼层对应的照明灯布置结果,确定每个第一楼层对应的第二楼层的照明灯布置结果。
[0179] 示例性的,在得到每个第一楼层对应的多个照明灯的目标位置坐标之后,可以根据每个第一楼层对应的多个照明灯的目标位置坐标,确定每个第一楼层对应的第二楼层的多个照明灯的目标位置坐标。
[0180] 例如,对于天花板结构相同的第一楼层A‑1和第二楼层A‑2,可以将第一楼层A‑1对应的多个照明灯的目标位置坐标,确定为第二楼层A‑2的多个照明灯的目标位置坐标。
[0181] 又例如,对于天花板结构相同的第一楼层B‑1和第二楼层B‑2,可以将第一楼层B‑1对应的多个照明灯的目标位置坐标,确定为第二楼层B‑2的多个照明灯的目标位置坐标。
[0182] 上述实施例,通过根据每个第一楼层对应的照明灯布置结果,确定每个第一楼层对应的第二楼层的照明灯布置结果,无需再次对第二楼层进行照明灯布置,可以有效缩短布置时间,提高了布置照明灯的效率,降低了成本。
[0183] 请参阅图9,图9是本申请实施例提供的一种计算机集群2000的示意图。如图9所示,该计算机集群2000可以包括管理节点2001和至少一个分布式运算节点2002。其中,各节点之间可以建立有线或无线通信连接。
[0184] 需要说明的是,为了确保高性能的运算,本申请实施例提供的一种照明灯的布置方法的运行环境可以是一个包含p个分布式运算节点2002和一个管理节点2001的计算机集群2000。其中,管理节点2001、分布式运算节点2002是指提供运算算力的计算机设备。在进行照明灯的布置过程中,管理节点2001可以将相关数据发送到每个分布式运算节点2002进行运算,根据根据每个分布式运算节点2002返回的运算结果进行合并,得到最终结果。
[0185] 在一些实施例中,在确定三维建筑模型对应的天花板三角面集合时,管理节点2001可以将三维建筑模型的三角面集合中的三角面平均分成p份,然后将每份三角面、完整的三维建筑模型 与楼层高度 发送到每个分布式运算节点2002,以供每个分布式运算节点2002依次根据楼层高度与每个三角面的顶点坐标,确定对应的每个三角面是否为天花板三角面。其中,确定每个三角面是否为天花板三角面的具体过程,可以参见上述步骤S101至步骤S104,具体过程在此不作赘述。每个分布式运算节点2002可以将识别的天花板三角面发送至管理节点2001,由管理节点2001根据每个分布式运算节点2002返回的全部天花板三角面,生成天花板三角面集合。
[0186] 在一些实施例中,在根据每个楼层对应的天花板三角面子集合进行天花板结构识别时,管理节点可以生成多个判断各楼层的天花板结构是否相同的任务,并将任务发送给各分布式运算节点2002。例如,A分布式运算节点计算楼层1和楼层2之间的天花板结构是否相同,B分布式运算节点计算楼层1和楼层3之间的天花板结构是否相同,C分布式运算节点计算楼层2和楼层3之间的天花板结构是否相同,等等。
[0187] 其中,每个分布式运算节点2002在接收到任务之后,识别任务中的两个楼层之间的天花板结构是否相同。其中,识别天花板结构是否相同的具体过程,可以参见上述步骤S2021至步骤S2025的详细说明,具体过程在此不作赘述。
[0188] 每个分布式运算节点2002在识别两个楼层之间的天花板结构是否相同之后,可以将结果发送到管理节点2001,管理节点2001将结果写入楼层异同矩阵。
[0189] 在一些实施例中,在对每个第一楼层进行照明灯布置,得到每个第一楼层对应的照明灯布置结果时,管理节点2001可以根据楼层异同矩阵,将各个天花板结构不相同的第一楼层发送到每个分布式运算节点2002,由每个分布式运算节点2002进行照明灯的自动化布置。其中,每个分布式运算节点2002进行照明灯的自动化布置的具体过程,可以参见上述步骤S301至步骤S304,具体过程在此不作赘述。
[0190] 示例性的,在完成照明灯的自动化布置之后,每个分布式运算节点2002可以对应的第一楼层的照明灯布置结果发送到管理节点2001。管理节点2001记录第一楼层的照明灯布置结果,并且按照楼层异同矩阵,将每个第一楼层对应的第二楼层也记录相同的照明灯布置结果。最后,管理节点2001可以根据每层楼的照明灯布置结果表以及照明灯 的三维模型 ,在三维建筑模型 中的对应位置加入所有的照明灯三维模型 ,将包含所有照明灯的三维模型 的三维建筑模型 输出作为最终结果。
[0191] 上述实施例,通过设置多个分布式运算节点2002和一个管理节点2001,可以通过多个分布式运算节点2002进行分布式运算,实现利用计算机集群中的多个设备进行到高性能并行运算,提高了照明灯布置的效率,并且无需特定的软硬件,容易部署。
[0192] 本申请的实施例中还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序中包括程序指令,处理器执行程序指令,实现本申请实施例提供的任一项照明灯的布置方法。例如,该计算机程序被处理器加载,可以执行如下步骤:
[0193] 根据三维建筑模型的楼层高度与三角面集合,确定三维建筑模型对应的天花板三角面集合;根据天花板三角面集合确定楼层异同信息,楼层异同信息用于确定天花板结构不相同的至少一个第一楼层,以及与每个第一楼层天花板结构相同的第二楼层;对每个第一楼层进行照明灯布置,得到每个第一楼层对应的照明灯布置结果;根据每个第一楼层对应的照明灯布置结果,确定每个第一楼层对应的第二楼层的照明灯布置结果。
[0194] 以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0195] 其中,计算机可读存储介质可以是前述实施例的计算机设备的内部存储单元,例如计算机设备的硬盘或内存。计算机可读存储介质也可以是计算机设备的外部存储设备,例如计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字卡(Secure Digital,SD),闪存卡(Flash Card)等。
[0196] 以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。