一种户型编码匹配方法及装置制造方法及图纸

技术编号:31834870 阅读:13 留言:0更新日期:2022-01-12 13:12
本申请实施例提供一种户型编码匹配方法及装置,涉及家装设计技术领域。该方法包括接收用户输入的待处理户型的户型几何数据;对所述户型几何数据进行矩形分解,以将所述户型几何数据对应的多边形分解成多个矩形;以面积最大的主矩形的中心作为原点,获取每个矩形、门和窗的位置信息;根据所述位置信息进行编码,以获得空间编码;利用所述空间编码与数据库中的已有空间编码进行匹配,以获得最相似户型,对户型单空间进行编码和几何匹配,从而能够快速筛选出相似空间,从而解决现有方法匹配效果较差的问题。较差的问题。较差的问题。

【技术实现步骤摘要】
一种户型编码匹配方法及装置


[0001]本申请涉及家装设计
,具体而言,涉及一种户型编码匹配方法及装置。

技术介绍

[0002]家装设计软件,一般都要对不同的户型进行不同的方案设计。当用户有看看相似或相同户型相关设计方案的需求时,设计师也希望能够用数据库中相似户型的优秀方案,快速推送给用户,从而提高沟通效率和促进成单。
[0003]现有技术中,从数据库中查找户型相同和相似空间时,无法直接用传统的关系型数据库检索的方法进行检索,而查找相同、相似的方法,对于户型来说,面积、主空间长宽才是关注的重点,一般的相似度量方法仅在顶点位置上进行考虑,并不直接考虑面积和长宽,整体匹配效果较差。

技术实现思路

[0004]本申请实施例的目的在于提供一种户型编码匹配方法、装置、电子设备及存储介质,对户型进行编码和几何匹配,从而能够快速筛选出相似空间,从而解决现有方法匹配效果较差的问题。
[0005]本申请实施例提供了一种户型编码匹配方法,该方法包括:
[0006]接收用户输入的待处理户型的户型几何数据;
[0007]对所述户型几何数据进行矩形分解,以将所述户型几何数据对应的多边形分解成多个矩形;
[0008]以面积最大的主矩形的中心作为原点,获取每个矩形、门和窗的位置信息;
[0009]根据所述位置信息进行编码,以获得空间编码;
[0010]利用所述空间编码与数据库中的已有空间编码进行匹配,以获得最相似户型。
[0011]在上述实现过程中,通过将单空间拆分成多个矩形,将这些矩形按长宽加上门窗信息,进行编码,存入数据库;再利用数据库检索技术快速筛选相同编码的户型;对筛选出的户型再进行几何匹配,从而能够对千万以上级别的数据库进行户型单空间的快速、准确检索,从而解决现有方法匹配效果较差的问题。
[0012]进一步地,所述对所述户型几何数据进行矩形分解,以将所述户型几何数据对应的多边形分解成多个矩形,包括:
[0013]判断所述多边形的顶点数是否小于等于4;
[0014]若否,则计算每个顶点的损失权重,以获得损失权重最小的目标顶点;
[0015]在所述目标顶点处进行矩形剪裁,以得到子矩形;
[0016]存储所述子矩形,并对所述多边形进行更新,以重新判断所述顶点数。
[0017]在上述实现过程中,通过循环计算损失权重的方式,将单空间的多边形拆分成主矩形和多个子矩形。
[0018]进一步地,所述计算每个顶点的损失权重,以获得损失权重最小的目标顶点,包
括:
[0019]将当前顶点形成的待剪裁矩形的面积;
[0020]判断所述待剪裁矩形是否在所述多边形的外部;
[0021]若是,则对所述面积倍增值并作为所述当前顶点的损失权重;
[0022]若否,则将所述面积作为所述当前顶点的损失权重。
[0023]在上述实现过程中,利用矩形面积作为损失权重,当待剪裁矩形在多边形的外部时,可通过倍增方式避免该矩形被剪裁,从而提高矩形分解的准确性。
[0024]进一步地,所述计算每个顶点的损失权重,以获得损失权重最小的目标顶点,包括:
[0025]所述损失权重的计算公式为:
[0026]||P
i

P
i
‑1||*α+||P
i+1

P
i
||*β;
[0027]其中,P
i
表示所述当前顶点,P
i
‑1和P
i+1
分别表示待剪裁矩形的与所述当前顶点相邻的两个顶点,α和β均为预设常量;
[0028]判断所述待剪裁矩形是否在所述多边形的外部;
[0029]若是,则将计算值的倍增值作为所述当前顶点的损失权重;
[0030]若否,则将计算值作为所述当前顶点的损失权重。
[0031]在上述实现过程中,给出了损失权重的另一种计算方式,对每个顶点的待剪裁矩形进行内外判定,若在外部,则在原始损失权重的基础上倍增,以避免该待剪裁矩形被剪裁。
[0032]进一步地,所述在所述目标顶点处进行矩形剪裁,以得到子矩形,包括:
[0033]获取目标顶点对应的第四个顶点的位置,并利用向量表示为:
[0034][0035]其中,P
i
‑1和P
i+1
分别表示与所述目标顶点P
i
相邻的两个顶点;
[0036]获取由P
i
‑1,P
i
,P
i+1
,构成的子矩形,并在多边形的循环序列中删除P
i
‑1、P
i
和P
i+1
三个顶点,并对应插入顶点以对所述多边形进行更新。
[0037]在上述实现过程中,通过计算第四个顶点的位置确定待剪裁的子矩形,通过删除多边形序列中的三个已有顶点并插入第四个顶点来实现剪裁和多边形序列的更新。
[0038]进一步地,所述根据所述位置信息进行编码,以获得空间编码,包括:
[0039]对各个矩形的长和宽进行压缩取整,以获得对应长宽压缩值;
[0040]按照字母、长压缩值、下划线和宽压缩值的编码顺序生成矩形编码;
[0041]将门窗的位置坐标进行压缩取整,以获得对应的坐标压缩值;
[0042]按照字母、横坐标压缩值、下划线和纵坐标压缩值的编码顺序生成门窗编码;
[0043]按照预定排序将矩形编码和门窗编码进行排序,生成空间编码。
[0044]在上述实现过程中,以主矩形为中心,对各个矩形和门窗进行编码,可得到该单空间的编码序列,可通过查找编码相同的编码序列来实现快速检索。
[0045]进一步地,所述利用所述空间编码与数据库中的已有空间编码进行匹配,以获得最相似户型,包括:
[0046]查找所述数据库,以获得编码相同的单空间;
[0047]计算所述单空间与所述待处理户型的几何相似度;
[0048]将几何相似度最小的单空间作为所述待处理户型的最相似户型。
[0049]在上述实现过程中,对于查找到的多个编码相同的单空间,可通过几何相似度确定最相似户型。
[0050]进一步地,所述计算所述单空间与所述待处理户型的几何相似度,包括:
[0051]分别对所述单空间和所述待处理户型矩形分解得到的多个矩形按照面积从大到小进行排序,得到矩形序列;
[0052]计算两个矩形序列的几何相似度:
[0053][0054]其中,A
i
和B
i
表示所述单空间的矩形序列中的第i个矩形,B
i
表示所述待处理户型的矩形序列中的第i个矩形;M表示单空间的矩形个数和待处理户型的矩形个数的最大值,对于个数小于M的矩形序列以空矩形填充,所述空矩形的长宽和坐标值均为0;||A
i
...

【技术保护点】

【技术特征摘要】
1.一种户型编码匹配方法,其特征在于,所述方法包括:接收用户输入的待处理户型的户型几何数据;对所述户型几何数据进行矩形分解,以将所述户型几何数据对应的多边形分解成多个矩形;以面积最大的主矩形的中心作为原点,获取每个矩形、门和窗的位置信息;根据所述位置信息进行编码,以获得空间编码;利用所述空间编码与数据库中的已有空间编码进行匹配,以获得最相似户型。2.根据权利要求1所述的户型编码匹配方法,其特征在于,在所述对所述户型几何数据进行矩形分解,以将所述户型几何数据对应的多边形分解成多个矩形的步骤之前,所述方法还包括对所述户型几何数据进行预处理:依次遍历所述户型几何数据的多边形顶点序列的各个顶点,并判断所述顶点所在的夹角是否为90度;若是,则记录所述顶点;若否,则将所述顶点从所述顶点序列中删除,更新顶点序列,直至不存在夹角不是90度的顶点,则结束遍历;判断顶点处的夹角是否为90度的计算公式为:其中,P
i
‑1、P
i
和P
i+1
分别表示相邻的三个顶点,若|cos(angle)|<ε,则夹角为90度,ε为预设常量。3.根据权利要求1所述的户型编码匹配方法,其特征在于,所述对所述户型几何数据进行矩形分解,以将所述户型几何数据对应的多边形分解成多个矩形,包括:判断所述多边形的顶点数是否小于等于4;若否,则计算每个顶点的损失权重,以获得损失权重最小的目标顶点;在所述目标顶点处进行矩形剪裁,以得到子矩形;存储所述子矩形,并对所述多边形进行更新,以重新判断所述顶点数。4.根据权利要求3所述的户型编码匹配方法,其特征在于,所述计算每个顶点的损失权重,以获得损失权重最小的目标顶点,包括:将当前顶点形成的待剪裁矩形的面积;判断所述待剪裁矩形是否在所述多边形的外部;若是,则对所述面积倍增值并作为所述当前顶点的损失权重;若否,则将所述面积作为所述当前顶点的损失权重。5.根据权利要求3所述的户型编码匹配方法,其特征在于,所述计算每个顶点的损失权重,以获得损失权重最小的目标顶点,包括:所述损失权重的计算公式为:||P
i

P
i
‑1||*α+||Pi+1

P
i
||*β;其中,P
i
表示所述当前顶点,P
i
‑1和P
i+1
分别表示待剪裁矩形的与所述当前顶点相邻的两个顶点,α和β均为预设常量;
判断所述待剪裁矩形是否在所述多边形的外部;若是,则将计算值的倍增值作为所述当前顶点的损失权重;若否,则将计算值作为所述当前顶点的损失权重。6.根据权利要求3所述的户型编码匹配方法,其特征在于,所述在所述目标顶点处进行矩形...

【专利技术属性】
技术研发人员:刘玉丹王士玮
申请(专利权)人:广东三维家信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1