CN111611726B - 一种室内场景自动布光方法和相关装置 - Google Patents
一种室内场景自动布光方法和相关装置 Download PDFInfo
- Publication number
- CN111611726B CN111611726B CN202010572901.3A CN202010572901A CN111611726B CN 111611726 B CN111611726 B CN 111611726B CN 202010572901 A CN202010572901 A CN 202010572901A CN 111611726 B CN111611726 B CN 111611726B
- Authority
- CN
- China
- Prior art keywords
- convex
- area
- lamps
- lamp
- target
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/18—Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B47/00—Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
- H05B47/10—Controlling the light source
- H05B47/155—Coordinated control of two or more light sources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Circuit Arrangement For Electric Light Sources In General (AREA)
Abstract
本申请公开了一种室内场景自动布光方法和相关装置,通过对目标场景空间进行凸分解,得到若干个凸多边形区域;遍历目标场景空间中的所有灯具,根据灯具所在区域将灯具加入对应的凸多边形区域的灯具列表;当灯具列表为空时,基于计算得到的最大内接矩形和预置布灯规则确定凸多边形区域的布灯类型、布灯数量、布灯强度和布灯位置;当灯具列表为非空时,基于计算得到的凸多边形区域所需光照强度和已布光源强度计算凸多边形区域中的所有灯具的增益值,基于增益值对凸多边形区域中的所有灯具进行增益调节,解决了现有的自动布光方法对整个空间的灯光进行无差化布局,并未考虑场景中已经存在灯具的情况,存在与实际灯光效果偏差较大的技术问题。
Description
技术领域
本申请涉及室内设计技术领域,尤其涉及一种室内场景自动布光方法和相关装置。
背景技术
室内场景设计效果图是设计师与客户沟通的重要工具,设计效果图的好坏直接影响到客户对设计方案及产品的认可情况。好的设计效果图离不开设计师对场景的精心设计,合理的灯光布局与灯光效果对于场景设计非常重要。
传统的室内场景布光过程中,设计师以设计方案中的照明灯具布置情况及采光情况为基础,根据方案表现的需要,结合设计师的经验对设计场景中的灯光类型、位置、尺寸、色温和温度等参数进行设定,并经过多次反复调试修改进行渲染才获得设计效果图,该方法高度依赖于设计方案的完整性,并且设计效率低、速度慢。为了解决该问题,现有技术中提出了自动布光方法,该方法对整个空间的灯光进行无差化布局,并未考虑场景中已经存在灯具的情况,与实际灯光效果偏差较大。
发明内容
本申请提供了一种室内场景自动布光方法和相关装置,用于解决现有的自动布光方法对整个空间的灯光进行无差化布局,并未考虑场景中已经存在灯具的情况,存在与实际灯光效果偏差较大的技术问题。
有鉴于此,本申请第一方面提供了一种室内场景自动布光方法,包括:
对目标场景空间进行凸分解,得到若干个凸多边形区域;
遍历所述目标场景空间中的所有灯具,根据灯具所在区域将灯具加入对应的所述凸多边形区域的灯具列表;
当所述灯具列表为空时,计算所述灯具列表对应的所述凸多边形区域的最大内接矩形,基于所述最大内接矩形和预置布灯规则确定所述凸多边形区域的布灯类型、布灯数量、布灯强度和布灯位置;
当所述灯具列表为非空时,计算所述灯具列表对应的所述凸多边形区域中所有灯具的已布光源强度和凸多边形区域所需光照强度,基于所述凸多边形区域所需光照强度和所述已布光源强度计算所述凸多边形区域中的所有灯具的增益值,基于所述增益值对所述凸多边形区域中的所有灯具进行增益调节,其中,所述凸多边形区域所需光照强度基于所述凸多边形区域的面积计算得到。
可选的,所述对目标场景空间进行凸分解,得到若干个凸多边形区域,包括:
A1、对所述目标场景空间的所有顶点按照预置顺序进行排序,并按索引顺序对每个顶点分配索引值;
A2、将当前索引值对应的顶点作为目标顶点Pi,基于所述目标顶点Pi、所述目标顶点的前一个顶点Pi-1和后一个顶点Pi+1引出第一射线Pi-1Pi和第二射线Pi+1Pi,判断所述第一射线Pi-1Pi和所述第二射线Pi+1Pi与目标线段是否存在交点,若是,则执行A3,若否,则执行A6,其中,所述目标线段为所有连续两个非目标顶点构成的线段;
A3、在所述第一射线Pi-1Pi、所述第二射线Pi+1Pi与所述目标线段的交点中选取与所述目标顶点Pi的距离最短的交点作为分割点;
A4、沿着所述分割点和所述目标顶点Pi构成的线段将所述目标场景空间划分为两个凹多边形区域;
A5、分别将两个所述凹多边形区域作为所述目标场景空间,返回A1;
A6、判断当前索引值是否为最大索引值,若是,将所述目标场景空间作为凸多边形区域进行输出,若否,将当前索引值加1作为新的当前索引值,返回A2。
可选的,所述计算所述灯具列表对应的所述凸多边形区域的最大内接矩形,包括:
B1、将所述灯具列表对应的所述凸多边形区域旋转目标角度,得到第一旋转区域,计算所述第一旋转区域的最小水平垂直外接矩形;
B2、将所述最小水平垂直外接矩形分别在水平方向和垂直方向进行若干等份划分,得到若干个坐标点;
B3、遍历所有所述坐标点,当所述坐标点在所述凸多边形区域内,以所述坐标点为矩形的左下角点,遍历剩下的所有所述坐标点,将在所述凸多边形区域内的剩下的所述坐标点作为矩形的右上角点,计算由所述矩形的左下角点和所述矩形的右上角点构成的矩形的矩形面积;
B4、调整所述目标角度,得到调整角度,判断所述调整角度是否小于90°,若是,将所述调整角度作为所述目标角度,返回B1,若否,输出最大的所述矩形面积对应的矩形。
可选的,所述预置布灯规则包括:
判断所述最大内接矩形的宽度是否小于第一阈值,若是,所述布灯类型为聚光灯光源,若否,所述布灯类型为面光源;
判断所述最大内接矩形的长宽比是否大于第二阈值,若是,所述布灯数量为所述长宽比的向下取整数值,若否,所述布灯数量为1个;
所述布灯强度为所述最大内接矩形对应的所述凸多边形区域所需光照强度与所述布灯数量的比值;
将所述最大内接矩形划分为所述布灯数量等份区域,每个所述区域的中心点为所述布灯位置。
可选的,所述凸多边形区域所需光照强度的计算公式为:
Lneed=Sarea*Lpm;
Lneed为凸多边形区域所需光照强度,Sarea为凸多边形区域的面积,Lpm为单位面积所需光照强度。
可选的,所述基于所述凸多边形区域所需光照强度和所述已布光源强度计算所述凸多边形区域中的所有灯具的增益值,包括:
计算所述凸多边形区域所需光照强度与所述已布光源强度的比值,得到所述凸多边形区域中的所有灯具的增益值。
本申请第二方面提供了一种室内场景自动布光装置,包括:
凸分解单元,用于对目标场景空间进行凸分解,得到若干个凸多边形区域;
遍历单元,用于遍历所述目标场景空间中的所有灯具,根据灯具所在区域将灯具加入对应的所述凸多边形区域的灯具列表;
第一计算单元,用于当所述灯具列表为空时,计算所述灯具列表对应的所述凸多边形区域的最大内接矩形,基于所述最大内接矩形和预置布灯规则确定所述凸多边形区域的布灯类型、布灯数量、布灯强度和布灯位置;
第二计算单元,用于当所述灯具列表为非空时,计算所述灯具列表对应的所述凸多边形区域中所有灯具的已布光源强度和凸多边形区域所需光照强度,基于所述凸多边形区域所需光照强度和所述已布光源强度计算所述凸多边形区域中的所有灯具的增益值,基于所述增益值对所述凸多边形区域中的所有灯具进行增益调节,其中,所述凸多边形区域所需光照强度基于所述凸多边形区域的面积计算得到。
可选的,所述预置布灯规则包括:
判断所述最大内接矩形的宽度是否小于第一阈值,若是,所述布灯类型为聚光灯光源,若否,所述布灯类型为面光源;
判断所述最大内接矩形的长宽比是否大于第二阈值,若是,所述布灯数量为所述长宽比的向下取整数值,若否,所述布灯数量为1个;
所述布灯强度为所述最大内接矩形对应的所述凸多边形区域所需光照强度与所述布灯数量的比值;
将所述最大内接矩形划分为所述布灯数量等份矩形区域,每个所述等份矩形区域的中心点为所述布灯位置。
本申请第三方面提供了一种室内场景自动布光设备,所述设备包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面任一种所述的室内场景自动布光方法。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面任一种所述的室内场景自动布光方法。
从以上技术方案可以看出,本申请具有以下优点:
本申请提供了一种室内场景自动布光方法,包括:对目标场景空间进行凸分解,得到若干个凸多边形区域;遍历目标场景空间中的所有灯具,根据灯具所在区域将灯具加入对应的凸多边形区域的灯具列表;当灯具列表为空时,计算灯具列表对应的凸多边形区域的最大内接矩形,基于最大内接矩形和预置布灯规则确定凸多边形区域的布灯类型、布灯数量、布灯强度和布灯位置;当灯具列表为非空时,计算灯具列表对应的凸多边形区域中所有灯具的已布光源强度和凸多边形区域所需光照强度,基于凸多边形区域所需光照强度和已布光源强度计算凸多边形区域中的所有灯具的增益值,基于增益值对凸多边形区域中的所有灯具进行增益调节,其中,凸多边形区域所需光照强度基于凸多边形区域的面积计算得到。
本申请中的室内场景自动布光方法,通过对目标场景空间进行凸分解,实现区域分割,对得到的各个凸多边形区域进行灯具检测,进而实现任意形状室内空间的自动布灯;当检测到凸多边形区域没有灯具时,通过凸多边形最大内接矩形的近似计算对区域布灯进行约束,根据最大内接矩形和预置布灯规则确定凸多边形区域的布灯类型、布灯数量、布灯强度和布灯位置;当检测到凸多边形区域有灯具时,根据计算得到的已布光源强度和凸多边形区域所需光照强度,计算增益值,根据增益值对凸多边形区域中的所有灯具进行增益调节,在保留原有灯具的灯光参数的基础上进行自动调节,布灯更加合理和高效,得到的布灯效果更佳,从而解决了现有的自动布光方法对整个空间的灯光进行无差化布局,并未考虑场景中已经存在灯具的情况,存在与实际灯光效果偏差较大的技术问题。
附图说明
图1为本申请实施例提供的一种室内场景自动布光方法的一个流程示意图;
图2为本申请实施例提供的一种目标室场景空间的一个结构示意图;
图3为本申请实施例提供的凸分解后的两个凹多边形区域的一个示意图;
图4为本申请实施例提供的凸分解后的三个凸多边形区域的一个示意图;
图5为本申请实施例提供的凸多边区域A3的最小水平垂直外接矩形的一个示意图;
图6为本申请实施例提供的凸多边区域的最大内接矩形的一个示意图;
图7本申请实施例提供的一种室内场景自动布光装置的一个流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,请参阅图1,本申请提供的一种室内场景自动布光方法的一个实施例,包括:
步骤101、对目标场景空间进行凸分解,得到若干个凸多边形区域。
需要说明的是,目标场景空间的形状多种多样,可以统一抽象为一个凹多边形结构。凹多边形的结构比较复杂,若直接对凹多边形空间进行自动布光,其难度较大,本申请实施例中对目标场景空间进行凸分解,实现区域分割,再对分割后的凸多边形区域进行自动布光,可以大大降低自动布光的难度。
步骤102、遍历目标场景空间中的所有灯具,根据灯具所在区域将灯具加入对应的凸多边形区域的灯具列表。
需要说明的是,针对目标场景空间中已经存在灯具的情况,本申请实施例中给每个凸多边形区域配置一个灯具列表,遍历目标场景空间中的所有灯具,根据灯具所在区域将其加入到对应的凸多边形区域的灯具列表中。
步骤103、当灯具列表为空时,计算灯具列表对应的凸多边形区域的最大内接矩形,基于最大内接矩形和预置布灯规则确定凸多边形区域的布灯类型、布灯数量、布灯强度和布灯位置。
需要说明的是,检测每个灯具列表,当灯具列表为空时,计算该空的灯具列表对应的凸多边形区域的最大内接矩形,提取该最大内接矩形信息,根据该最大内接矩形信息和预置布灯规则,从而确定该空的灯具列表对应的凸多边形区域的布灯类型、布灯数量、布灯强度和布灯位置。
步骤104、当灯具列表为非空时,计算灯具列表对应的凸多边形区域中所有灯具的已布光源强度和凸多边形区域所需光照强度,基于凸多边形区域所需光照强度和已布光源强度计算凸多边形区域中的所有灯具的增益值,基于增益值对凸多边形区域中的所有灯具进行增益调节。
需要说明的是,当检测到灯具列表不为空时,说明该非空灯具列表对应的凸多边形区域存在灯具,可以基于凸多边形区域的面积计算得到该凸多边形区域所需光照强度,并计算该凸多边形区域中所有灯具的已布光源强度,已布光源强度Lexist的计算公式可以为:
式中,Li为凸多边形区域中第i个灯具的已布光源强度,在灯具模型制作时给定,n为凸多边形区域的灯具列表长度,即该凸多边形区域中的灯具数量。
基于凸多边形区域所需光照强度和已布光源强度计算凸多边形区域中的所有灯具的增益值,根据计算得到的增益值对该凸多边形区域中的所有灯具进行增益调节,得到增益调节后的灯具的已布光源强度,保留原有的灯具的其他参数不变,例如布灯类型、布灯数量和布灯位置。
本申请实施例中的室内场景自动布光方法,通过对目标场景空间进行凸分解,实现区域分割,对得到的各个凸多边形区域进行灯具检测,进而实现任意形状室内空间的自动布灯;当检测到凸多边形区域没有灯具时,通过凸多边形最大内接矩形的近似计算对区域布灯进行约束,根据最大内接矩形和预置布灯规则确定凸多边形区域的布灯类型、布灯数量、布灯强度和布灯位置;当检测到凸多边形区域有灯具时,根据计算得到的已布光源强度和凸多边形区域所需光照强度,计算增益值,根据增益值对凸多边形区域中的所有灯具进行增益调节,在保留原有灯具的灯光参数的基础上进行自动调节,布灯更加合理和高效,得到的布灯效果更佳,从而解决了现有的自动布光方法对整个空间的灯光进行无差化布局,并未考虑场景中已经存在灯具的情况,存在与实际灯光效果偏差较大的技术问题。
为了便于理解,请参阅图2至图6,本申请提供一种室内场景自动布光方法的另一个实施例,包括:
步骤201、对目标场景空间进行凸分解,得到若干个凸多边形区域。
需要说明的是,目标场景空间的形状多种多样,可以统一抽象为一个凹多边形结构。凹多边形的结构比较复杂,若直接对凹多边形空间进行自动布光,其难度较大,本申请实施例中对目标场景空间进行凸分解,实现区域分割,再对分割后的凸多边形区域进行自动布光,可以大大降低自动布光的难度,凸分解过程可以为:
A1、对目标场景空间的所有顶点按照预置顺序进行排序,并按索引顺序对每个顶点分配索引值。
需要说明的是,可以对凹多边形的所有顶点进行顺时针排序,也可以是逆时针排序,并按索引顺序对每个顶点分配索引值。请参考图2提供的一种目标场景空间,本申请实施例中对图2中的目标场景空间进行凸分解,对目标场景空间的所有顶点进行逆时针排序,分别为P1~P10,按索引顺序对每个顶点分配索引值0~9,设置当前索引的顶点的索引值为0。
A2、将当前索引值对应的顶点作为目标顶点Pi,基于目标顶点Pi、目标顶点的前一个顶点Pi-1和后一个顶点Pi+1引出第一射线Pi-1Pi和第二射线Pi+1Pi,判断第一射线Pi-1Pi和第二射线Pi+1Pi与目标线段是否存在交点,若是,则执行A3,若否,则执行A6,其中,目标线段为所有连续两个非目标顶点构成的线段。
需要说明的是,当前索引值对应的顶点为目标顶点Pi,第一射线Pi-1Pi的起点为Pi-1,射线方向从Pi-1指向Pi,第二射线Pi+1Pi的起点为Pi+1,射线方向从Pi+1指向Pi,沿着第一射线Pi-1Pi的方向计算第一射线Pi-1Pi与除线段Pi-1Pi、线段Pi+1Pi之外的所有连续两个顶点构成的线段是否存在交点和沿着第二射线Pi+1Pi的方向计算第二射线Pi+1Pi与除线段Pi-1Pi、线段Pi+1Pi之外的所有连续两个顶点构成的线段是否存在交点,若不存在交点,说明目标顶点Pi不是凹点,则执行A6,若存在交点,说明目标顶点Pi是凹点,则执行A3。
假设目标顶点为P1,目标顶点P1的前一个顶点为P10,后一个顶点为P2,在目标顶点P1引出两条射线P10P1、P2P1,沿着射线P10P1的方向计算射线P10P1与除线段P10P1、线段P2P1以外所有连续两个顶点构成的线段是否存在交点,沿着射线P2P1的方向计算射线P2P1与除线段P10P1、线段P2P1以外所有连续两个顶点构成的线段是否存在交点,很显然,不存在交点,所以P1不是凹点,不需要在此处进行分割,执行步骤A6,增加索引值继续查找下一个凹点,很快找到凹点P4。
A3、在第一射线Pi-1Pi、第二射线Pi+1Pi与目标线段的交点中选取与目标顶点Pi的距离最短的交点作为分割点。
需要说明的是,可以是在第一射线Pi-1Pi与目标线段的交点中选取与目标顶点Pi的距离最短的交点作为第一候选分割点,记为I1,最短长度记为L1;在第二射线Pi+1Pi与目标线段的交点中选取与目标顶点Pi的距离最短的交点作为第二候选分割点,记为I2,最短长度记为L2。
若L1<L2,则I1为最终的分割点,反之,则I2为最终的分割点。沿用上述例子,射线P3P4与线段P6P7、P7P8相交,交点刚好为P7,L1等于线段P7P4的长度;射线P5P4与线段P1P2相交,交点为I2,L2为线段P4I2的长度。因为L1<L2,取P7为分割点。
A4、沿着分割点和目标顶点Pi构成的线段将目标场景空间划分为两个凹多边形区域。
需要说明的是,沿着分割点和目标顶点Pi构成的线段将目标场景空间划分为左右两边的两个凹多边形区域。沿用上述例子,将目标场景空间沿着线段P7P4的左右两边分解为两个凹多边形区域,分别是PolyR=(P4,P5,P6,P7),PolyL=(P1,P2,P3,P4,P7,P8,P9,P10),请参考图3。
A5、分别将两个凹多边形区域作为目标场景空间,返回A1。
需要说明的是,将两个凹多边形区域分别作为目标场景空间,分别返回步骤A1,对这两个凹多边形区域分别再进行凸分解。沿用上述例子,分别将PolyR、PolyL作为目标场景空间,返回步骤A1,最终得到3个凸多边形区域,请参考图4。
A6、判断当前索引值是否为最大索引值,若是,将目标场景空间作为凸多边形区域进行输出,若否,将当前索引值加1作为新的当前索引值,返回A2。
需要说明的是,判断当前索引值是否为最大索引值,若是,将目标场景空间作为凸多边形区域进行输出,若否,索引值加1得到新的索引值,将该新的索引值作为当前索引值,返回A2。
步骤202、遍历目标场景空间中的所有灯具,根据灯具所在区域将灯具加入对应的凸多边形区域的灯具列表。
需要说明的是,针对目标场景空间中已经存在灯具的情况,本申请实施例中给每个凸多边形区域配置一个灯具列表,遍历目标场景空间中的所有灯具,根据灯具所在区域将其加入到对应的凸多边形区域的灯具列表中。
步骤203、当灯具列表为空时,计算灯具列表对应的凸多边形区域的最大内接矩形,基于最大内接矩形和预置布灯规则确定凸多边形区域的布灯类型、布灯数量、布灯强度和布灯位置。
需要说明的是,检测每个灯具列表,当灯具列表为空时,计算该空的灯具列表对应的凸多边形区域的最大内接矩形,提取该最大内接矩形信息,根据该最大内接矩形信息和预置布灯规则,从而确定该空的灯具列表对应的凸多边形区域的布灯类型、布灯数量、布灯强度和布灯位置,其中,计算该空的灯具列表对应的凸多边形区域的最大内接矩形可以为:
B1、将灯具列表对应的凸多边形区域旋转目标角度,得到第一旋转区域,计算第一旋转区域的最小水平垂直外接矩形。
需要说明的是,将灯具列表对应的凸多边形区域旋转目标角度R,其中,R的初始值为0,得到旋转后的凸多边形区域,即第一旋转区域,计算第一旋转区域的最小水平垂直外接矩形,记外接矩形的左下角坐标为(L,B),也可以是该外接矩形其他点坐标,为便于理解,本申请实施例以外接矩形的左下角坐标为例进行说明,该外接矩形的水平长度为W,垂直高度为H。结合图4,以凸多边区域A3为例,取R=0、M=35、N=36,此时,凸多边区域A3的最小水平垂直外接矩形为图5中的点阵区域。
B2、将最小水平垂直外接矩形分别在水平方向和垂直方向进行若干等份划分,得到若干个坐标点。
需要说明的是,将最小水平垂直外接矩形分别在水平方向和垂直方向进行M、N等份划分,记水平方向的坐标点为Xi,垂直方向的坐标点为Yi,Xi、Yi满足:
Xi=L+W*i/M,i∈(0,1,2,…,M);
Yj=B+H*j/N,j∈(0,1,2,…,N)。
B3、遍历所有坐标点,当坐标点在凸多边形区域内,以坐标点为矩形的左下角点,遍历剩下的所有坐标点,将在凸多边形区域内的剩下的坐标点作为矩形的右上角点,计算由矩形的左下角点和矩形的右上角点构成的矩形的矩形面积。
需要说明的是,取X=Xi,遍历其垂直方向的N+1个坐标点(X,Yj),若坐标点(X,Yj)在凸多边形内部,则保留该坐标点,若坐标点(X,Yj)不在凸多边形内部,则丢弃该坐标点,取所有的保留点中Y值最大和最小的坐标点,分别记为(Xi,Yjmax)、(Xi,Yjmin)。沿用上述例子,以X=X13为例,则Y13min=Y0,Y13max=Y28。
取Y=Yj,遍历其水平方向的M+1个坐标点(Xi,Y),若坐标点(Xi,Y)在凸多边形内部,则保留该坐标点,若坐标点(Xi,Y)不在凸多边形内部,则丢弃该坐标点,取所有的保留点中X值最大和最小的坐标点,分别记为(Ximax,Yj)、(Ximin,Yj)。以Y=Y28为例,则X28min=X13、X28max=X28。
遍历所有坐标点(Xi,Yj),若Xi<Ximin或Xi>Ximax或Yj<Yjmin或Yj>Yjmax,则丢弃该坐标点,否则以该坐标点(Xi,Yj)为矩形的左下角点,遍历剩下的所有坐标点(Xm,Yn),m∈(i+1,i+2,…,M),n∈(j+1,j+2,…,N),若Xm<Ximin或Xm>Ximax或Yn<Yjmin或Yn>Yjmax,则丢弃该坐标点,否则以该坐标点(Xm,Yn)为矩形的右上角点,计算由(Xi,Yj)和(Xm,Yn)构成的矩形的矩形面积Sijmn。
B4、调整目标角度,得到调整角度,判断调整角度是否小于90°,若是,将调整角度作为目标角度,返回B1,若否,输出最大的矩形面积对应的矩形。
需要说明的是,可以预先设置旋转递增角度r,通过旋转递增角度r来调整目标角度R,即调整角度R′=R+r,若调整角度R′小于90°,将调整角度R′作为目标角度R,返回B1,否则,将最大的矩形面积Sijmn对应的矩形作为最大内接矩形,输出最大的矩形面积Sijmn对应的矩形。沿用上述例子,当R=0、M=35、N=36,坐标点(X13,Y0)、(X28,Y28)构成的矩形区域为凸多边区域A3的最大内接矩阵,如图5所示,凸多边区域A1、A2和A3最终得到的最大内接矩形如图6所示。
根据输出的最大内接矩形得到最大内接矩形的长度l和宽度w,进而基于最大内接矩形信息与预置布灯规则确定凸多边形区域的布灯类型、布灯数量、布灯强度和布灯位置,其中,预置布灯规则包括:
判断最大内接矩形的宽度w是否小于第一阈值,若是,布灯类型为聚光灯光源,若否,布灯类型为面光源;
布灯强度L为最大内接矩形对应的凸多边形区域所需光照强度Lneed与布灯数量nl的比值,即L=Lneed/nl;
将最大内接矩形划分为布灯数量nl等份区域,每个区域的中心点为布灯位置,可以是将最大内接矩形划分为布灯数量nl等份矩形区域。
步骤204、当灯具列表为非空时,计算灯具列表对应的凸多边形区域中所有灯具的已布光源强度和凸多边形区域所需光照强度,基于凸多边形区域所需光照强度和已布光源强度计算凸多边形区域中的所有灯具的增益值,基于增益值对凸多边形区域中的所有灯具进行增益调节。
需要说明的是,当检测到灯具列表不为空时,说明该非空灯具列表对应的凸多边形区域存在灯具,可以基于凸多边形区域的面积计算得到该凸多边形区域所需光照强度,可以是:
Lneed=Sarea*Lpm;
Lneed为凸多边形区域所需光照强度,Sarea为凸多边形区域的面积,Lpm为单位面积所需光照强度,具体数值可以参考照明设计要求给定。
计算该凸多边形区域中所有灯具的已布光源强度,已布光源强度Lexist的计算公式可以为:
式中,Li为凸多边形区域中第i个灯具的已布光源强度,在灯具模型制作时给定,n为凸多边形区域的灯具列表长度,即该凸多边形区域中的灯具数量。
基于凸多边形区域所需光照强度和已布光源强度计算凸多边形区域中的所有灯具的增益值Lmutiply,即:
根据计算得到的增益值Lmutiply对该凸多边形区域中的所有灯具进行增益调节,即:
Linew=Lmutiply*Li
Linew为第i个灯具增益调节后的已布光源强度,保留原有的灯具的其他参数不变,例如布灯类型、布灯数量和布灯位置。
为了便于理解,请参考图7,本申请实施例提供的一种室内场景自动布光装置,包括:
凸分解单元,用于对目标场景空间进行凸分解,得到若干个凸多边形区域。
遍历单元,用于遍历目标场景空间中的所有灯具,根据灯具所在区域将灯具加入对应的凸多边形区域的灯具列表。
第一计算单元,用于当灯具列表为空时,计算灯具列表对应的凸多边形区域的最大内接矩形,基于最大内接矩形和预置布灯规则确定凸多边形区域的布灯类型、布灯数量、布灯强度和布灯位置。
第二计算单元,用于当灯具列表为非空时,计算灯具列表对应的凸多边形区域中所有灯具的已布光源强度和凸多边形区域所需光照强度,基于凸多边形区域所需光照强度和已布光源强度计算凸多边形区域中的所有灯具的增益值,基于增益值对凸多边形区域中的所有灯具进行增益调节,其中,凸多边形区域所需光照强度基于凸多边形区域的面积计算得到。
进一步地,预置布灯规则包括:
判断最大内接矩形的宽度是否小于第一阈值,若是,布灯类型为聚光灯光源,若否,布灯类型为面光源;
判断最大内接矩形的长宽比是否大于第二阈值,若是,布灯数量为长宽比的向下取整数值,若否,布灯数量为1个;
布灯强度为最大内接矩形对应的凸多边形区域所需光照强度与布灯数量的比值;
将最大内接矩形划分为布灯数量等份矩形区域,每个等份矩形区域的中心点为布灯位置。
本申请实施例提供了一种室内场景自动布光设备,设备包括处理器以及存储器;
存储器用于存储程序代码,并将程序代码传输给处理器;
处理器用于根据程序代码中的指令执行前述室内场景自动布光方法的实施例中的室内场景自动布光方法。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行前述室内场景自动布光方法的实施例中的室内场景自动布光方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以通过一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random AcceAA Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (9)
1.一种室内场景自动布光方法,其特征在于,包括:
对目标场景空间进行凸分解,得到若干个凸多边形区域;
遍历所述目标场景空间中的所有灯具,根据灯具所在区域将灯具加入对应的所述凸多边形区域的灯具列表;
当所述灯具列表为空时,计算所述灯具列表对应的所述凸多边形区域的最大内接矩形,基于所述最大内接矩形和预置布灯规则确定所述凸多边形区域的布灯类型、布灯数量、布灯强度和布灯位置;
当所述灯具列表为非空时,计算所述灯具列表对应的所述凸多边形区域中所有灯具的已布光源强度和凸多边形区域所需光照强度,基于所述凸多边形区域所需光照强度和所述已布光源强度计算所述凸多边形区域中的所有灯具的增益值,基于所述增益值对所述凸多边形区域中的所有灯具进行增益调节,其中,所述凸多边形区域所需光照强度基于所述凸多边形区域的面积计算得到;
所述对目标场景空间进行凸分解,得到若干个凸多边形区域,包括:
A1、对所述目标场景空间的所有顶点按照预置顺序进行排序,并按索引顺序对每个顶点分配索引值;
A2、将当前索引值对应的顶点作为目标顶点Pi,基于所述目标顶点Pi、所述目标顶点的前一个顶点Pi-1和后一个顶点Pi+1引出第一射线Pi-1Pi和第二射线Pi+1Pi,判断所述第一射线Pi-1Pi和所述第二射线Pi+1Pi与目标线段是否存在交点,若是,则执行A3,若否,则执行A6,其中,所述目标线段为所有连续两个非目标顶点构成的线段;
A3、在所述第一射线Pi-1Pi、所述第二射线Pi+1Pi与所述目标线段的交点中选取与所述目标顶点Pi的距离最短的交点作为分割点;
A4、沿着所述分割点和所述目标顶点Pi构成的线段将所述目标场景空间划分为两个凹多边形区域;
A5、分别将两个所述凹多边形区域作为所述目标场景空间,返回A1;
A6、判断当前索引值是否为最大索引值,若是,将所述目标场景空间作为凸多边形区域进行输出,若否,将当前索引值加1作为新的当前索引值,返回A2。
2.根据权利要求1所述的室内场景自动布光方法,其特征在于,所述计算所述灯具列表对应的所述凸多边形区域的最大内接矩形,包括:
B1、将所述灯具列表对应的所述凸多边形区域旋转目标角度,得到第一旋转区域,计算所述第一旋转区域的最小水平垂直外接矩形;
B2、将所述最小水平垂直外接矩形分别在水平方向和垂直方向进行若干等份划分,得到若干个坐标点;
B3、遍历所有所述坐标点,当所述坐标点在所述凸多边形区域内,以所述坐标点为矩形的左下角点,遍历剩下的所有所述坐标点,将在所述凸多边形区域内的剩下的所述坐标点作为矩形的右上角点,计算由所述矩形的左下角点和所述矩形的右上角点构成的矩形的矩形面积;
B4、调整所述目标角度,得到调整角度,判断所述调整角度是否小于90°,若是,将所述调整角度作为所述目标角度,返回B1,若否,输出最大的所述矩形面积对应的矩形。
3.根据权利要求1所述的室内场景自动布光方法,其特征在于,所述预置布灯规则包括:
判断所述最大内接矩形的宽度是否小于第一阈值,若是,所述布灯类型为聚光灯光源,若否,所述布灯类型为面光源;
判断所述最大内接矩形的长宽比是否大于第二阈值,若是,所述布灯数量为所述长宽比的向下取整数值,若否,所述布灯数量为1个;
所述布灯强度为所述最大内接矩形对应的所述凸多边形区域所需光照强度与所述布灯数量的比值;
将所述最大内接矩形划分为所述布灯数量等份区域,每个所述区域的中心点为所述布灯位置。
4.根据权利要求1或3任一项所述的室内场景自动布光方法,其特征在于,所述凸多边形区域所需光照强度的计算公式为:
Lneed=Sarea*Lpm;
Lneed为凸多边形区域所需光照强度,Sarea为凸多边形区域的面积,Lpm为单位面积所需光照强度。
5.根据权利要求1所述的室内场景自动布光方法,其特征在于,所述基于所述凸多边形区域所需光照强度和所述已布光源强度计算所述凸多边形区域中的所有灯具的增益值,包括:
计算所述凸多边形区域所需光照强度与所述已布光源强度的比值,得到所述凸多边形区域中的所有灯具的增益值。
6.一种室内场景自动布光装置,其特征在于,包括:
凸分解单元,用于对目标场景空间进行凸分解,得到若干个凸多边形区域;
遍历单元,用于遍历所述目标场景空间中的所有灯具,根据灯具所在区域将灯具加入对应的所述凸多边形区域的灯具列表;
第一计算单元,用于当所述灯具列表为空时,计算所述灯具列表对应的所述凸多边形区域的最大内接矩形,基于所述最大内接矩形和预置布灯规则确定所述凸多边形区域的布灯类型、布灯数量、布灯强度和布灯位置;
第二计算单元,用于当所述灯具列表为非空时,计算所述灯具列表对应的所述凸多边形区域中所有灯具的已布光源强度和凸多边形区域所需光照强度,基于所述凸多边形区域所需光照强度和所述已布光源强度计算所述凸多边形区域中的所有灯具的增益值,基于所述增益值对所述凸多边形区域中的所有灯具进行增益调节,其中,所述凸多边形区域所需光照强度基于所述凸多边形区域的面积计算得到;
所述凸分解单元具体用于执行以下步骤:
A1、对所述目标场景空间的所有顶点按照预置顺序进行排序,并按索引顺序对每个顶点分配索引值;
A2、将当前索引值对应的顶点作为目标顶点Pi,基于所述目标顶点Pi、所述目标顶点的前一个顶点Pi-1和后一个顶点Pi+1引出第一射线Pi-1Pi和第二射线Pi+1Pi,判断所述第一射线Pi-1Pi和所述第二射线Pi+1Pi与目标线段是否存在交点,若是,则执行A3,若否,则执行A6,其中,所述目标线段为所有连续两个非目标顶点构成的线段;
A3、在所述第一射线Pi-1Pi、所述第二射线Pi+1Pi与所述目标线段的交点中选取与所述目标顶点Pi的距离最短的交点作为分割点;
A4、沿着所述分割点和所述目标顶点Pi构成的线段将所述目标场景空间划分为两个凹多边形区域;
A5、分别将两个所述凹多边形区域作为所述目标场景空间,返回A1;
A6、判断当前索引值是否为最大索引值,若是,将所述目标场景空间作为凸多边形区域进行输出,若否,将当前索引值加1作为新的当前索引值,返回A2。
7.根据权利要求6所述的室内场景自动布光装置,其特征在于,所述预置布灯规则包括:
判断所述最大内接矩形的宽度是否小于第一阈值,若是,所述布灯类型为聚光灯光源,若否,所述布灯类型为面光源;
判断所述最大内接矩形的长宽比是否大于第二阈值,若是,所述布灯数量为所述长宽比的向下取整数值,若否,所述布灯数量为1个;
所述布灯强度为所述最大内接矩形对应的所述凸多边形区域所需光照强度与所述布灯数量的比值;
将所述最大内接矩形划分为所述布灯数量等份矩形区域,每个所述等份矩形区域的中心点为所述布灯位置。
8.一种室内场景自动布光设备,其特征在于,所述设备包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-5任一项所述的室内场景自动布光方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-5任一项所述的室内场景自动布光方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010572901.3A CN111611726B (zh) | 2020-06-22 | 2020-06-22 | 一种室内场景自动布光方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010572901.3A CN111611726B (zh) | 2020-06-22 | 2020-06-22 | 一种室内场景自动布光方法和相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111611726A CN111611726A (zh) | 2020-09-01 |
CN111611726B true CN111611726B (zh) | 2021-03-23 |
Family
ID=72203684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010572901.3A Active CN111611726B (zh) | 2020-06-22 | 2020-06-22 | 一种室内场景自动布光方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111611726B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632648B (zh) * | 2020-12-04 | 2022-03-18 | 贝壳找房(北京)科技有限公司 | 一种基于空间理解的灯具自动摆放方法及装置 |
CN114567955B (zh) * | 2022-02-25 | 2023-12-01 | 北京字跳网络技术有限公司 | 室内光线渲染方法、装置、电子设备及存储介质 |
CN114786311B (zh) * | 2022-05-26 | 2023-03-24 | 中国建筑第二工程局有限公司 | 一种基于bim的可视化地下室光源布置方法 |
CN115329438B (zh) * | 2022-08-25 | 2023-04-25 | 贝壳找房(北京)科技有限公司 | 场景空间的布光方法、计算机设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110276824A (zh) * | 2019-07-03 | 2019-09-24 | 深圳积木易搭科技技术有限公司 | 一种自动布光方法、介质、设备和装置 |
CN111008416A (zh) * | 2019-11-12 | 2020-04-14 | 江苏艾佳家居用品有限公司 | 一种户型场景光照效果生成方法及系统 |
CN111145333A (zh) * | 2019-12-11 | 2020-05-12 | 江苏艾佳家居用品有限公司 | 一种室内场景光照布局方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102087752B (zh) * | 2009-12-08 | 2013-11-20 | 鸿富锦精密工业(深圳)有限公司 | 光照环境模拟系统及方法 |
CN107180447B (zh) * | 2016-03-10 | 2020-12-04 | 珠海金山网络游戏科技有限公司 | 一种获得光照强度的方法及装置 |
CN110136156B (zh) * | 2018-02-02 | 2020-12-01 | 北京三快在线科技有限公司 | 一种多边形区域检测方法及装置 |
-
2020
- 2020-06-22 CN CN202010572901.3A patent/CN111611726B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110276824A (zh) * | 2019-07-03 | 2019-09-24 | 深圳积木易搭科技技术有限公司 | 一种自动布光方法、介质、设备和装置 |
CN111008416A (zh) * | 2019-11-12 | 2020-04-14 | 江苏艾佳家居用品有限公司 | 一种户型场景光照效果生成方法及系统 |
CN111145333A (zh) * | 2019-12-11 | 2020-05-12 | 江苏艾佳家居用品有限公司 | 一种室内场景光照布局方法 |
Non-Patent Citations (3)
Title |
---|
复杂区域的光源优化布局算法;魏静如等;《计算机辅助设计与图像学学报》;20151031;第27卷(第10期);第1944页至1949页 * |
室内复杂区域的光源阵列优化方法研究;贺小叶;《现代电子技术》;20180201;第41卷(第3期);第136页至140页 * |
点光源小扰动环境空间布局室内优化设计;郭文斌等;《科技通报》;20160131;第32卷(第1期);第128页至132页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111611726A (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111611726B (zh) | 一种室内场景自动布光方法和相关装置 | |
JP4372477B2 (ja) | 2分木を巡回する方法およびシステム | |
US8570322B2 (en) | Method, system, and computer program product for efficient ray tracing of micropolygon geometry | |
CN112347546A (zh) | 基于轻量级设备的bim渲染方法、设备和计算机可读存储介质 | |
CN110433495B (zh) | 游戏中虚拟场景的配置方法及装置、存储介质及电子设备 | |
CN111145333B (zh) | 一种室内场景光照布局方法 | |
US20030227455A1 (en) | Grid-based loose octree for spatial partitioning | |
WO2022121525A1 (zh) | 三维场景数据的渲染方法及装置、存储介质、电子装置 | |
CN104143186B (zh) | 一种slic超像素分块优化方法 | |
CN111068310B (zh) | 一种实现游戏地图无缝加载的方法及系统 | |
WO2008037615A1 (en) | Workload distribution in a ray tracing image processing system | |
CN113589753A (zh) | 三维模型表面路径规划方法、系统、设备、终端及应用 | |
CN111901947B (zh) | 舞台光束效果的控制方法、系统、装置及介质 | |
CN106204719A (zh) | 基于二维邻域检索的三维场景中海量模型实时调度方法 | |
CN115510519A (zh) | 车道灯规划方法、装置、设备及存储介质 | |
CN109448098A (zh) | 一种基于建筑物单张夜景图像重建虚拟场景光源的方法 | |
CN118115571A (zh) | 一种立体布局的led灯串灯珠位置确定方法及装置 | |
Fuetterling et al. | Efficient ray tracing kernels for modern cpu architectures | |
CN117689791A (zh) | 三维可视化多场景渲染应用集成方法 | |
WO2018074096A1 (en) | Optic, luminaire and method for fabricating optic | |
Hu et al. | Parallel BVH construction using locally density clustering | |
CN110728688B (zh) | 一种基于能量优化的三维网格模型分割方法及系统 | |
CN113282089B (zh) | 高温场景中的移动机器人全局路径规划方法 | |
CN116740255A (zh) | 渲染处理方法、装置、设备以及介质 | |
CN112712581A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 510000 room 1201, 620 Xingang East Road, Haizhu District, Guangzhou City, Guangdong Province, self number 1203-1218 (office only) Patentee after: Guangzhou pole 3D Information Technology Co.,Ltd. Address before: Room 047, first floor, 2429 Xingang East Road, Haizhu District, Guangzhou, Guangdong 510220 Patentee before: Guangzhou pole 3D Information Technology Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |