用于户型图的处理方法、处理装置及电子设备与流程

文档序号:26142745发布日期:2021-08-03 14:27阅读:97来源:国知局
用于户型图的处理方法、处理装置及电子设备与流程

本公开的实施例涉及一种用于户型图的处理方法、处理装置及电子设备。



背景技术:

房屋(例如,住宅)的户型图(例如,二维户型图或三维户型图)能够呈现房屋的基本户型信息。例如,二维户型图可以是住宅的平面户型图,三维户型图可以是住宅的三维立体模型图。二维户型图或三维户型图可以表征住宅的各个子空间(例如,客厅子空间、主卧子空间、次卧子空间、阳台子空间、厕所子空间、厨房子空间等)和各个子空间的位置排布等。



技术实现要素:

根据本公开的至少一实施例,提供了一种用于户型图的处理方法。该处理方法包括:在户型图的形状轮廓的有序点集中选择一个点作为起始点;基于预定查找方向,在有序点集中查找以确定起始点的第一后续点,并且基于预定查找方向,在有序点集中查找以确定第一后续点的第二后续点;以及基于起始点、第一后续点、以及第二后续点之间的位置关系来识别第一后续点的点类型,其中点类型为凸点类型或凹点类型之一。

例如,在一些实施方式中,该方法还包括:将该第一后续点作为更新起始点,将该第二后续点作为更新第一后续点,以及重复以下操作直至满足停止条件:基于该预定查找方向,在该有序点集中查找以确定该更新第一后续点的更新第二后续点;基于该更新起始点、该更新第一后续点、以及该更新第二后续点之间的位置关系来识别该更新第一后续点的点类型;以及将该更新第一后续点作为更新起始点并且将该更新第二后续点作为更新第一后续点。

例如,在一些实施方式中,该停止条件包括以下中的至少一个:在该查找方向上在该有序点集中未查找到点、更新起始点与起始点相同、或该有序点集中的所有点的点类型都被识别。

例如,在一些实施方式中,基于该起始点、该第一后续点、该第二后续点之间的位置关系来识别该第一后续点的点类型包括:基于该起始点和该第二后续点形成的向量与该第一后续点的相对位置来识别该第一后续点的点类型。

例如,在一些实施方式中,基于该起始点和该第二后续点形成的向量与该第一后续点的相对位置来识别该第一后续点的点类型包括:当该第一后续点位于该向量与该有序点集中除该第一后续点以外的剩余点形成的封闭轮廓之内时,识别该第一后续点的点类型为凹点类型;和/或当该第一后续点位于该向量与该有序点集中除该第一后续点以外的剩余点形成的封闭轮廓之外时,识别该第一后续点的点类型为凸点类型。

例如,在一些实施方式中,该起始点为该形状轮廓中的一个或多个边角点之一,该一个或多个边角点包括该有序点集的凸点集中的在第一方向或第二方向上处于边缘位置的一个或多个凸点,该第一方向与该第二方向相互垂直。

例如,在一些实施方式中,在该有序点集位于直角坐标系的情况下,该起始点为该一个或多个边角点中的横坐标最小并且纵坐标最小的边角点。

例如,在一些实施方式中,还包括在该户型图中呈现该有序点集中所识别的点类型为凹点类型的点。

例如,在一些实施方式中,该查找方向是顺时针方向或逆时针方向之一。

根据本公开的至少一实施例,提供了一种用于户型图的处理装置。该处理装置包括:。

例如,在一些实施方式中,该点类型识别模块还被配置为:将该第一后续点作为更新起始点,将该第二后续点作为更新第一后续点,以及重复以下操作直至满足停止条件:基于查找方向,在该有序点集中查找以确定该更新第一后续点的更新第二后续点,基于该更新起始点、该更新第一后续点、以及该更新第二后续点之间的位置关系来识别该更新第一后续点的点类型,以及将该更新第一后续点作为更新起始点并且将该更新第二后续点作为更新第一后续点。

例如,在一些实施方式中,该停止条件包括以下中的至少一个:在该查找方向上在该点集中未查找到点、更新起始点与该起始点相同、或该点集中的所有点的点类型都被识别。

例如,在一些实施方式中,该处理装置还包括凹点呈现模块,被配置为:在该户型图中呈现该有序点集中所识别的点类型为凹点类型的点。

例如,在一些实施方式中,该点类型识别模块包括点类型识别子模块,被配置为:基于该起始点和该第二后续点形成的向量与该第一后续点的相对位置来识别该第一后续点的点类型。

例如,在一些实施方式中,该点类型识别子模块被配置为:当该第一后续点位于该向量与该点集中除该第一后续点以外的剩余点形成的封闭轮廓之外时,识别该第一后续点为凸点;和/或当该第一后续点位于该向量与该点集中除该第一后续点以外的剩余点形成的封闭轮廓之内时,识别该第一后续点为凹点。

例如,在一些实施方式中,该起始点为该形状轮廓中的边角点,该边角点为该点集的凸点集中的在第一方向或第二方向上处于边缘位置的凸点,该第一方向与该第二方向相互垂直。

例如,在一些实施方式中,该查找方向是顺时针方向或逆时针方向之一。

根据本公开的至少一实施例,还提供了一种电子设备。该电子设备包括:一个或多个处理器;和存储器,用于存储一个或多个计算机程序,当一个或多个计算机程序被一个或多个处理器执行时,使得一个或多个处理器执行如上描述的处理方法中的一个或多个操作。

例如,在一些实施方式中,该电子设备还包括显示器,被配置为在该户型图中呈现所识别的点类型为凹点类型的点。

根据本公开的至少一实施例,还提供了一种计算机可读存储介质,其上存储有一个或多个计算机程序,当一个或多个计算机程序被处理器执行时执行如上描述的处理方法中的一个或多个操作。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对本公开实施例的附图作简单地介绍。明显地,下面描述的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。

图1示出了根据本公开的一些实施例的户型图(或图形轮廓)以及与该户型图(或图形轮廓)对应的有序点集的示意图;

图2示出了根据本公开的至少一实施例的用于户型图的处理方法的流程图;

图3示出了根据本公开的至少一实施例的用于户型图的处理方法的示意图;

图4示出了根据本公开的至少一实施例的用于户型图的处理装置的结构示意图;以及

图5示出了根据本公开的实施例的电子设备的框图;

图6示出了根据本公开的实施例的电子设备的框图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

这里用于描述本发明的实施例的术语并非旨在限制和/或限定本发明的范围。

例如,除非另外定义,本公开使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。

应该理解的是,本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。除非上下文另外清楚地指出,否则单数形式“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。

将进一步理解的是,术语“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

对于由点集(例如,有序点集)组成的户型图轮廓,确定(例如,识别)户型图轮廓的点集中的每个点的点类型可能是有利的。户型图轮廓的点集中的每个点的点类型可以包括凹点类型或凸点类型,关于点类型的定义可以参考之后的描述。例如,在确定(例如,识别)户型图轮廓的点集中的各个点的点类型后,设计人员能够基于户型图轮廓的点集中的各个点的点类型进行室内设计或进行智能辅助设计,因此能够方便设计人员进行设计,从而减轻设计人员的工作量。例如,通过向用户提供(例如,呈现)户型图中具有特定类型的点(例如,凹点),能够使用户直接、清楚地获知户型图的特征(例如,墙角点)。

例如,可以采用这样的方法确定户型图轮廓的有序点集中的点的类型,该方法通过删除有序点集中的某个点,将剩余点组成的轮廓的面积与删除前有序点集中的点组成的轮廓的面积来判断该点的类型。然而,该方法的计算量大,并且一次只能确定一个点的类型。因此计算效率低。

为了解决至少以上问题,本公开的实施例提出了一种用于户型图的处理方法、处理装置及电子设备。

根据本公开的至少一实施例,一种用于户型图的处理方法包括:在该户型图的形状轮廓的有序点集中选择一个点作为起始点;基于预定查找方向,在该有序点集中查找以确定该起始点的第一后续点,并且基于该预定查找方向,在该有序点集中查找以确定该第一后续点的第二后续点;以及基于该起始点、该第一后续点、以及该第二后续点之间的位置关系来识别该第一后续点的点类型,其中该点类型为凸点类型或凹点类型之一。

根据本公开的实施例的处理方法能够对户型图的形状轮廓的有序点集进行处理以获得(例如,识别)有序点集中的各个点的点类型。例如,在一些实施方式中,可以呈现户型图的有序点集中具有特定类型(例如,凹点类型)的点,以便于设计人员基于确定的点类型进行室内设计或进行智能辅助设计,这能够方便设计人员进行设计,从而减轻设计人员的工作量。例如,通过向用户提供(例如,呈现)户型图中具有特定类型的点(例如,凹点),能够使用户直接、清楚地获知户型图的特征(例如,墙角点)。

下面,将参考附图详细地说明本公开的实施例。应当注意的是,不同的附图中相同的附图标记将用于指代已描述的相同的元件。

在本公开的实施例中,有序点集可以指由多个有序点构成的集合。例如,有序点集可以对应于户型图的轮廓。户型图可以包括二维户型图或三维户型图。例如,户型图的轮廓可以是诸如直角多边形的二维图形。例如,对于三维户型图,可以将其转换为二维户型图(即,平面户型图),然后使用根据本公开的各种实施例提供的方法来进行处理。例如,可以采用已知的各种方法来将三维户型图转换为二维户型图,本公开的实施例对此不做限制。

户型图的轮廓的点集(例如,有序点集)中的点的类型可以包括凹点(也称为凹顶点)和凸点(也称为凸顶点)。因此,有序点集可以包括凹点集和凸点集,其中凹点集中包括至少一个凹点,凸点集包括至少一个凸点。例如,有序点集中的点的类型仅包括凹点类型和凸点类型。在本公开的实施例中,在与有序点集对应的图形中,当以某个点为交点的、图形的两个直角边形成的内角小于外角时,则该点的类型为凸点。相反,当以某个点为交点的、图形的两个直角边形成的内角大于外角时,则该点的类型为凹点。另外,在本公开的实施例中,在凸点集中,在第一方向或第二方向上处于边缘位置的凸点可以被称为边角点。例如,在二维直角坐标系中,边角点可以包括:横坐标最小的凸点集中,纵坐标最大或最小的凸点;横坐标最大的凸点集中,纵坐标最大或最小的凸点;纵坐标最小的凸点集中,横坐标最大或最小的凸点;纵坐标最大的凸点集中,横坐标最大或最小的凸点。

图1示出了根据本公开的一些实施例的户型图(或图形轮廓)以及与该户型图(或图形轮廓)对应的有序点集的示意图。参考图1,对于确定的有序点集{a,b,c,d,e,f,g,h,i,j},凸点包括a、b、d、e、g、h、i,凹点包括c、f、j。因此,凸点集为{a,b,d,e,g,h,i},凹点集为{c,f,j}。与有序点集相对应的图形为将点集中的各个点按照一定的顺序连接形成的直角多边形,例如,如图1中的虚线所示。进一步参考图1,对于凸点集{a,b,d,e,g,h,i},边角点包括a、b、d、e、g、h、i。例如,有序点集可以包括顺序点集和逆序点集。继续参考图1,顺序点集可以指在顺时针方向形成的点集{j,i,h,g,f,e,d,c,b,a},并且逆序点集可以是在逆时针方向形成的点集{a,b,c,d,e,f,g,h,i,j}。在本公开的实施例中,为了便于描述,对于有序点集中的某个点(例如点a),该点(例如,点a)的后续点可以为在预定方向上(例如,逆时针方向)紧接着该点(例如,点a)的点(例如,点b)。

以上结合图1描述的仅是与户型图轮廓(或图形轮廓)有序点集的示例,然而本公开的实施例不限于此。

图2示出了根据本公开的至少一实施例的用于户型图的处理方法200的流程图。

参考图2,在步骤s210,在户型图的形状轮廓的有序点集中选择一个点作为起始点。

在一些实施方式中,步骤s210还可以包括确定(例如,获取或接收)户型图的形状轮廓的有序点集。

在一些实施方式中,该有序点集可以表征户型图的轮廓。特别地,该轮廓为直角多边形。例如,户型图可以包括2维(2d)户型图或3维(3d)户型图(或者,称为立体户型图)。例如,二维户型图可以是住宅的二维户型图,三维户型图可以是住宅的三维立体模型图。二维户型图或三维户型图可以表征住宅的各个子空间(例如,客厅子空间、主卧子空间、次卧子空间、阳台子空间、厕所子空间、厨房子空间等)和各个子空间的位置排布等。特别地,二维户型图或三维户型图可以为(或者,被转换或近似为)一个或多个直角多边形。例如,对于三维户型图,可以将其转换为二维户型图(即,平面户型图),然后使用根据本公开的各种实施例提供的方法来进行处理。例如,可以采用已知的各种方法来将三维户型图转换为二维户型图,本公开的实施例对此不做限制。

在一些实施方式中,步骤s210还可以包括确定有序点集中的点的数量是否是大于预定阈值(例如,4)的偶数。如果确定有序点集中的点的数量是大于预定阈值(例如,4)的偶数,则可以确定户型图的轮廓是直角多边形,则继续进行后续的操作,否则结束操作。通过对户型图的形状轮廓的有序点集中的点的数量进行判断后,再执行后续的点类型的识别操作,能够避免对非户型图的图形进行无效处理,节约了计算资源。

在一些实施方式中,有序点集可以对应于户型图的形状轮廓。例如,形状轮廓可以是户型图(诸如,二维户型图或三维户型图)的轮廓。

例如,形状轮廓可以是诸如直角多边形的二维图形。直角多边形可以指所有的角均为直角的多边形。

例如,该起始点可以从该形状轮廓中的一个或多个边角点中选择,该一个或多个边角点包括该有序点集的凸点集中的在第一方向或第二方向上处于边缘位置的一个或多个凸点,该第一方向与该第二方向相互垂直。例如,在将点集映射到二维平面直角坐标系(x-y直角坐标系)的情况下,第一方向可以为x轴方向,第二方向可以为y轴方向。

在一些实施方式中,在该有序点集位于直角坐标系的情况下,该起始点为该一个或多个边角点中的横坐标最小并且纵坐标最小的边角点。

在一些实施方式中,可以采用以下方法中的至少一个来确定有序点集的凹点集和凸点集:凸壳法、角度法、左右点法、向量面积法、向量积法、射线法、斜率法以及极点顺序法。需要说明,本公开的实施例不限制确定凹点集和凸点集的方法,可以采用已知的各种方法来确定凹点集和凸点集。

继续参考图2,在步骤s220,基于预定查找方向,在该有序点集中查找以确定该起始点的第一后续点,并且基于该预定查找方向,在该有序点集中查找以确定该第一后续点的第二后续点。

在一些实施方式中,预定查找方向是顺时针方向或逆时针方向之一。

接下来,在步骤s230,基于该起始点、该第一后续点、以及该第二后续点之间的位置关系来识别该第一后续点的点类型,其中该点类型为凸点类型或凹点类型之一。

在一些实施方式中,基于该起始点、该第一后续点、该第二后续点之间的位置关系来识别该第一后续点的点类型包括:基于该起始点和该第二后续点形成的向量与该第一后续点的相对位置来识别该第一后续点的点类型。

在一些实施方式中,当该第一后续点位于该向量与该有序点集中除该第一后续点以外的剩余点形成的封闭轮廓之内时,识别该第一后续点的点类型为凹点类型。相反,当该第一后续点位于该向量与该有序点集中除该第一后续点以外的剩余点形成的封闭轮廓之外时,识别该第一后续点的点类型为凸点类型。

在本公开的实施例中,考虑户型图的直角多边形的特性,通过该起始点和该第二后续点形成的向量与该第一后续点的相对位置能够简单快速地识别该第一后续点的点类型,降低了对与户型图轮廓对应的有序点集中的点的类型识别的复杂度,节约了计算资源。

在一些实施方式中,方法200还包括:将该第一后续点作为更新起始点,将该第二后续点作为更新第一后续点,以及重复以下操作直至满足停止条件:基于该预定查找方向,在该有序点集中查找以确定该更新第一后续点的更新第二后续点;基于该更新起始点、该更新第一后续点、以及该更新第二后续点之间的位置关系来识别该更新第一后续点的点类型;以及将该更新第一后续点作为更新起始点并且将该更新第二后续点作为更新第一后续点。通过循环执行上述操作,可以确定(例如,识别)有序点集中的各个点的点类型。

在一些示例中,停止条件可以包括以下中的至少一个:在该查找方向上在该有序点集中未查找到点、更新起始点与起始点相同、或该有序点集中的所有点的点类型都被识别。例如,如果在该查找方向上在该有序点集中未查找到点,则表示查找失败,可以认为该识别方法的执行失败。如果更新起始点与起始点相同、或该有序点集中的所有点的点类型都被识别,则表示该方法完成,并且可以执行后续步骤,例如,存储或呈现特定类型的点。通过这种循环的方式,能够快速地识别与户型图轮廓对应的有序点集中的多个点(例如,所有点)的类型,因此降低了处理的复杂度,节约了计算资源。

在一些实施方式中,方法200还包括存储该有序点集中所识别的点类型为特定类型(例如,凹点类型)的点。

在一些实施方式中,方法200还包括输出该有序点集中所识别的点类型为特定类型(例如,凹点类型)的点。

在一些实施方式中,方法200还包括(例如,通过显示器)在该户型图中呈现该有序点集中所识别的点类型为特定类型(例如,凹点类型)的点。例如,呈现该有序点集中所识别的点类型为凹点类型的点可以包括突出显示点类型为凹点类型的点。又例如,呈现该有序点集中所识别的点类型为凹点类型的点可以包括在点类型为凹点类型的点附件显示特定指示符(例如,具有特定形状的图形)来指示该点的类型为凹点类型。又例如,呈现该有序点集中所识别的点类型为凹点类型的点可以包括在该点上或附近显示指示某个点的点类型为凹点类型的指示信息。然而,本公开的实施例不限于此,可以采用任何方式来呈现该有序点集中所识别的点类型为特定类型(例如,凹点类型)的点。通过呈现有序点集中具有特定类型(例如,凹点类型)的点,可以使得设计人员能够基于识别的点类型进行室内设计或进行智能辅助设计,这能够方便设计人员进行设计,从而减轻设计人员的工作量。此外,通过向用户提供(例如,呈现)户型图中具有特定类型的点(例如,凹点),能够使用户直接、清楚地获知户型图的特征(例如,墙角点)。

以上描述了根据本公开的一些实施例的用于户型图的处理方法。在该方法中,通过删除有序点集中的某个点,将剩余点组成一个轮廓,然后判断该点与轮廓的相对位置关系来判断该点的类型。以这种方式,能够快速识别有序点集中的点的类型,减小了运算的时间复杂度。

图3示出了根据本公开的至少一实施例的用于户型图的处理方法300的流程图。例如,处理方法300可以基于处理方法200。因此,参考图2的描述也可以应用于结合图3描述的处理方法300的各种实施例。

参考图3,在步骤s310,确定户型图的形状轮廓的有序点集中的点的数量是否为大于预定阈值(例如,4)的偶数。如果确定有序点集中的点的数量大于预定阈值并且为偶数(例如,4),则可以确定户型图的轮廓是直角多边形,则继续执行操作s320,否则结束操作。通过对户型图的形状轮廓的有序点集中的点的数量进行判断后,再执行后续的点类型的识别操作,能够避免对非户型图的图形进行无效处理,节约了计算资源。

在一些实施方式中,有序点集可以对应于户型图的形状轮廓。例如,形状轮廓可以是户型图(诸如,二维户型图或三维户型图)的轮廓。在一些实施方式中,该有序点集可以表征户型图的轮廓。特别地,该轮廓为直角多边形。例如,户型图可以包括2维(2d)户型图或3维(3d)户型图(或者,称为立体户型图)。例如,二维户型图可以是住宅的平面户型图,三维户型图可以是住宅的三维立体模型图。二维户型图或三维户型图可以表征住宅的各个子空间(例如,客厅子空间、主卧子空间、次卧子空间、阳台子空间、厕所子空间、厨房子空间等)和各个子空间的位置排布等。特别地,二维户型图或三维户型图可以为(或者,被转换或近似为)一个或多个直角多边形。例如,对于三维户型图,可以将其转换为二维户型图(即,平面户型图),然后使用根据本公开的各种实施例提供的方法来进行处理。例如,可以采用已知的各种方法来将三维户型图转换为二维户型图,本公开的实施例对此不做限制。

例如,形状轮廓可以是诸如直角多边形的二维图形。直角多边形可以指所有的角均为直角的多边形。

在一些实施方式中,可以采用以下方法中的至少一个来确定有序点集的凹点集和凸点集:凸壳法、角度法、左右点法、向量面积法、向量积法、射线法、斜率法以及极点顺序法。需要说明,本公开的实施例不限制确定凹点集和凸点集的方法,可以采用已知的各种方法来确定凹点集和凸点集。

继续参考图2,在步骤s320,在户型图的形状轮廓的有序点集中选择一个点作为起始点。

例如,该起始点可以从该形状轮廓中的一个或多个边角点中选择,该一个或多个边角点包括该有序点集的凸点集中的在第一方向或第二方向上处于边缘位置的一个或多个凸点,该第一方向与该第二方向相互垂直。例如,在将点集映射到二维平面直角坐标系(x-y直角坐标系)的情况下,第一方向可以为x轴方向,第二方向可以为y轴方向。

在一些实施方式中,在该有序点集位于直角坐标系的情况下,该起始点为该一个或多个边角点中的横坐标最小并且纵坐标最小的边角点。

接下来,在步骤s330,基于预定查找方向,在该有序点集中查找以确定该起始点的第一后续点,并且基于该预定查找方向,在该有序点集中查找以确定该第一后续点的第二后续点。

在一些实施方式中,预定查找方向顺时针方向或逆时针方向之一。

接下来,在步骤s340,基于该起始点、该第一后续点、以及该第二后续点之间的位置关系来识别该第一后续点的点类型,其中该点类型为凸点类型或凹点类型之一。

在一些实施方式中,基于该起始点、该第一后续点、该第二后续点之间的位置关系来识别该第一后续点的点类型包括:基于该起始点和该第二后续点形成的向量与该第一后续点的相对位置来识别该第一后续点的点类型。

在一些实施方式中,当该第一后续点位于该向量与该有序点集中除该第一后续点以外的剩余点形成的封闭轮廓之内时,识别该第一后续点的点类型为凹点类型。相反,当该第一后续点位于该向量与该有序点集中除该第一后续点以外的剩余点形成的封闭轮廓之外时,识别该第一后续点的点类型为凸点类型。

在本公开的实施例中,考虑户型图的直角多边形的特性,通过该起始点和该第二后续点形成的向量与该第一后续点的相对位置能够简单快速地识别该第一后续点的点类型,降低了对户型图的边角点的类型识别的复杂度,节约了计算资源。

然后,在步骤s350,将该第一后续点作为更新起始点,将该第二后续点作为更新第一后续点。

接下来,在步骤s360,基于该预定查找方向,在该有序点集中查找以确定该更新第一后续点的更新第二后续点。

然后,在步骤s370,基于该更新起始点、该更新第一后续点、以及该更新第二后续点之间的位置关系来识别该更新第一后续点的点类型。

在一些实施方式中,基于该更新起始点、该更新第一后续点、以及该更新第二后续点之间的位置关系来识别该更新第一后续点的点类型包括:基于该更新起始点和该更新第二后续点形成的向量与该更新第一后续点的相对位置来识别该第一后续点的点类型。

在一些实施方式中,当该更新第一后续点位于该向量与该有序点集中除该更新第一后续点以外的剩余点形成的封闭轮廓之内时,识别该第一后续点的点类型为凹点类型。相反,当该更新第一后续点位于该向量与该有序点集中除该第一后续点以外的剩余点形成的封闭轮廓之外时,识别该更新第一后续点的点类型为凸点类型。

接下来,在步骤s380,判断是否满足停止条件。如果满足停止条件,则结束方法300,否则执行步骤s390。

在一些示例中,停止条件可以包括以下中的至少一个:在该查找方向上在该有序点集中未查找到点、更新起始点与起始点相同、或该有序点集中的所有点的点类型都被识别。

在步骤s390,将该更新第一后续点作为更新起始点并且将该更新第二后续点作为更新第一后续点,返回步骤s360。

通过循环执行上述步骤s360至步骤s390,可以识别有序点集中的各个点的点类型。通过这种循环的方式,能够快速地识别与户型图轮廓对应的有序点集中的多个点(例如,所有点)的类型,因此降低了处理的复杂度,节约了计算资源。

在一些实施方式中,方法300还包括(例如,在满足停止条件时)存储或输出该有序点集中所识别的点类型为特定类型(例如,凹点类型)的点。

在一些实施方式中,方法300还包括(例如,在满足停止条件时)通过显示器在该户型图中呈现该有序点集中所识别的点类型为特定类型(例如,凹点类型)的点。例如,呈现该有序点集中所识别的点类型为凹点类型的点可以包括突出显示点类型为凹点类型的点。又例如,呈现该有序点集中所识别的点类型为凹点类型的点可以包括在点类型为凹点类型的点附件显示特定指示符(例如,特定形状的图形,诸如圆)来指示该点的类型为凹点类型。又例如,呈现该有序点集中所识别的点类型为凹点类型的点可以包括在该点上或附近显示指示某个点的点类型为凹点类型的指示信息。然而,本公开的实施例不限于此,可以采用任何方式来呈现该有序点集中所识别的点类型为特定类型(例如,凹点类型)的点。通过呈现有序点集中具有特定类型(例如,凹点类型)的点,可以使得设计人员能够基于识别的点类型进行室内设计或进行智能辅助设计,这能够方便设计人员进行设计,从而减轻设计人员的工作量。

以上描述了根据本公开的一些实施例的用于户型图的处理方法。在该方法中,通过删除于户型图的有序点集中的某个点,将剩余点组成一个轮廓,然后判断该点与轮廓的相对位置关系来判断该点的类型。以这种方式,能够快速确定(例如,识别)户型图有序点集中的点的类型,减小了运算的时间复杂度。

以上结合图2和图3描述了根据本公开的至少一实施例的用于户型图的处理方法。下面将结合图4,使用以上结合图2或图3描述的处理方法识别图1中的户型图的特定的点集中的各个点的类型。在这种情况下,确定的有序点集为{a,b,c,d,e,f,g,h,i,j},凸点集为{a,b,d,e,g,h,i},凹点集为{c,f,j},点集{a,b,c,d,e,f,g,h,i,j}对应的图形轮廓为直角多边形。为了便于描述,建立如图4中所示的x-y直角坐标系,并将户型图的点集映射到该x-y直角坐标系。需要说明的是,本公开的实施例不限于图4示出的户型图(或图形轮廓),并且可以应用于其轮廓为任何形状的户型图(或图形轮廓)。

首先,确定户型图的形状轮廓的有序点集{a,b,c,d,e,f,g,h,i,j}中的点的数量是否为大于预定阈值(例如,4)的偶数。该实施例中,因为有序点集中的点的数量大于预定阈值(例如,4),所以可以确定户型图的轮廓是直角多边形,则继续执行下述步骤。

然后,在户型图的形状轮廓的有序点集{a,b,c,d,e,f,g,h,i,j}中选择一个点作为起始点。例如,可以选择边角点a作为起始点。

接下来,基于预定查找方向(例如,逆时针方向),在该有序点集中查找以确定该起始点的第一后续点(点b),并且基于该预定查找方向,在该有序点集中查找以确定该第一后续点(点b)的第二后续点(点c)。预定查找方向顺时针方向或逆时针方向之一。以下的描述中,将以逆时针方向作为查找方向来描述各个实施例。当以顺时针方向作为查找方向时,可以采用与描述的实施例类似的处理方法。

接下来,基于该起始点(点a)、该第一后续点(点b)、以及该第二后续点(点c)之间的位置关系来识别该第一后续点(点b)的点类型,其中该点类型为凸点类型或凹点类型之一。具体地,由于该第一后续点(点b)位于该起始点(点a)和该第二后续点(点c)形成的向量(即,点a和点c形成的向量ac)与该有序点集中除该更新第一后续点以外的剩余点形成的封闭轮廓(即,顺序连接向量ac、点d、e、f、g、h、i、j形成的封闭轮廓)之外,可以识别该第一后续点(点b)的点类型为凸点类型。

接下来,判断是否满足停止条件。停止条件可以包括以下中的至少一个:在该查找方向上在该有序点集中未查找到点、更新起始点与起始点相同、或该有序点集中的所有点的点类型都被识别。由于不满足停止条件,则继续进行以下步骤。

然后,将该第一后续点(点b)作为更新起始点,将该第二后续点(点c)作为更新第一后续点。

接下来,基于该预定查找方向(例如,逆时针方向),在该有序点集中查找以确定该更新第一后续点(点c)的更新第二后续点(点d)。

然后,基于该更新起始点(点b)、该更新第一后续点(点c)、以及该更新第二后续点(点d)之间的位置关系来识别该更新第一后续点的点类型。具体地,由于该更新第一后续点(点c)位于该更新起始点(点b)和该更新第二后续点(点d)形成的向量(即,点b和点d形成的向量bd)与该有序点集中除该更新第一后续点(点c)以外的剩余点形成的封闭轮廓(即,顺序连接向量bd、点e、f、g、h、i、j、a形成的封闭轮廓)之内,可以识别该更新第一后续点(点c)的点类型为凹点类型。

接下来,判断是否满足停止条件。停止条件可以包括以下中的至少一个:在该查找方向上在该有序点集中未查找到点、更新起始点与起始点相同、或该有序点集中的所有点的点类型都被识别。由于不满足停止条件,则继续进行以下步骤。

然后,将该更新第一后续点(点c)作为更新起始点,将该更新第二后续点(点d)作为更新第一后续点。

接下来,基于该预定查找方向(例如,逆时针方向),在该有序点集中查找以确定该更新第一后续点(点d)的更新第二后续点(点e)。

然后,基于该更新起始点(点c)、该更新第一后续点(点d)、以及该更新第二后续点(点e)之间的位置关系来识别该更新第一后续点(点d)的点类型。具体地,由于该更新第一后续点(点d)位于该更新起始点(点c)和该更新第二后续点(点e)形成的向量(即,点c和点e形成的向量ce)与该有序点集中除该更新第一后续点(点d)以外的剩余点形成的封闭轮廓(即,顺序连接向量ce、点f、g、h、i、j、a、b形成的封闭轮廓)之外,可以识别该更新第一后续点(点d)的点类型为凸点类型。

采用类似的方法,可以识别点e为凸点,点f为凹点,点g为凸点,点h为凸点,点i为凸点,点j为凹点。

在识别了点j的点类型后,判断是否满足停止条件。停止条件可以包括以下中的至少一个:在该查找方向上在该有序点集中未查找到点、更新起始点与起始点相同、或该有序点集中的所有点的点类型都被识别。由于不满足停止条件,则继续进行以下步骤。此时,点j为更新起始点,点a为更新第一后续点,并且点b为更新第二后续点。

然后,基于该更新起始点(点j)、该更新第一后续点(点a)、以及该更新第二后续点(点b)之间的位置关系来识别该更新第一后续点(点a)的点类型。具体地,由于该更新第一后续点(点a)位于该更新起始点(点j)和该更新第二后续点(点b)形成的向量(即,点j和点b形成的向量jb)与该有序点集中除该更新第一后续点(点a)以外的剩余点形成的封闭轮廓(即,顺序连接向量jb、c、d、e、f、g、h、i形成的封闭轮廓)之外,可以识别该更新第一后续点(点a)的点类型为凸点类型。

接下来,判断是否满足停止条件。由于满足停止条件(例如,有序点集中的所有点的点类型都被识别),则结束该处理方法。

以上描述了一种采用结合图4描述的处理方法识别与特定的户型图相对应的有序点集{a,b,c,d,e,f,g,h,i,j}中的各个点的类型的示例方法。在该方法中,例如,通过删除户型图的有序点集中的某个点,将剩余点组成一个轮廓,然后判断该点与轮廓的相对位置关系来判断该点的类型。以这种方式,能够快速识别户型图的序点集中的各个点的类型,减小了运算的时间复杂度。需要说明,以上描述的示例实施例仅是为了解释本公开,本公开的实施例不限于此,在此基础上,可以进行各种改变。例如,点集中的点的数量和各个点的点类型不限于图4中描述的示例。

以上描述了根据本公开的各种实施例的用于户型图的处理方法。应当理解,附图中的流程图和框图图示了根据本公开的各种实施例的方法、装置、系统和计算机可读存储介质的可能实现的体系架构、功能和操作。例如,流程图或框图中的每个框可以表示包括用于实现指定的逻辑功能的至少一个可执行指令的模块、段或代码部分。还应该注意的是,在一些替代实施方式中,方框中提到的功能可以不按照附图中指出的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者框有时可以以相反的顺序执行。还将注意到,框图和/或流程图的每个框以及框图和/或流程图中的框的组合可以由执行指定功能或动作的基于专用硬件的系统、或专用硬件和计算机指令的组合来实现。

图5示出了根据本公开的至少一实施例的用于户型图的处理装置的结构示意图。

参考图5,该处理装置500可以包括:起始点选择模块510和点类型识别模块520。

起始点选择模块510被配置为在该户型图的形状轮廓的有序点集中选择一个点作为起始点。

在一些实施方式中,该有序点集可以表征户型图的轮廓。特别地,该轮廓为直角多边形。例如,户型图可以包括2维(2d)户型图或3维(3d)户型图(或者,称为立体户型图)。例如,二维户型图可以是住宅的平面户型图,三维户型图可以是住宅的三维立体模型图。二维户型图或三维户型图可以表征住宅的各个子空间(例如,客厅子空间、主卧子空间、次卧子空间、阳台子空间、厕所子空间、厨房子空间等)和各个子空间的位置排布等。特别地,二维户型图或三维户型图可以为(或者,被转换或近似为)一个或多个直角多边形。例如,对于三维户型图,可以将其转换为二维户型图(即,平面户型图),然后使用根据本公开的各种实施例提供的方法来进行处理。例如,可以采用已知的各种方法来将三维户型图转换为二维户型图,本公开的实施例对此不做限制。

点类型识别模块520被配置为:基于预定查找方向,在该有序点集中查找以确定该起始点的第一后续点,并且基于该预定查找方向,在该有序点集中查找以确定该第一后续点的第二后续点,以及基于该起始点、该第一后续点、以及该第二后续点之间的位置关系来识别该第一后续点的点类型,其中该点类型为凸点类型或凹点类型之一。

关于起始点选择模块510和点类型识别模块520的具体配置可以参考以上描述的方法实施例,这里省略对其的详细描述。

图6示出了根据本公开的实施例的电子设备的框图。

参考图6,电子设备600可以包括一个或多个处理器610和存储器620。存储器620可以用于存储一个或多个计算机程序。

处理器610可以包括各种处理电路,诸如但不限于专用处理器、中央处理单元、应用处理器或通信处理器中的一种或更多种。处理器610可以对电子设备600的至少一个其他组件执行控制、和/或执行与通信相关的操作或数据处理。

存储器620可以包括易失性和/或非易失性存储器。

在一些实施方式中,当一个或多个计算机程序被一个或多个处理器610执行时,使得一个或多个处理器610实现如上描述的处理方法。例如,以识别所述户型图的形状轮廓的有序点集中的每个点的点类型,其中所述点类型为凸点类型或凹点类型之一。

在一些实施方式中,该有序点集可以表征户型图的轮廓。特别地,该轮廓为直角多边形。例如,户型图可以包括2维(2d)户型图或3维(3d)户型图(或者,称为立体户型图)。例如,二维户型图可以是住宅的平面户型图,三维户型图可以是住宅的三维立体模型图。二维户型图或三维户型图可以表征住宅的各个子空间(例如,客厅子空间、主卧子空间、次卧子空间、阳台子空间、厕所子空间、厨房子空间等)和各个子空间的位置排布等。特别地,二维户型图或三维户型图可以为(或者,被转换或近似为)一个或多个直角多边形。例如,对于三维户型图,可以将其转换为二维户型图(即,平面户型图),然后使用根据本公开的各种实施例提供的方法来进行处理。例如,可以采用已知的各种方法来将三维户型图转换为二维户型图,本公开的实施例对此不做限制。

在一些实施方式中,一个或多个处理器610可以被配置为执行以下操作:在该户型图的形状轮廓的有序点集中选择一个点作为起始点;基于预定查找方向,在该有序点集中查找以确定该起始点的第一后续点,并且基于该预定查找方向,在该有序点集中查找以确定该第一后续点的第二后续点;以及基于该起始点、该第一后续点、以及该第二后续点之间的位置关系来识别该第一后续点的点类型,其中该点类型为凸点类型或凹点类型之一。由此,电子设备600可以例如,通过删除有序点集中的某个点,将剩余点组成一个轮廓,然后判断该点与轮廓的相对位置关系来判断该点的类型。以这种方式,能够快速识别有序点集中的点的类型,减小了运算的时间复杂度。

在一些实施方式中,该电子设备600还包括显示器,显示器被配置为在该户型图中呈现所识别的点类型为特定类型(例如,凹点类型)的点。例如,呈现该有序点集中所识别的点类型为凹点类型的点可以包括突出显示点类型为凹点类型的点。又例如,呈现该有序点集中所识别的点类型为凹点类型的点可以包括在点类型为凹点类型的点附件显示特定指示符(例如,特定形状的图形,诸如圆)来指示该点的类型为凹点类型。又例如,呈现该有序点集中所识别的点类型为凹点类型的点可以包括在该点上或附近显示指示某个点的点类型为凹点类型的指示信息。然而,本公开的实施例不限于此,可以采用任何方式来呈现该有序点集中所识别的点类型为特定类型(例如,凹点类型)的点。通过呈现有序点集中具有特定类型(例如,凹点类型)的点,可以使得设计人员能够基于识别的点类型进行室内设计或进行智能辅助设计,这能够方便设计人员进行设计,从而减轻设计人员的工作量。

例如,本公开的实施例中的电子设备600可以包括诸如智能电话、平板个人计算机(pc)、服务器、移动电话、视频电话、电子书阅读器、台式pc、膝上型计算机、上网本计算机、个人数字助理(pda)、便携式多媒体播放器(pmp)、mp3播放器、移动医疗设备、照相机或可穿戴设备(例如头戴式设备(hmd)、电子衣服、电子手环、电子项链、电子饰品、电子纹身或智能手表)等。

如本文所使用的,术语“模块”可以包括在硬件、软件或固件和/或其任何组合中配置的单元,并且可以与其他术语(例如逻辑、逻辑块、部件或电路)互换使用。模块可以是单个整体部件或执行一个或更多个功能的最小单元或部件。该模块可以机械地或电子地实现,并且可以包括但不限于已知的或将要被开发的执行某些操作的专用处理器、cpu、专用集成电路(asic)芯片、现场可编程门阵列(fpga)或可编程逻辑器件。

根据本公开的实施例,设备(例如,模块或其功能)或方法(例如,操作或步骤)的至少一部分可以被实现为例如以程序模块的形式存储在计算机可读存储介质(例如,存储器502)中的指令。当由处理器(例如,处理器501)执行该指令时,该指令可以使处理器能够执行相应的功能。计算机可读介质可以包括例如硬盘、软盘、磁介质、光学记录介质、dvd、磁光介质。该指令可以包括由编译器创建的代码或者可由解释器执行的代码。根据本公开的各种实施例的模块或编程模块可以包括上述组件中的至少一个或更多个,可以省略其中的一些,或者还包括其他附加的组件。由根据本公开的各种实施例的模块、编程模块或其他组件执行的操作可以顺序地、并行地、重复地或启发地执行,或者至少一些操作可以以不同的顺序被执行或被省略,或者可以添加其他操作。

以上所述仅是本发明的示范性实施方式,而非用于限制本发明的保护范围,本发明的保护范围由所附的权利要求确定。

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