CN111090900A - 家装设计中的部件匹配方法、系统及电子设备 - Google Patents

家装设计中的部件匹配方法、系统及电子设备 Download PDF

Info

Publication number
CN111090900A
CN111090900A CN201911163555.7A CN201911163555A CN111090900A CN 111090900 A CN111090900 A CN 111090900A CN 201911163555 A CN201911163555 A CN 201911163555A CN 111090900 A CN111090900 A CN 111090900A
Authority
CN
China
Prior art keywords
component
sub
components
collision
matching
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.)
Granted
Application number
CN201911163555.7A
Other languages
English (en)
Other versions
CN111090900B (zh
Inventor
江博文
陆一帆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong 3vjia Information Technology Co Ltd
Original Assignee
Guangdong 3vjia Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong 3vjia Information Technology Co Ltd filed Critical Guangdong 3vjia Information Technology Co Ltd
Priority to CN201911163555.7A priority Critical patent/CN111090900B/zh
Publication of CN111090900A publication Critical patent/CN111090900A/zh
Application granted granted Critical
Publication of CN111090900B publication Critical patent/CN111090900B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/04Architectural design, interior design
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供了一种家装设计中的部件匹配方法、系统及电子设备,涉及家装设计领域,该方法首先获取部件及其子部件的轮廓数据,然后根据轮廓数据,实时判断部件及其子部件之间的碰撞关系。如果部件及其子部件相互之间存在碰撞关系,则以每个像素为单位步长,移动子部件。移动过程中实时判断部件及其子部件之间的碰撞关系,直至部件及其子部件之间无碰撞关系,并获取子部件的偏移量。最后根据子部件的偏移量对子部件进行布置,完成了该部件的匹配过程。本方法全面考虑部件及其子部件的结构,并采用像素移动的适配方法,通过碰撞检测进行部件的匹配,有效提升了部件适配的精确性和适应性。

Description

家装设计中的部件匹配方法、系统及电子设备
技术领域
本发明涉及家装设计领域,尤其是涉及一种家装设计中的部件匹配方法、系统及电子设备。
背景技术
现有的家装设计中,由于各类型的家具柜体部件的形状不一,导致内部子部件的形状也各不相同,设计人员在安装对应的子部件时往往需要根据实际场景进行手动调整,很难找到合适的位置,导致子部件的配置效果较差。
发明内容
有鉴于此,本发明的目的在于提供一种家装设计中的部件匹配方法、系统及电子设备,根据判断部件与子部件之间的碰撞关系,以像素为步长对子部件进行实时动态匹配,有效地提升了部件适配的精确性与适应性。
第一方面,本发明实施例提供了一种家装设计中的部件匹配方法,该方法包括:
获取部件及其子部件的轮廓数据;
根据轮廓数据,实时判断部件及其子部件之间的碰撞关系;
如果部件及其子部件相互之间存在碰撞关系,则以每个像素为单位步长,移动子部件;
移动过程中实时判断部件及其子部件之间的碰撞关系,直至部件及其子部件之间无碰撞关系,并获取子部件的偏移量;
根据子部件的偏移量对子部件进行布置。
在一些实施方式中,上述轮廓数据,实时判断部件及其子部件之间的碰撞关系的步骤,包括:
根据部件及其子部件的轮廓数据,判断部件及其子部件的轮廓数据中的顶点是否适用矩阵变换;
如果是,实时对部件及其子部件进行实体碰撞检测;
如果否,实时对部件及其子部件进行图形碰撞检测。
在一些实施方式中,上述实时对部件及其子部件进行实体碰撞检测的步骤,包括:
获取部件及其子部件的空间位置点;
实时对部件及其子部件的空间位置点进行交叉判断;
若有交叉,则部件及其子部件存在碰撞;
若无交叉,则部件及其子部件之间不存在碰撞。
在一些实施方式中,上述实时对部件及其子部件进行图形碰撞检测的步骤,包括:
提取子部件的顶点,将顶点保存在顶点集合中;
根据部件的轮廓数据,计算顶点集合中的子部件顶点的位置关系;
如果顶点集合中有任意一点位于部件的轮廓之外,则部件及其子部件存在碰撞;
如果顶点集合中有的所有顶点位于部件的轮廓之内,则部件及其子部件之间不存在碰撞。
在一些实施方式中,上述以每个像素为单位步长,移动子部件的步骤,包括:
以每个像素为单位步长,采用顺时针螺旋方式、逆时针螺旋方式或逐行扫描的方式对子部件进行移动。
在一些实施方式中,上述根据子部件的偏移量对子部件进行布置的步骤,包括:
根据部件及其子部件的轮廓数据,通过坐标转换为立体结构;
根据子部件的偏移量,将已转换为立体结构的子部件进行布置。
在一些实施方式中,上述根据子部件的偏移量,将已转换为立体结构的子部件进行布置的步骤,包括:
当部件的位置以及体积发生变化时,根据部件变化前后的位置以及体积数据,得到部件的缩放比例数据和位置坐标数据;
根据部件的缩放比例数据和位置坐标数据,实时将子部件的偏移量进行缩放和移动,实现了子部件的重新布置。
第二方面,本发明实施例提供了一种家装设计中的部件匹配系统,该系统包括:
轮廓获取模块,用于获取部件及其子部件的轮廓数据;
碰撞关系计算模块,用于根据轮廓数据,实时判断部件及其子部件之间的碰撞关系;
部件移动模块,用于如果部件及其子部件相互之间存在碰撞关系,则以每个像素为单位步长,移动子部件;
偏移量计算模块,用于移动过程中实时判断部件及其子部件之间的碰撞关系,直至部件及其子部件之间无碰撞关系,并获取子部件的偏移量;
部件布置模块,用于根据子部件的偏移量对子部件进行布置。
第三方面,本发明实施例提供了一种电子设备,该电子设备包括:处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行上述家装设计中的部件匹配方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述家装设计中的部件匹配方法的步骤。
本发明实施例带来了以下有益效果:本发明实施例提供了一种家装设计中的部件匹配方法、系统及电子设备,该方法首先获取部件及其子部件的轮廓数据,然后根据轮廓数据,实时判断部件及其子部件之间的碰撞关系。如果部件及其子部件相互之间存在碰撞关系,则以每个像素为单位步长,移动子部件。移动过程中实时判断部件及其子部件之间的碰撞关系,直至部件及其子部件之间无碰撞关系,并获取子部件的偏移量。最后根据子部件的偏移量对子部件进行布置,完成了该部件的匹配过程。本方法全面考虑部件及其子部件的结构,并采用像素移动的适配方法,通过碰撞检测进行部件的匹配,有效提升了部件适配的精确性和适应性。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的家装设计中的部件匹配方法流程图;
图2为本发明实施例提供的家装设计中的部件匹配方法中步骤S102的流程图;
图3为本发明实施例提供的家装设计中的部件匹配方法中,实时对部件及其子部件进行实体碰撞检测步骤的流程图;
图4为本发明实施例提供的家装设计中的部件匹配方法中,实时对部件及其子部件进行图形碰撞检测步骤的流程图;
图5为本发明实施例提供的家装设计中的部件匹配方法中,子部件的移动方式的示意图;
图6为本发明实施例提供的家装设计中的部件匹配方法中,根据子部件的偏移量对子部件进行布置的流程图;
图7为本发明实施例提供的家装设计中的部件匹配方法中,根据子部件的偏移量,将已转换为立体结构的子部件进行重新布置的流程图;
图8为本发明实施例提供的另一种家装设计中的部件匹配方法流程图;
图9为本发明实施例提供的家装设计中的部件匹配系统的结构示意图;
图10为本发明实施例提供的一种电子设备的结构示意图。
图标:
901-轮廓获取模块;902-碰撞关系计算模块;903-部件移动模块;904-偏移量计算模块;905-部件布置模块;101-处理器;102-存储器;103-总线;104-通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如今的家装设计中,随着用户审美的提升,各式各样的家具柜子等部件的种类逐渐增多。随着小户型的普及,人们对于房屋的空间利用率要求较高,因此在家装设计中各类部件的设计也越来越复杂,部件的布局要求更加精细,这对于设计人员来说,如何在家装设计中更好的利用部件空间至关重要。
设计人员可通过相关设计软件,将房屋的布局结构输入后进行建模,再讲各类型的家具柜体数据建模后进行布局。但对于复杂形状的不规则部件,用户在安装对应的子部件时需要用户手动进行位置调整,例如柜体中的隔断、浴室中洗手盆以及水龙头等。由于这类子部件的形状各异,不同品牌的子部件外观差异就很大,因此用户很难找到合适的位置来匹配现有的柜体或部件。
考虑到现有家装设计中存在的上述问题,本发明的目的在于提供一种家装设计中的部件匹配方法、系统及电子设备,该技术可以应用于家装设计的过程中,可以采用相关的软件或硬件实现,下面通过实施例进行描述。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种家装设计中的部件匹配方法进行详细介绍,该方法的流程图如图1所示,包括:
步骤S101,获取部件及其子部件的轮廓数据。
家装设计中的部件包含各种类型的家具、各种柜体和箱体等,设计人员通过相关设计软件获得各类部件,并对部件进行自定义移动摆放,从而达到设计目的。部件及其子部件的轮廓数据的获取结果是这些部件的最外层轮廓,首先获取部件及其相关子部件的俯视图后,通过相关轮廓提取算法,对俯视图中的部件轮廓进行提取。例如可使用OpenCV中的findContours、LineFinder、approxPolyDP、HoughLines等函数提取部件及其子部件的轮廓,上述函数可通过相互组合对轮廓进行提取,进一步提高轮廓提取效果。
步骤S102,根据轮廓数据,实时判断部件及其子部件之间的碰撞关系。
获得的部件及其子部件的轮廓数据中包含轮廓边缘的位置信息,通过轮廓数据中的位置信息可判断部件与其子部件之间是否发生碰撞。
该步骤的碰撞是数字图像处理中的碰撞,表示两个图像之间是否发生相交的情况,例如,如果两个图像是相同的正方形,可判断这两个正方形中心点距离的长度是否大于正方形的边长,如果是,则表明两个正方形之间没有发生碰撞;如果两个图像是相同的圆形,可判断两个圆形圆点距离是否大于半径的2倍,如果是,则表明两个圆形之间没有发生碰撞。
由于部件及其子部件可能处于动态选择的状态,即用户拖拽某一部件时,需要实时的计算部件及其子部件之间的碰撞关系。所用的时间间隔根据实际情况而定,如果时间间隔较短,实时计算的频率较高,会导致计算压力较大;如果时间间隔较长,实时计算的频率较低,会导致刷新率较低。
步骤S103,如果部件及其子部件相互之间存在碰撞关系,则以每个像素为单位步长,移动子部件。
如果部件及其子部件之间存在碰撞关系,表明实际摆放过程中会发生位置冲突,需要重新进行摆放。从新摆放时,以每个像素为单位补偿,对子部件进行移动,例如,某个发生冲突的子部件向右移动一个像素后,重新判断与其它子部件的碰撞关系,如果依旧存在碰撞,则继续移动一个像素。
像素移动的思路遵循不重复原则,即每次移动均不可回到之前的移动位置,防止不必要的计算。因此像素移动的方向可根据图像大小具体而定,例如,如果图像是正方形,图像长和宽的分辨率相同,此时可采用螺旋式的移动,即以图像中心为起点,顺时针或逆时针进行像素移动;又如果图像为长方形,图像长和宽的分辨率不同,此时可采用逐行扫描的方式进行,即以某一行像素进行逐行扫描后,继续执行下一行像素,直至完成所有行的像素。
步骤S104,移动过程中实时判断部件及其子部件之间的碰撞关系,直至部件及其子部件之间无碰撞关系,并获取子部件的偏移量。
移动的过程中,需要实时判断部件与其子部件之间的碰撞关系,当部件完成以后再执行碰撞关系的计算,如果依旧存在碰撞关系则继续移动子部件,直至子部件之间不存在任何碰撞关系时停止移动。此时的位置即为子部件的最佳匹配位置。子部件在该位置不与其它任何部件产生冲突,并且该子部件能确保在部件之内。
当子部件停止移动后,获取移动的偏移量,用于后续的匹配过程。
步骤S105,根据子部件的偏移量对子部件进行布置。
在获取子部件的偏移量后,可将转化为2D平面图的子部件重新进行3D渲染,并将3D渲染后的部件进行布置,完成部件的匹配过程。
在本发明实施例提到的一种家装设计中的部件匹配方法中可知,该方法首先获取部件及其子部件的轮廓数据,然后根据轮廓数据,实时判断部件及其子部件之间的碰撞关系。如果部件及其子部件相互之间存在碰撞关系,则以每个像素为单位步长,移动子部件。移动过程中实时判断部件及其子部件之间的碰撞关系,直至部件及其子部件之间无碰撞关系,并获取子部件的偏移量。最后根据子部件的偏移量对子部件进行布置,完成了该部件的匹配过程。本方法全面考虑部件及其子部件的结构,并采用像素移动的适配方法,通过碰撞检测进行部件的匹配,有效提升了部件适配的精确性和适应性。
在一些实施方式中,上述根据部件及其子部件的轮廓数据,实时判断部件及其子部件之间的碰撞关系的步骤S102,如图2所示,包括:
步骤S201,根据轮廓数据,判断部件及其子部件的轮廓数据中的顶点是否适用矩阵变换。
在获得部件及其子部件的轮廓数据后,对轮廓数据中的顶点进行提取。顶点数据时轮廓的关键数据之一,是用于表征轮廓的重要参数。
通过对获得的轮廓顶点是否能够用于矩阵变换进行判断,例如可采用OpenCV中的矩阵变换相关的概念,如仿射变换和透视变换。仿射变换常用于2D平面中,透视变换常用与3D平面中。仿射变换和透视变换的计算方法都是通过坐标向量和变换矩阵进行相乘,在仿射变换图像中基于3个固定顶点的变换,而透视变换则基于4个顶点的变换。上述实现过程可采用OpenCV中封装的函数得以实现。
步骤S202,如果是,实时对部件及其子部件进行实体碰撞检测;如果否,实时对部件及其子部件进行图形碰撞检测。
具体的,在一些实施方式中,如果部件及其子部件的轮廓数据中的顶点不适用矩阵变换,此时需要实时对部件及其子部件进行实体碰撞检测,如图3所示,包括:
步骤S301,获取部件及其子部件的空间位置点。
空间位置点可选取部件及其子部件的中心点,如果部件及其子部件不是规则形状,则可以选取统一参考标准的特征点,例如最左边的点或最右边的点。参考标准选取后不可以发生更改,选取的空间位置点作为表征部件及其子部件的位置坐标。
步骤S302,实时对部件及其子部件的空间位置点进行交叉判断。
步骤S303,若有交叉,则部件及其子部件存在碰撞;若无交叉,则部件及其子部件之间不存在碰撞。
交叉判断的计算过程类似碰撞关系的计算,二者都是判断部件及其子部件之间是否发生碰撞,对于交叉判断而言,判断的过程类似实体的碰撞,因此将该碰撞检测成为实体碰撞检测。
如果有交叉情况,则表明部件以及子部件之间存在碰撞关系;反之,如果无交叉情况,则表明部件及其子部件之间不存在碰撞关系。
在一些实施方式中,如果部件及其子部件的轮廓数据中的顶点适用矩阵变换,此时需要实时对部件及其子部件进行图形碰撞检测,如图4所示,包括:
步骤S401,提取子部件的顶点,将顶点保存在顶点集合中。
该步骤中的顶点的获取方式,是通过相关顶点提取算法,将子部件的2D俯视轮廓图中的所有顶点进行提取,与实体碰撞不同的是,该步骤中只提取子部件的顶点数据,顶点数据保存在顶点集合中。
步骤S402,根据部件的轮廓数据,计算顶点集合中的子部件顶点的位置关系。
轮廓数据中保存有部件的位置数据,根据部件轮廓数据中的位置数据,计算顶点集合中的子部件顶点之间的位置关系,该位置关系的判断标准是部件的轮廓数据,判断过程也是交叉位置检测。
步骤S403,如果顶点集合中有任意一点位于部件的轮廓之外,则部件及其子部件存在碰撞;如果顶点集合中有的所有顶点位于部件的轮廓之内,则部件及其子部件之间不存在碰撞。
在一些实施方式中,上述以每个像素为单位步长,移动子部件的步骤,包括:以每个像素为单位步长,采用顺时针螺旋方式、逆时针螺旋方式或逐行扫描的方式对子部件进行移动。
如图5所示,子部件的移动方式,采用逆时针螺旋方式进行移动。图中的柜体外轮廓是正方形,因此子部件可以从正方形的中心开始移动,移动的方向是逆时针,步长是一个像素。每移动一个像素,将子部件与其它子部件进行碰撞关系的判断,直至该子部件与其它任何子部件均无碰撞关系时,停止移动。
在一些实施方式中,上述根据子部件的偏移量对子部件进行布置的步骤,如图6所示,包括:
步骤S601,根据部件及其子部件的轮廓数据,通过坐标转换为立体结构。
由于该步骤中的部件及其子部件均是2D俯视图像,因此通过坐标转换得到3D图像。转换过程为:保留2D坐标的XY点坐标值,将第三个坐标轴方向上的点从另外轴向的2D坐标中取出,兼并坐标,生成新的3D坐标。
步骤S602,根据子部件的偏移量,将已转换为立体结构的子部件进行布置。
在获取子部件的偏移量后,将已经转换为立体结构的子部件进行重新布置,完成部件的匹配过程。实际应用时常常会对部件整体进行缩放和移动,因此相应的子部件也会根据缩放比例和偏移量进行相应调整,具体的,如图7所示,包括:
步骤S61,当部件的位置以及体积发生变化时,根据部件变化前后的位置以及体积数据,得到部件的缩放比例数据和位置坐标数据。
步骤S62,根据部件的缩放比例数据和位置坐标数据,实时将子部件的偏移量进行缩放和移动,实现了子部件的重新布置。
如图8所示的另一种家装设计中的部件匹配方法流程图,该方法用于浴室中的相关部件中,通过某三维家装设计软件得以执行,该方法包括:
步骤S801,进入浴室模块。
家装设计过程中涉及各种类型的房间,每类房间中对应的相应部件是不同的,但同类房间中的部件大体是相同的,例如卧室中通常包含床、床头柜、衣柜等;餐厅通常包含餐桌、椅子、餐边柜等;浴室中通常包含洗手盆、水龙头、淋浴喷头等。实际应用中,在大部分三维家装设计软件中将不同种类的房间分为不同模块,通过模块化设计可方便设计人员更快的选取相关部件。
步骤S802,自由安装柜体和子部件。
该步骤中,用户通过软件界面,选择需要安装的柜体,然后使用鼠标或者其它触控方式将柜体拖放至场景中。子部件的选择与拖放方式与柜体类似,用户通过自定义的方式自由摆放位置。位置选择完毕后,通过软件提供的功能进行安装。
步骤S803,自由调整柜体大小和子部件位置。
子部件的选择与拖放方式与柜体类似,用户通过自定义的方式自由摆放位置。
步骤S804,判断轮廓是否为矩阵类型。
上述轮廓是柜体及其子部件的2D俯视图外轮廓图,柜体部件及其子部件轮廓的获取是通过相关轮廓提取算法得以实现,例如可使用OpenCV中的findContours、LineFinder、approxPolyDP、HoughLines等函数提取部件及其子部件的轮廓,上述函数可通过相互组合对轮廓进行提取,进一步提高轮廓提取效果。
在获取轮廓信息后,需要对该轮廓是否为矩形类型进行判断。该领域中的矩阵,是指轮廓从图形上呈现矩形,并且图形中所有的顶点适用于矩阵变换的操作。如果该轮廓是矩阵类型,那么执行步骤S805;如果该轮廓不是矩阵类型,那么执行步骤S807。
步骤S805,判断实体有无碰撞。
根据用户选择的柜体和子部件的形状,获取对应2D俯视图外轮廓图后,判断所有轮廓均为矩阵的情况下,对柜体和子部件进行实体碰撞检测,计算柜体之间的各个板件与模型碎片所在空间的位置点进行交叉判断。如果有交叉,则视为发生碰撞;如果没有交叉,则视为无碰撞。
步骤S806,直接进行中心点适配。
如果柜体和子部件之间没有交叉,则直接进行中心点适配过程。中心点适配的过程是由子部件从柜体中心开始旋转移动,所适配后的位置是距离中心点最近,且无任何碰撞与交叉的位置为最佳。
步骤S807,将轮廓转换为2D轮廓的图形。
如果步骤S804中判断轮廓不为矩阵类型,那么需要将轮廓转换为2D轮廓的图形。
步骤S808,对子部件进行位移。
在检测至有碰撞的情况下,保持柜体的图形不动,移动子部件图形,子部件图形的每次移动均为一个像素,移动规则遵循逆时针螺旋状(见图5)。
步骤S809,判断图形有无碰撞。
每次移动图形后再一次进行图形碰撞检测,如果有碰撞,继续执行步骤S808,直到无碰撞的状态为止,停止子部件的移动。
步骤S810,将2D偏移量转换至3D场景中,移动3D场景中的模型位置。
保留2D坐标的XY点坐标值,将第三个坐标轴方向上的点从另外轴向的2D坐标中取出,兼并坐标,生成新的3D坐标。
步骤S811,适配结束。
步骤S812,退出浴室模块。
本实施例中提到的浴室柜子部件的匹配过程,全面考虑浴室柜子部件的复杂性,通过采用相关适配算法,运用图形及实体的碰撞检测,有效地提升了浴室柜子部件适配的精确性与适应性。
对应于上述家装设计中的部件匹配方法的实施例,本实施例还提供一种家装设计中的部件匹配系统,如图9所示,该系统包括:
轮廓获取模块901,用于获取部件及其子部件的轮廓数据;
碰撞关系计算模块902,用于根据轮廓数据,实时判断部件及其子部件之间的碰撞关系;
部件移动模块903,用于如果部件及其子部件相互之间存在碰撞关系,则以每个像素为单位步长,移动子部件;
偏移量计算模块904,用于移动过程中实时判断部件及其子部件之间的碰撞关系,直至部件及其子部件之间无碰撞关系,并获取子部件的偏移量;
部件布置模块905,用于根据子部件的偏移量对子部件进行布置。
本发明实施例所提供的家装设计中的部件匹配系统,其实现原理及产生的技术效果和前述家装设计中的部件匹配方法的实施例相同,为简要描述,实施例部分未提及之处,可参考前述方法实施例中相应内容。
本实施例还提供一种电子设备,为该电子设备的结构示意图如图10所示,该设备包括处理器101和存储器102;其中,存储器102用于存储一条或多条计算机指令,一条或多条计算机指令被处理器执行,以实现上述家装设计中的部件匹配方法。
图10所示的服务器还包括总线103和通信接口104,处理器101、通信接口104和存储器102通过总线103连接。
其中,存储器102可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。总线103可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
通信接口104用于通过网络接口与至少一个用户终端及其它网络单元连接,将封装好的IPv4报文或IPv4报文通过网络接口发送至用户终端。
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器102,处理器101读取存储器102中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行前述实施例的方法的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以用软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种家装设计中的部件匹配方法,其特征在于,所述方法包括:
获取所述部件及其子部件的轮廓数据;
根据所述轮廓数据,实时判断所述部件及其所述子部件之间的碰撞关系;
如果所述部件及其所述子部件相互之间存在碰撞关系,则以每个像素为单位步长,移动所述子部件;
移动过程中实时判断所述部件及其所述子部件之间的碰撞关系,直至所述部件及其所述子部件之间无碰撞关系,并获取所述子部件的偏移量;
根据所述子部件的偏移量对所述子部件进行布置。
2.根据权利要求1所述家装设计中的部件匹配方法,其特征在于,根据所述轮廓数据,实时判断所述部件及其所述子部件之间的碰撞关系的步骤,包括:
根据所述部件及其子部件的轮廓数据,判断所述部件及其子部件的轮廓数据中的顶点是否适用矩阵变换;
如果是,实时对所述部件及其所述子部件进行实体碰撞检测;
如果否,实时对所述部件及其所述子部件进行图形碰撞检测。
3.根据权利要求2所述的家装设计中的部件匹配方法,其特征在于,实时对所述部件及其所述子部件进行实体碰撞检测的步骤,包括:
获取所述部件及其所述子部件的空间位置点;
实时对所述部件及其所述子部件的空间位置点进行交叉判断;
若有交叉,则所述部件及其所述子部件存在碰撞;
若无交叉,则所述部件及其所述子部件之间不存在碰撞。
4.根据权利要求2所述的家装设计中的部件匹配方法,其特征在于,实时对所述部件及其所述子部件进行图形碰撞检测的步骤,包括:
提取所述子部件的顶点,将所述顶点保存在顶点集合中;
根据所述部件的轮廓数据,计算所述顶点集合中的子部件顶点的位置关系;
如果所述顶点集合中有任意一点位于所述部件的轮廓之外,则所述部件及其所述子部件存在碰撞;
如果所述顶点集合中有的所有顶点位于所述部件的轮廓之内,则所述部件及其所述子部件之间不存在碰撞。
5.根据权利要求1所述的家装设计中的部件匹配方法,其特征在于,以每个像素为单位步长,移动所述子部件的步骤,包括:
以每个像素为单位步长,采用顺时针螺旋方式、逆时针螺旋方式或逐行扫描的方式对所述子部件进行移动。
6.根据权利要求1所述的家装设计中的部件匹配方法,其特征在于,根据所述子部件的偏移量对所述子部件进行布置的步骤,包括:
根据所述部件及其子部件的轮廓数据,通过坐标转换为立体结构;
根据所述子部件的偏移量,将已转换为立体结构的所述子部件进行布置。
7.根据权利要求6所述的家装设计中的部件匹配方法,其特征在于,根据所述子部件的偏移量,将已转换为立体结构的所述子部件进行布置的步骤,包括:
当所述部件的位置以及体积发生变化时,根据所述部件变化前后的位置以及体积数据,得到所述部件的缩放比例数据和位置坐标数据;
根据所述部件的缩放比例数据和位置坐标数据,实时将所述子部件的偏移量进行缩放和移动,实现了所述子部件的重新布置。
8.一种家装设计中的部件匹配系统,其特征在于,所述系统包括:
轮廓获取模块,用于获取所述部件及其子部件的轮廓数据;
碰撞关系计算模块,用于根据所述轮廓数据,实时判断所述部件及其所述子部件之间的碰撞关系;
部件移动模块,用于如果所述部件及其所述子部件相互之间存在碰撞关系,则以每个像素为单位步长,移动所述子部件;
偏移量计算模块,用于移动过程中实时判断所述部件及其所述子部件之间的碰撞关系,直至所述部件及其所述子部件之间无碰撞关系,并获取所述子部件的偏移量;
部件布置模块,用于根据所述子部件的偏移量对所述子部件进行布置。
9.一种电子设备,其特征在于,包括:处理器和存储装置;所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至7任一项所述的方法的步骤。
CN201911163555.7A 2019-11-22 2019-11-22 家装设计中的部件匹配方法、系统及电子设备 Active CN111090900B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911163555.7A CN111090900B (zh) 2019-11-22 2019-11-22 家装设计中的部件匹配方法、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911163555.7A CN111090900B (zh) 2019-11-22 2019-11-22 家装设计中的部件匹配方法、系统及电子设备

Publications (2)

Publication Number Publication Date
CN111090900A true CN111090900A (zh) 2020-05-01
CN111090900B CN111090900B (zh) 2023-06-02

Family

ID=70393547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911163555.7A Active CN111090900B (zh) 2019-11-22 2019-11-22 家装设计中的部件匹配方法、系统及电子设备

Country Status (1)

Country Link
CN (1) CN111090900B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112257169A (zh) * 2020-10-30 2021-01-22 贝壳技术有限公司 物品分配方法、装置、计算机可读存储介质及电子设备
CN113190909A (zh) * 2021-05-21 2021-07-30 杭州群核信息技术有限公司 确定目标对象位置合理性的方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249643A (ja) * 2006-03-16 2007-09-27 Fujitsu Ltd 衝突解析装置および衝突解析プログラム
CN109344435A (zh) * 2018-08-28 2019-02-15 贵州数智联云科技有限公司 一种用于建筑排布的设计方法及其装置、存储介质
CN109740234A (zh) * 2018-12-28 2019-05-10 江苏艾佳家居用品有限公司 一种家居布局3d碰撞检测方法及系统
CN110210141A (zh) * 2019-06-04 2019-09-06 宝业湖北建工集团有限公司 基于bim技术的模型碰撞检测方法、装置及电子设备
CN110309584A (zh) * 2019-06-28 2019-10-08 江苏艾佳家居用品有限公司 一种室内环境下3d对象碰撞检测方法及检测系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249643A (ja) * 2006-03-16 2007-09-27 Fujitsu Ltd 衝突解析装置および衝突解析プログラム
CN109344435A (zh) * 2018-08-28 2019-02-15 贵州数智联云科技有限公司 一种用于建筑排布的设计方法及其装置、存储介质
CN109740234A (zh) * 2018-12-28 2019-05-10 江苏艾佳家居用品有限公司 一种家居布局3d碰撞检测方法及系统
CN110210141A (zh) * 2019-06-04 2019-09-06 宝业湖北建工集团有限公司 基于bim技术的模型碰撞检测方法、装置及电子设备
CN110309584A (zh) * 2019-06-28 2019-10-08 江苏艾佳家居用品有限公司 一种室内环境下3d对象碰撞检测方法及检测系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112257169A (zh) * 2020-10-30 2021-01-22 贝壳技术有限公司 物品分配方法、装置、计算机可读存储介质及电子设备
CN112257169B (zh) * 2020-10-30 2021-08-06 贝壳找房(北京)科技有限公司 物品分配方法、装置、计算机可读存储介质及电子设备
CN113190909A (zh) * 2021-05-21 2021-07-30 杭州群核信息技术有限公司 确定目标对象位置合理性的方法、装置及存储介质
CN113190909B (zh) * 2021-05-21 2023-02-24 杭州群核信息技术有限公司 确定目标对象位置合理性的方法、装置及存储介质

Also Published As

Publication number Publication date
CN111090900B (zh) 2023-06-02

Similar Documents

Publication Publication Date Title
JP7361089B2 (ja) コンピューティングシステムにおけるアンチエイリアシング動作の実行
CN101432776B (zh) 用于从二维图像进行三维物体重建的系统和方法
CN106663334B (zh) 通过计算装置执行的方法、移动通信装置和存储介质
CN111090900A (zh) 家装设计中的部件匹配方法、系统及电子设备
KR100721536B1 (ko) 2차원 평면상에서 실루엣 정보를 이용한 3차원 구조 복원방법
AU2015284556A1 (en) Depth estimation using multi-view stereo and a calibrated projector
US20160005227A1 (en) Technique for filling holes in a three-dimensional model
KR20080067840A (ko) 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법
US8793108B2 (en) Three-dimensional model determination from two-dimensional sketch with two-dimensional refinement
KR20150122519A (ko) 경로 렌더링을 수행하는 방법 및 장치.
CN108564645B (zh) 房屋模型的渲染方法、终端设备及介质
JP2009545827A (ja) ピクセルマスクを用いたグラフィックシステム
Manni et al. Snap2cad: 3D indoor environment reconstruction for AR/VR applications using a smartphone device
KR20160031328A (ko) 렌더링 방법 및 장치
CN111127652A (zh) 机器人的室内地图构建方法、装置及电子设备
US20170061682A1 (en) Rendering method and apparatus
JP2023527438A (ja) リアルタイム深度マップを用いたジオメトリ認識拡張現実効果
CN107688426B (zh) 选中目标物体的方法和装置
KR101107114B1 (ko) 그래픽 객체들을 렌더링하는 방법
WO2017202079A1 (zh) 一种立体图像制作方法和设备
JP2022015115A (ja) 画像処理装置、画像処理方法およびプログラム
CN113204297B (zh) 图元中元素的选择方法、装置、电子设备和存储介质
CN112614190B (zh) 投影贴图的方法及装置
CN111259567B (zh) 一种布局图生成方法、装置和存储介质
JP2003294416A5 (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