一种计算室内全景图采集点及屋顶灯具布局的方法及系统与流程

文档序号:18060553发布日期:2019-07-03 03:03阅读:188来源:国知局
一种计算室内全景图采集点及屋顶灯具布局的方法及系统与流程

本发明涉及一种自动化计算室内全景图采集点以及室内屋顶灯具布局的方法及系统,属于计算机辅助设计技术领域。



背景技术:

室内全景图的呈现有利于用户能够便捷地体验家装设计后的预见效果,但是全景图的生成首先需要一个较好的采集点位置,对于每一个空间区域而言,通常要取到该区域的中心点位置,这样才能获得较好的视野。同样灯具布局也需要在屋顶合适的位置,这样光照的效果才能均匀,同时在外形上给人也有较好的视觉效果。



技术实现要素:

本发明提供了一种自动化计算室内全景图采集点,以及室内屋顶灯具布局的方法及系统。本发明提供的方法,可以根据房间的不同形状,快速的自动计算找到全景图采集点。

本发明的第一个方面,提供了:

一种自动化计算室内全景图采集点的方法,包括如下步骤:

s1,获取户型图中的房间平面数据;

s2,根据墙体确定出各个房间的边界点的平面坐标数据;

s3,对于每个房间,执行以下步骤判定全景图采集点:

s31,当房间的顶点数为3时,把顶点所构成的三角形的重心作为全景图采集点;

s32,当房间的顶点数为4时,如果四个顶点的算术均值位于这个四边形内部,则将算术均值的坐标点作为全景图采集点;如果四个顶点的算术均值位于这个四边形外部,则连接四边形的对角线,将得到的两个三角形当中面积较大的一个三角形的重心作为四边形的全景图采集点;

s32,当房间的顶点数大于等于5时,执行以下步骤:

s321,将各个顶点按照围绕房间的方向依次排序标记;

s322,选取其中一个顶点,将所述的顶点与它的上一点之间、所述的顶点与它的下一点之间、所述的顶点的下一个点与再下一个点之间构建三条向量,分别作为第一向量、第二向量和第三向量,向量的方向朝着顶点依次围绕房间的方向;

s323,对第一向量和第二向量、第二向量和第三向量之间分别求取向量外积,当两个向量外积方向相同时,判断出第一向量和第三向量之间长度较短的一条向量,然后将长度较短的一条向量和第二向量分别作为一个矩形的相邻的边,构建成一个矩形,将这个矩形定义为所述的顶点的有效性区域;

s324,对房间的每个顶点进行遍历,找到每个顶点的有效性区域,并判定出各个有效性区域中最大的一个,取中心点为全景图采集点。

在一个实施方式中,所述的s324步骤当中,所有的有效性区域的中心点都作为采集点。

在一个实施方式中,所述的s32步骤当中,相邻的顶点之间构成的相邻线段之间的夹角为90°。

一种室内屋顶灯布局方法,包括如下步骤:

s1,获取户型图中墙体高度;

s2,通过上述的自动化计算室内全景图采集点的方法获取每个房间的全景图采集点;

s3,将全景图采集点和平面坐标和墙体高度构建出房间中灯的空间坐标位置。

一种自动化计算室内全景图采集点的系统,包括:

房间平面数据获取模块,用于获取户型图中的房间平面数据;

平面坐标数据获取模块,用于根据墙体确定出各个房间的边界点的平面坐标数据;

顶点个数判定模块,用于将房间的顶点根据个数分类为3个、4个、大于等于5个三种情况;

第一采集点确定模块,用于对顶点个数判定模块确定为顶点个数为3个的房间确定全景图采集点,所述的第一采集点确定模块把顶点所构成的三角形的重心作为全景图采集点;

第二采集点确定模块,用于对顶点个数判定模块确定为顶点个数为4个的房间确定全景图采集点,所述的第二采集点确定模块判定:如果四个顶点的算术均值位于这个四边形内部,则将算术均值的坐标点作为全景图采集点;如果四个顶点的算术均值位于这个四边形外部,则连接四边形的对角线,将得到的两个三角形当中面积较大的一个三角形的重心作为四边形的全景图采集点;

第三采集点确定模块,用于对顶点个数判定模块确定为顶点个数为大于等于5个的房间确定全景图采集点,所述的第三采集点确定模块用于将各个顶点按照围绕房间的方向依次排序标记;选取其中一个顶点,将所述的顶点与它的上一点之间、所述的顶点与它的下一点之间、所述的顶点的下一个点与再下一个点之间构建三条向量,分别作为第一向量、第二向量和第三向量,向量的方向朝着顶点依次围绕房间的方向;对第一向量和第二向量、第二向量和第三向量之间分别求取向量外积,当两个向量外积方向相同时,判断出第一向量和第三向量之间长度较短的一条向量,然后将长度较短的一条向量和第二向量分别作为一个矩形的相邻的边,构建成一个矩形,将这个矩形定义为所述的顶点的有效性区域;对房间的每个顶点进行遍历,找到每个顶点的有效性区域,并判定出各个有效性区域中最大的一个,取中心点为全景图采集点。

在一个实施方式中,所述的第三采集点确定模块将所有的有效性区域的中心点都作为采集点。

在一个实施方式中,第三采集点确定模块当中,相邻的顶点之间构成的相邻线段之间的夹角为90°。

一种室内屋顶灯布局系统,包括:

墙体高度获取模块,用于获取户型图中墙体高度;

上述的自动化计算室内全景图采集点的系统,用于获取每个房间的全景图采集点;

灯的空间坐标位置确定模块,用于将全景图采集点和平面坐标和墙体高度构建出房间中灯的空间坐标位置。

一种记载有可以运行上述的自动化计算室内全景图采集点的方法的程序的计算机可读介质。

有益效果

本发明自动化地计算全景图采集点位置以及对应每一区域的屋顶上灯具布局位置,可以大大缩小家装设计的过程中繁琐地手动点击的过程,同时我们采取计算方法比较精确合理,提高工作效率。

本发明可以让用户在家装设计过程中,减少用户操作,自动计算全景图采集点,可以设置单个区域单个采集点,或者可以存在单个区域多个采集点(扫除视野盲区)。也可以用于室内安装设计过程中,自动计算屋顶灯光布局位置,减少人工繁琐的界面操作,而且计算精准,使得设计更高效精确。

附图说明

图1是计算某一区域全景图单个采集点的流程;

图2是计算某一区域全景图多个采集点的流程

图3是区域点集示例(逆时针方向)

图4是a点对应的有效区域说明

图5是户型地面区域效果图

图6是单个区域有单个采集点的效果图(红色对应相应区域采集点)

图7是存在单个区域有多个采集点的效果图(红色对应相应区域采集点)

图8是中心点不在区域内的四边形的示意图

具体实施方式

为了更清楚地说明本申请的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。应当理解,给出这些示例性实施例仅是为了使相关领域的技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。

如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。

虽然本申请对根据本申请的实施例的系统中的某些系统、模块或单元做出了各种引用,然而,任何数量的不同模块可以被使用并运行在客户端和/或服务器上。所述模块仅是说明性的,并且所述系统和方法的不同方面可以使用不同模块。

同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。

本发明提供了一种自动化计算室内全景图采集点,以及室内屋顶灯具布局的方法及系统。本发明提供的方法,可以根据房间的不同形状,快速的自动计算找到全景图采集点。

i.自动化计算室内全景图采集点(单个区域有单个采集点)的方法:

具体的自动计算室内全景图(单个区域有单个采集点)的流程如图1所示,图3是室内地面区域展示,可视为单个区域单个多边形。

1.加载软件户型数据模块:

1.1获取每一户型数据包括室内每一地面区域的边界有序点集(全部以逆时针或者顺时针排序),如图5所示,每个户型图当中是由多个房间构成,通过读取户型图的模块数据,可以区分出每个房间以及各个房间所对应的边界点;在获取之后,分别针对每个房间寻找其全景图采集点;

1.2获取每一地面区域对应的空间名称以及用途;

1.3获取每一地面区域边界的墙体,每一墙体都是由多个点集构成的多面体,区域与墙体的集合构成映射关系,以及每一墙体都有自己的属性,包括墙厚、墙的起始点、墙高、内侧墙、外侧墙等等;由于户型图当中的设计不同,每个房间的大小和形状也会存在着差异,如图5所示,有一些房间是长方形或正方形,而有一些房间(例如包含过道的客厅)的周边墙体较为复杂,也进而导致了其内部的空间存在着弯曲和形状上的差异,使得对这些不规则形状的房间上设置采集点存在着较大的困难,较难通过计算机自动识别的方法确定较好的图像采集点。

2.生成室内每一区域的采集点,计算方法如下:

2.1将每一区域的边界点进行收集以及记录对应空间名称,空间用途信息;本发明当中所说的每一个区域,是知户型图当中每一个能够实现特定功能的区域,这些区域是由墙体间隔而成,例如有墙体间隔而成的卧室、卫生间、厨房;

2.2对上述步骤中的每一区域进行点集个数判定,

2.2.1如果该区域边界点的个数等于3,则取该区域的重心;在一些情况下,某一个特定的功能区域是有两条端点相连的墙体所形成的,那么这个功能区域的边界点的个数为三个,对于这种情况,确定图像采集点直接采用这三个边界点构成的三角形的重心,以这个为采集点可以较好的反映这个功能区域的整体设计效果。

2.2.2如果该区域边界点的个数等于4,则先计算这些点集a(x1,y1),b(x2,y2),c(x3,y3),d(x4,y4)的均值点,即center(1/4*(x1+x2+x3+x4),1/4*(y1+y2+y3+y4));接着判定center是否在abcd构成的区域内部,如果在区域内部,则取该点作为该区域的中心;本步骤当中采集点的确定方法适用于大多数的长方形或者正方形的房间,也适合于其他的一些四边形的区域,由于四边形的四个顶点的均值点位于这个区域内部,以这个为采集点可以较好的反映这个功能区域的整体设计效果。如果不在区域内部,则继续对该四边形进行拆分,拆成两个三角形,拆分的方法是连接四边形的对角线,选择三角形面积较大的那一个三角形,取其重心作为该区域中心,如图8所示,四边形的四个顶点是由abcd所组成的,如果直接计算它们的算术平均值,导致平均点是位于这个四边形区域以外,因此需要作ac的连接线,将这个四边形分为两个三角形,其中acd三角形的面积较大,再取acd三角形的重心作为这个四边形的图像采集点,由于acd三角形的面积较大,所以将其重心作为图像采集点时,可以较好的反映出这个四边形的区域的整体设计效果。

2.2.3对于一些更加复杂的情况,如果该区域的边界点的个数等于5或者5以上,则需要对该区域每一点以及相邻的三个点(前方第一个点,前方第二个点,以及后面一个点)判定这些点构成区域的有效性,为方便描述,记为该点的有效性。如图3所示,这是一个由六个顶点作构成的不规则区域,这些不规则的区域内部是可以进一步被细分为多个位置和大小都不相同的四边形,因此本发明当中需要找到一个既在这个不规则的多边形内部又能够反映出在这个多边形内部最具有主要特征的位置采集点,因此需要设计出一种能够快速找到这个采集点的计算方法。

具体计算某一点对应区域有效性的流程如下:

(1)以图3为例,该区域的边界点集是以逆时针方向排序。本发明的构思是通过找到以其中某一个点为顶点的面积最大的四边形,并且这个四边形是要包括在整体的复杂多边形的内部,本发明通过依次遍历各个多边形的顶点,找到符合上述条件的四边形;以a点为例,a点下一点是b,再下一点是c,a点前一点是f。

(2)用选定的点与它的上一点之间、选定的点与它的下一点之间、选定的点的下一点与选定的点的再下一点之间分别做连接线,可以得到三条带有方向的线段线段,以a点为例,用上述点分别构成向量,向量,向量;本发明当中,“上一点”中的“上”是指沿着顶点依次排序的相反方向,“下一点”中的“下”是指沿着顶点依次排序的相同方向,“再下一点”是指“下一点的下一点”;

(3)计算向量外积:==(s1.x,s1.y.s1.z),==(s2.x,s2.y,s2.z);

(4)判定上述步骤中向量的z轴分量与向量的z轴分量的符号是否相同;执行本判定步骤的目的,是为了确保这三条线段相互之间能够围成一个处于这个复杂多边形内部的区域,由于这三条线段两两之间的外积计算得到的向量方向相同,因此可以保证这三条线段朝着复杂多变型的内部围成一个四边形。如图3所示的e点,它的后一点是d,前面一点和前面两点分别是f和a点,这三条线段之间两两之间计算外积所得到的方向是不同的,这就证明了e点不可能出现为某一个潜在的面积最大的内接四边形的顶点,因此将类似于e点这样的外积方向不同的点不再纳入集合中进行考虑。

(5)如图4所示,由于在房屋户型当中,墙体线段之间基本都是相互呈90度垂直,因此,如果上述步骤中符号相同,将选定点前面一点和前面两点之间的线段计算长度,并且将选定点与其后面一点之间的线段也计算长度,正如上面所计算的,这两条线段是向内围成一个四边形,并且又由于墙体线段之间基本都是为90度互相垂直,那么上面这两条线段则必定为相互平行关系,则计算长度af,长度bc,比较两长度大小,得到长度较小的那一个线段,图4中对应的是af,然后计算点f关于ab中垂线的对称点f’;如果这两条线段的长度相同,就可以直接将上一点和再下一点直接连线,将这四个点构成一个长方形或者正方形。

(6)如图3所示四边形fabf’为点a对应的有效区域(见图4),将f,a,b,f’坐标求和取均值点,该均值点作为点a对应的有效区域的中心点;

2.2.4.按照2.2.3中的步骤依次计算a后面的点集有效性区域的中心点,并将这些有效性区域中面积最大的值计算出来,用该最大面积有效区域对应的中心点作为该区域的采集点。

在以上的计算过程中,计算得到出了一个被这个复杂多变型包围在内部空间、并且也占据最大面积的四边形,因此这个找到的四边形最能够定位到360度视野范围最大的区域,正是由于该区域面积最大,其所所对应的周边的区域视野也能达到最大,最能够反映这个复杂多变型的整体形貌,将这个四边形的中心点作为图像采集点。

ii.自动化计算室内全景图采集点(单个区域有多个采集点)的方法:

1.加载软件户型数据模块:

本步骤的具体方法与上面的流程完全相同。

2.生成室内每一区域的采集点,计算方法如下:

本步骤的具体方法与上面的区别点在于,对于边界顶点大于等于5的复杂多边形,对每个景点进行遍历得到的各个四边形,并不相互之间比较大小,而是将这多个四边形都分别求出其中心点,每个中心点都设置为这个复杂多边形区域的图像采集点。采用这样的设计可以保证复杂房间内各个死角都能够得到有效的显示和照明。例如在图4当中,通过c点可以遍历出f’cde四边形,这个四边形对于整个房间来说相对处于角落的位置,并且这个四边形面积较小,将其中也设置为一个图像采集或者照明点之后,能够更有效的是这个角落的位置也能够得到显示。

如图5所示,是一个户型图当中各个房间的布局示意图,从图中可以看出,存在一个面积较为复杂的有11个顶点组成的复杂房间,既可以通过以上第一步的方法寻找到这个房间当中最大的一块内接面积,设置一个图像采集点,如图6所示,通过这个点可以较好的反映出这个复杂房间的内部。也可以通过上面的第二种方法,如图7所示,在这个房间的另外两块,内接四边形上设置图像采集点,每个图像采集点分别是一个相互并不交叉在四边形的中心点,就可以将另外两小块面积也反映出来,每个采集点分别负责一块区域,并且区域之间并没有交叉,最大限度的提高了采集点图像显示效率,如果将这个采集点作为照明点时也能够使得灯光的效率达到最大化。

iii.室内屋顶灯具布局的方法:

1.加载软件户型数据模块:

1.1获取每一户型数据包括室内屋顶每一区域的边界有序点集(全部以逆时针或者顺时针排序),方便起见,假定屋顶点坐标数据z轴坐标之间误差极小,均视为墙高;

1.2将屋顶点坐标的对应的投影点存到一个区域二维点集中;

1.3获取与每一屋顶对应区域或者屋顶匹配的地面区域的空间名称以及用途;

2.按照i中自动化计算室内全景图采集点(单个区域有单个采集点)的方法,计算屋顶对应二维区域的中心点,最后加上墙高作为z轴坐标值,生成三维空间中该区域中灯具布局中心位置。也可以采用单个区域有多个采集点计算方法,就可以实现在复杂区域内设置多个照明点。

基于以上的技术构思,本发明还提供了:

一种自动化计算室内全景图采集点的系统,包括:

房间平面数据获取模块,用于获取户型图中的房间平面数据;

平面坐标数据获取模块,用于根据墙体确定出各个房间的边界点的平面坐标数据;

顶点个数判定模块,用于将房间的顶点根据个数分类为3个、4个、大于等于5个三种情况;

第一采集点确定模块,用于对顶点个数判定模块确定为顶点个数为3个的房间确定全景图采集点,所述的第一采集点确定模块把顶点所构成的三角形的重心作为全景图采集点;

第二采集点确定模块,用于对顶点个数判定模块确定为顶点个数为4个的房间确定全景图采集点,所述的第二采集点确定模块判定:如果四个顶点的算术均值位于这个四边形内部,则将算术均值的坐标点作为全景图采集点;如果四个顶点的算术均值位于这个四边形外部,则连接四边形的对角线,将得到的两个三角形当中面积较大的一个三角形的重心作为四边形的全景图采集点;

第三采集点确定模块,用于对顶点个数判定模块确定为顶点个数为大于等于5个的房间确定全景图采集点,所述的第三采集点确定模块用于将各个顶点按照围绕房间的方向依次排序标记;选取其中一个顶点,将所述的顶点与它的上一点之间、所述的顶点与它的下一点之间、所述的顶点的下一个点与再下一个点之间构建三条向量,分别作为第一向量、第二向量和第三向量,向量的方向朝着顶点依次围绕房间的方向;对第一向量和第二向量、第二向量和第三向量之间分别求取向量外积,当两个向量外积方向相同时,判断出第一向量和第三向量之间长度较短的一条向量,然后将长度较短的一条向量和第二向量分别作为一个矩形的相邻的边,构建成一个矩形,将这个矩形定义为所述的顶点的有效性区域;对房间的每个顶点进行遍历,找到每个顶点的有效性区域,并判定出各个有效性区域中最大的一个,取中心点为全景图采集点。

在一个实施方式中,所述的第三采集点确定模块将所有的有效性区域的中心点都作为采集点。

在一个实施方式中,第三采集点确定模块当中,相邻的顶点之间构成的相邻线段之间的夹角为90°。

一种室内屋顶灯布局系统,包括:

墙体高度获取模块,用于获取户型图中墙体高度;

上述的自动化计算室内全景图采集点的系统,用于获取每个房间的全景图采集点;

灯的空间坐标位置确定模块,用于将全景图采集点和平面坐标和墙体高度构建出房间中灯的空间坐标位置。

一种记载有可以运行上述的自动化计算室内全景图采集点的方法的程序的计算机可读介质。

此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。

计算机可读信号介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等等、或合适的组合形式。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读信号介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、射频信号、或类似介质、或任何上述介质的组合。

本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb.net、python等,常规程序化编程语言如c语言、visualbasic、fortran2003、perl、cobol2002、php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。

此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1