CN114661202A - 在线家装方法、设备及存储介质 - Google Patents
在线家装方法、设备及存储介质 Download PDFInfo
- Publication number
- CN114661202A CN114661202A CN202210200221.8A CN202210200221A CN114661202A CN 114661202 A CN114661202 A CN 114661202A CN 202210200221 A CN202210200221 A CN 202210200221A CN 114661202 A CN114661202 A CN 114661202A
- Authority
- CN
- China
- Prior art keywords
- target
- furniture object
- accommodating space
- furniture
- type
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- User Interface Of Digital Computer (AREA)
- Instructional Devices (AREA)
Abstract
本申请实施例提供一种在线家装方法、设备及存储介质。在本申请实施例中,根据选择的目标家具对象可以确定承载目标家具对象的目标容纳空间,或者根据选择的目标容纳空间可以确定目标家具对象,对用户而言,多样的选择方式更方便操作;并且,在将目标家具对象安装至目标容纳空间过程中,可以适应性调整目标家具对象与目标容纳空间之间的安装关系,以得到符合用户安装需求的安装关系,有助于满足用户对家具对象的多样性安装需求。
Description
技术领域
本申请涉及家装展示技术领域,尤其涉及一种在线家装方法、设备及存储介质。
背景技术
在现有家装方案中,对于房屋空间中的门、窗、门框等家具,通常以静态展示的方式呈现,用户无法通过线上家装的方式对门、窗、门框等家具进行修改及调整。在用户对门、窗、门框、窗框等家具具有个性化家装需求的情况下,现有家装方案无法满足用户的家装需求。
发明内容
本申请的多个方面提供一种在线家装方法、设备及存储介质,用以实现对对门、窗、门框、窗框等家具的在线家装,满足用户更为丰富的在线家装需求。
本申请实施例提供一种在线家装方法,应用于电子终端设备,所述电子终端设备提供有图形用户界面,所述图形用户界面上展示有待家装房屋对应的三维空间模型;所述三维空间模型中包括多个空间对象,每个空间对象包括至少一个容纳空间,分别用于承载不同类型的家具对象,所述容纳空间的类型与其承载的家具对象的类型对应,所述家具对象的类型包括门体、门框或窗框、窗体;所述方法包括:响应于第一操作,从多个候选家具对象中确定待家装的目标家具对象,根据所述目标家具对象的类型和至少一个容纳空间的类型,确定承载所述目标家具对象的目标容纳空间;或者,响应于第二操作,确定目标容纳空间,根据所述目标容纳空间的类型,确定所述目标容纳空间承载的目标家具对象;将所述目标家具对象安装至所述目标容纳空间,并在安装过程中调整所述目标家具对象的与所述目标容纳空间的安装关系,以得到符合用户需求的目标安装关系。
在一可选实施例中,所述图形用户界面上还包括家具对象选择区,所述家具对象选择区中包括多个家具对象类型选项,每个家具对象类型选项对应有家具对象列表,所述家具对象列表中包括多个家具对象;响应于第一操作,从多个候选家具对象中确定待家装的目标家具对象,包括:响应于选择操作,从所述家具对象选择区中选择目标家具对象类型,展示与所述目标家具对象类型对应的第一家具对象列表;响应于对所述第一家具对象列表中任一家具对象的触发操作,从所述第一家具对象列表中选择所述目标家具对象。
在一可选实施例中,对所述对目标家具对象的触发操作为拖动操作,所述方法还包括:确定所述拖动操作在所述三维空间模型中的拖动结束位置;若所述拖动结束位置在一个墙体上,根据所述三维空间模型中墙体与容纳空间的关联关系,确定所述墙体关联的至少一个容纳空间;若所述拖动结束位置在多个墙体之间,获取所述多个墙体共同关联的至少一个容纳空间。
在一可选实施例中,根据所述目标家具对象的类型和至少一个容纳空间的类型,确定承载所述目标家具对象的目标容纳空间,包括:分别确定所述拖动结束位置与所述至少一个容纳空间指定位置的坐标之间的距离,将对应最小距离的指定位置所属的容纳空间作为候选容纳空间;若所述候选容纳空间的类型与所述目标家具对象的类型对应,则将所述候选容纳空间作为承载所述目标家具对象的目标容纳空间。
在一可选实施例中,响应于第二操作,确定目标容纳空间,包括:响应于对所述三维空间模型中目标位置的触发操作;若所述目标位置在容纳空间中,将所述容纳空间作为目标容纳空间;若所述目标位置在家具对象上,将承载所述家具对象的容纳空间作为目标容纳空间;若所述目标位置在一个墙体上,确定与所述目标位置最近的容纳空间作为目标容纳空间。
在一可选实施例中,若所述目标位置在一个墙体上,确定与所述目标位置最近的容纳空间作为目标容纳空间,包括:根据所述三维空间模型中墙体与容纳空间的关联关系,获取所述墙体关联的至少一个容纳空间;分别确定所述目标位置与所述至少一个容纳空间指定位置的坐标之间的距离,将对应最小距离的指定位置所属的容纳空间作为目标容纳空间。
在一可选实施例中,不同类型的家具对象对应有家具对象列表,所述家具对象列表中包括多个家具对象;根据所述目标容纳空间的类型,确定所述目标容纳空间承载的目标家具对象,包括:若所述目标位置在容纳空间中或在一个墙体上,将与所述目标容纳空间的类型对应的家具对象类型作为目标家具对象类型;若所述目标位置在家具对象上,将所述家具对象的类型作为目标家具对象类型;展示与所述目标家具对象类型对应的第二家具对象列表,响应于对所述第二家具对象列表中任一家具对象的触发操作,从所述第二家具对象列表中选择目标家具对象。
在一可选实施例中,将所述目标家具对象安装至所述目标容纳空间,包括:若所述目标容纳空间未承载家具对象,直接根据所述目标容纳空间的中心坐标和所述目标家具对象的中心位置,将所述目标家具对象展示在所述目标容纳空间中;若所述目标容纳空间已承载与所述目标家具对象类型不同的家具对象,根据已承载家具对象的中心坐标,将所述目标家具对象展示在所述目标容纳空间中;若所述目标容纳空间已承载与所述目标家具对象类型相同的家具对象,在所述目标容纳空间中将已承载家具对象替换为所述目标家具对象,并在所述已承载家具对象对应的家具对象列表中将所述已承载家具对象标记为未选中状态;在成功安装所述目标家具对象的情况下,在所述目标家具对象对应的家具对象列表中将所述目标家具对象标记为选中状态。
在一可选实施例中,在安装过程中调整所述目标家具对象与所述目标容纳空间的安装关系,包括:若所述目标容纳空间未承载家具对象或者已承载与所述目标家具对象类型相同的家具对象,直接根据所述目标容纳空间的尺寸信息调整所述目标家具对象的尺寸信息;若所述目标容纳空间已承载与所述目标家具对象类型不同的家具对象,根据已承载家具对象和所述目标容纳空间分别对应的尺寸信息调整所述目标家具对象的尺寸信息。
在一可选实施例中,若所述目标容纳空间已承载与所述目标家具对象类型不同的家具对象,所述已承载家具对象为门框,所述目标家具对象为门体,或者所述已承载家具对象为窗框,所述目标家具对象为窗体;根据已承载家具对象和所述目标容纳空间分别对应的尺寸信息调整所述目标家具对象的尺寸信息,包括:根据所述已承载家具对象的宽度和所述目标容纳空间的尺寸信息,确定所述目标家具对象对应的目标尺寸信息,并按照所述目标尺寸信息调整所述目标家具对象的尺寸信息;相应地,将所述目标家具对象展示在所述目标容纳空间中,包括:按照所述目标尺寸信息,将所述门体展示在所述门框中,或者将所述窗体展示在所述窗框中。
在一可选实施例中,在安装过程中调整所述目标家具对象与所述目标容纳空间的安装关系,还包括:在所述安装关系不满足用户需求的情况下,响应于对所述目标家具对象执行的翻转操作,将所述目标家具对象调整为镜像对称形式;和/或,响应于对所述目标家具对象执行的旋转操作,调整所述目标家具对象与所述目标容纳空间关联墙体的相对角度。
在一可选实施例中,所述目标家具对象为门体或窗体,在将所述目标家具对象调整为镜像对称形式之前,还包括:确定所述门体或窗体的旋转轴位置,根据所述旋转轴位置确定所述门体或窗体是否为关闭状态;若所述门体或窗体不是关闭状态,重新确定所述门体或窗体的旋转轴目标位置,并根据所述旋转轴目标位置,将所述门体或窗体调整为关闭状态;其中,所述关闭状态是指所述门体或窗体的旋转轴位于所述目标容纳空间一侧,并且所述门体或窗体与所述目标容纳空间关联的墙体平行。
在一可选实施例中,响应于对所述目标家具对象执行的旋转操作,调整所述目标家具对象与所述目标容纳空间关联墙体的相对角度,包括:确定所述目标容纳空间在其关联墙体的两个墙面上分别对应的第一指定位置和第二指定位置的坐标;根据所述第一指定位置和第二指定位置的坐标分别与所述门体或窗体的旋转轴之间的距离,确定所述门体或窗体的旋转角度和旋转方向,并根据所述旋转角度和旋转方向,将所述门体或窗体调整为关闭状态。
在一可选实施例中,在安装过程中调整所述目标家具对象与所述目标容纳空间的安装关系,还包括:在所述安装关系不满足用户需求的情况下,展示所述目标家具对象与所述目标容纳空间的安装参数编辑界面;响应于在所述安装参数编辑界面上执行的编辑操作,获取所述目标家具对象与所述目标容纳空间的目标安装参数,并按照所述目标安装参数调整所述目标家具对象与所述目标容纳空间的安装关系。
在一可选实施例中,还包括:响应于对所述目标家具对象的隐藏操作,在所述三维空间模型中隐藏所述目标家具对象;和/或,响应于所述目标对家具对象的删除操作,在所述三维空间模型中删除所述目标家具对象,并在所述目标家具对象对应的家具对象列表中将所述目标家具对象标记为未选中状态。
在一可选实施例中,还包括:在成功安装或删除所述目标家具对象的情况下,更新所述目标家具对象与所述目标容纳空间的关联关系。
本申请实施例还提供一种电子终端设备,包括:处理器和存储器,在所述处理器执行所述计算机程序时,用于实现所述方法中的任一步骤。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器实现所述方法中的各步骤。
在本申请实施例中,根据选择的目标家具对象可以确定承载目标家具对象的目标容纳空间,或者根据选择的目标容纳空间可以确定目标家具对象,对用户而言,多样的选择方式更方便操作;并且,在将目标家具对象安装至目标容纳空间过程中,可以适应性调整目标家具对象与目标容纳空间之间的安装关系,以得到符合用户安装需求的安装关系,有助于满足用户对家具对象的多样性安装需求。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a为本申请实施例提供的一种图形用户界面的示意图;
图1b为本申请实施例提供的一种在线家装方法的流程图;
图1c为本申请实施例提供的一种确定目标容纳空间的示意图;
图1d为本申请实施例提供的一种对门体执行翻转操作的示意图;
图1e为本申请实施例提供的一种确定门体旋转轴方向的示意图;
图1f为本申请实施例提供的一种对门体执行旋转操作的示意图;
图2为本申请实施例提供的一种电子终端设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决现有在线家装方案中无法对门体、窗体、门框、窗框等家具进行在线装修的问题,本申请实施例提供了一种在线家装方法,可以根据用户的需求对指定门体、窗体或门框、窗框等家具在线家装,能够满足用户更为丰富的在线家装需求。该方法可应用于电子终端设备,其中,电子终端提供有图形用户界面,以供用户在图形用户界面上对家具对象执行在线家装操作。
图1a为本申请实施例提供的图形用户界面的示意图,如图1a所示,图形用户界面包括家具对象选择区10和的三维空间模型展示区20;其中,家具对象选择区10中包括多个家具对象类型选项。例如,家具对象类型选项包括但不限于门体类型、窗体类型、门框类型以及窗框类型;其中,每个家具对象类型选项对应有家具对象列表,家具对象列表中包括多个家具对象;例如,如图1a所示,在门体类型中的单扇门体被触发的情况下,可以展示单扇门体对应的单扇门体列表,其中包括6种单扇门体,用户可从中选择任一种单扇门体作为目标门体安装到三维空间模型中对应的容纳空间中。
如图1a所示,三维空间模型展示区20中包括待家装房屋对应的三维空间模型;其中,三维空间模型中包括多个空间对象,每个空间对象包括至少一个容纳空间,分别用于承载不同类型的家具对象。在本申请实施例中,每个空间对象对应一个物理房间,每个容纳空间对应物理房间中的门洞或窗洞,每个容纳空间的类型与其承载的家具对象的类型对应。例如,承载门体或门框的容纳空间的类型与门体或门框的类型对应,承载窗体或窗框的容纳空间的类型与窗体或窗框的类型对应。
图1b为本申请实施例提供的在线家装方法的流程图,如图1b所示,方法包括:
S1、响应于第一操作,从多个候选家具对象中确定待家装的目标家具对象,根据目标家具对象的类型和至少一个容纳空间的类型,确定承载目标家具对象的目标容纳空间;或者,响应于第二操作,确定目标容纳空间,根据目标容纳空间的类型,确定目标容纳空间承载的目标家具对象;
S2、将目标家具对象安装至目标容纳空间,并在安装过程中调整目标家具对象与目标容纳空间的安装关系,以得到符合用户需求的目标安装关系。
在本申请实施例中,不限定用户对家具对象的在线家装方式。可选地,用户可以先确定目标家具对象,再将目标家具对象安装在用于承载目标家具对象的目标容纳空间中;也可以先确定用于承载目标家具对象的目标容纳空间,再选择需要安装的目标家具对象,具体的安装方式可由用户按需灵活选择。基于此,在用户选择先确定目标家具对象的情况下,电子终端设备可以响应用户在图形用户界面上触发的第一操作,并从多个候选家具对象中确定待家装的目标家具对象,以及根据目标家具对象的类型和至少一个容纳空间的类型,确定承载目标家具对象的目标容纳空间;在用户选择先确定目标容纳空间的情况下,电子终端设备可以响应用户在图形用户界面上触发的第二操作,并根据第二操作确定目标容纳空间,以及根据目标容纳空间的类型,确定目标容纳空间承载的目标家具对象。
在本申请实施例中,第一操作为用户针对家具对象列表中任一家具对象的拖动操作,则在响应到用户对任一家具对象触发拖动操作之前,用户可以从家具对象选择区10中选择目标家具对象类型,并在展示的与目标家具对象类型对应的第一家具对象列表中选择任一家具对象对其执行拖动操作。基于此,在响应到用户对任一家具对象触发拖动操作的情况下,可以识别被拖动的家具对象,并将该家具对象确定为目标家具对象。
在本申请实施例中,可预先存储三维空间模型中各容纳空间的信息和各墙体与各容纳空间之间的关联信息;其中,容纳空间的信息包括但不限于容纳空间的标识、中心坐标、容纳空间的长、宽、高等尺寸信息以及容纳空间与家具对象的类型对应关系;各墙体与各容纳空间之间的关联信息是指各墙体标识与其关联的容纳空间标识集合之间的对应关系。此外,本申请实施例还预先存储有各容纳空间与墙体标识之间的对应关系,以用于建立容纳空间与墙体之间的关联关系,具体可参见下述示例。
示例1,以容纳空间为门洞为例,对应的门洞信息如下所示:
示例2,以容纳空间为窗洞为例,对应的窗洞信息如下所示:
示例3,墙体与各容纳空间之间的关联信息如下所示:
示例4,容纳空间与墙体之间的标识对应关系如下所示:
在上述示例中,关联有容纳空间的墙体可以关联至少一个容纳空间,在响应到用户对目标家具对象触发的拖动操作的情况下,可以通过确定拖动操作在三维空间模型中的拖动结束位置及拖动结束位置在一个体上或者在多个墙体之间,确定用于承载目标家具对象的目标容纳空间。
而且,对于三维空间模型中的墙体而言,每个墙体可以包括正反两个墙面,那么基于墙体的墙体数据,也可以获取得到其每个墙面的墙面相关数据。相应地,在本申请实施例中,在建立墙体与容纳空间之间的关联关系时,可以将墙体作为整体建立其与各容纳空间之间的关联关系,也可以对墙体进行拆分,建立墙体中每个墙面与容纳空间之间的对应关系,对此本申请实施例不加以限定。
假设以上述第一种方式建立墙体与容纳空间之间的关联关系,可以参照本申请实施例中的方式进行在线家装,假设以上述第二种方式建立墙体中墙面与容纳空间之间的关联关系,此时的家装方式与第一种方式类似,可以根据墙面与容纳空间之间的关联关系,确定容纳空间,具体可以参考第一种方式,则在此不加以赘述。
在一可选实施例中,若拖动结束位置在一个墙体上,可以根据三维空间模型中墙体与容纳空间的关联关系,确定该墙体关联的至少一个容纳空间;其中,至少一个容纳空间的类型可以相同也可以不同。在另一可选实施例中,若拖动结束位置在多个墙体之间,可以根据三维空间模型中墙体与容纳空间的关联关系,确定多个墙体共同关联的至少一个容纳空间;进一步,可以从至少一个容纳空间中确定能够承载目标家具对象的目标容纳空间。其中,拖动结束位置在多个墙体之间是指拖动结束位置位于多个墙体之间的容纳空间中,该容纳空间可用于安装目标家具对象,本申请实施例中预先存储有该容纳空间与其周围多个墙体之间的关联关系。
在本申请实施例中,不限定从至少一个容纳空间中确定能够承载目标家具对象的目标容纳空间的具体实现方式,可以先从至少一个容纳空间中确定候选容纳空间,再从候选容纳空间中确定目标容纳空间。例如,可以分别确定拖动结束位置与至少一个容纳空间指定位置的坐标之间的距离,并将对应最小距离的指定位置所属的容纳空间作为候选容纳空间;其中,指定位置可以为容纳空间的左下角、右下角或中心点对应的坐标。
例如,用户在将目标家具对象向容纳空间拖动并在拖动结束时,拖动结束位置并没有精准的停在容纳空间中,如图1c所示,拖动结束位置所在的墙体关联有容纳空间1和容纳空间2,拖动结束位置位于该墙体上且位于两个容纳空间之间,假设以两个容纳空间的中心点为指定位置,则可以根据两个容纳空间的中心点坐标分别与拖动结束位置之间的距离,确定哪个容纳空间离拖动结束位置更近,以确定用户想要将目标家具对象安装在哪个容纳空间中。如图1c所示,经过计算确定容纳空间1与拖动结束位置之间的距离小于容纳空间2与拖动结束位置之间的距离,则可以确定容纳空间1为候选容纳空间。
进一步,可以确定候选容纳空间的类型是否与目标家具对象的类型对应,若是,则确定候选容纳空间为承载目标家具对象的目标容纳空间。例如,目标家具对象为门体或门框,候选容纳空间为门洞,则确定候选容纳空间为目标容纳空间;又例如,目标家具对象为门体或门框,候选容纳空间为窗洞,则确定候选容纳空间不是目标容纳空间。进一步可选地,在确定候选容纳空间不是目标容纳空间的情况下,可以通过图文、语音等形式提示用户操作错误;或者,也可以按照至少一个容纳空间分别与拖动结束位置之间的距离由小到大排序,依次判断是否有与目标家具对象类型对应的容纳空间;若有,则确定将类型对应的容纳空间作为目标容纳空间,否则向用户输出操作错误的提示信息。例如,在图1c所示,若容纳空间1与目标家具对象的类型不对应,则可以进一步判断容纳空间2与目标家具对象的类型是否对应,并在判断类型对应的情况下,确定容纳空间2为目标容纳空间,否则向用户输出操作错误的提示信息。
在本申请实施例中,第二操作为针对三维空间模型中目标位置的触发操作,可选地,该触发操作可以为点击操作;基于此,在响应到用户对三维空间模型中目标位置的点击操作的情况下,可以根据目标位置确定目标容纳空间。在本申请实施例中,不限定根据目标位置确定目标容纳空间的方式,在一可选实施例中,若目标位置在容纳空间中,可以确定用户想要在当前容纳空间中添加家具对象,则可以将该容纳空间作为目标容纳空间;在另一可选实施例中,若目标位置在家具对象上,可以确定用户想要对该家具对象执行更换操作,则可以将承载该家具对象的容纳空间作为目标容纳空间;在另一可选实施例中,若目标位置在一个墙体上,可能因用户点击的目标位置没有精准落在容纳空间中或家具对象上,则可以确定与目标位置最近的容纳空间作为目标容纳空间。
可选地,在确定与目标位置最近的容纳空间时,可以根据三维空间模型中墙体与容纳空间的关联关系,获取目标位置所在墙体关联的至少一个容纳空间,分别确定目标位置与至少一个容纳空间指定位置的坐标之间的距离,并将对应最小距离的指定位置所属的容纳空间作为目标容纳空间。其中,指定位置可以为至少一个容纳空间的左下角、右下角或中心点,在此不做限定。
进一步,在确定目标容纳空间的情况下,可以根据容纳空间与家具对象的类型对应关系以及家具对象与容纳空间的承载关系,确定用户想要安装的目标家具对象类型。在本申请实施例中,不限定确定目标家具对象类型的具体方式,在一可选实施例中,若目标位置在容纳空间中或在一个墙上,可以将与目标容纳空间的类型对应的家具对象类型作为目标家具对象类型。在另一可选实施例中,若目标位置在家具对象上,可以将家具对象的类型作为目标家具对象类型。
例如,目标位置在容纳空间中,则将该容纳空间作为目标容纳空间;若该目标容纳空间为墙洞,则可以将门体类型或门框类型作为目标家具对象类型。又例如,目标位置在一个墙体上,则将该墙体关联的容纳空间中与目标位置最近的容纳空间作为目标容纳空间;若该目标容纳空间为窗洞,则可以将窗体类型或窗框类型作为目标家具对象类型。又例如,若目标位置所在的家具对象为门体,则确定目标家具对象为门体类型;若目标位置所在的家具对象为窗框,则确定目标家具对象为窗框类型。
进一步,在确定目标家具对象类型的情况下,可以向用户展示与目标家具对象类型对应的第二家具对象列表,以及响应用户对第二家具对象列表中任一家具对象的触发操作,以供用户从第二家具对象列表中选择目标家具对象。可选地,可以在目标位置附近以弹窗或浮层的方式展示第二家具对象列表;或者,也可在家具对象选择区中展示第二家具对象列表,具体实现形式不做限定。基于此,在用户从第二家具对象列表中选择目标家具对象的情况下,可以将目标家具对象安装至目标容纳空间中。
在本申请实施例中,在家具对象没有被安装之前,可以为目标家具对象设置一默认的尺寸信息,则在将目标家具对象安装至目标容纳空间中时,为了使目标家具对象与目标容纳空间适配,需要根据目标容纳空间的尺寸信息调整目标家具的尺寸信息。在调整过程中,根据目标容纳空间类型以及其是否已承载家具对象,调整的方式也会不同。
在一可选实施例中,若目标容纳空间未承载家具对象,可以直接将目标家具对象安装至目标容纳空间中。因此,可以直接根据目标容纳空间的尺寸信息调整目标家具对象的尺寸信息,使目标家具对象与目标容纳空间适配,并根据目标容纳空间的中心坐标和目标家具对象的中心位置,将目标家具对象展示在目标容纳空间中;以及在成功安装目标家具对象的情况下,在目标家具对象对应的家具对象列表中将目标家具对象标记为选中状态,表示目标家具对象已被安装。
在另一可选实施例中,若目标容纳空间已承载家具对象,并且该家具对象的类型与目标家具对象的类型不同,说明该家具对象与目标家具对象可以组合安装在目标容纳空间中,则可以根据已承载家具对象和目标容纳空间分别对应的尺寸信息调整目标家具对象的尺寸信息,并根据已承载家具对象的尺寸信息、目标容纳空间的中心坐标以及目标家具对象的中心位置,将目标家具对象展示在目标容纳空间中。在成功安装目标家具对象的情况下,在目标家具对象对应的家具对象列表中将目标家具对象标记为选中状态,表示目标家具对象已被安装。可选地,在调整目标家具对象的尺寸信息时,可以根据已承载家具对象的宽度和目标容纳空间的尺寸信息,确定目标家具对象对应的目标尺寸信息,并按照目标尺寸信息调整目标家具对象的尺寸信息。
例如,目标容纳空间为门洞,已承载的家具对象类型为门框,目标家具对象为门体,则门洞的宽度减去门框两边的宽度即为门体的宽度;门洞的高度减去门框上边的宽度就是门体的高度。又例如,目标容纳空间为窗洞,已承载的家具对象类型为窗框,目标家具对象为窗体,则窗洞的宽度减去窗框两边的宽度即为窗体的宽度;窗洞的高度减去窗框上边和下边的宽度就是窗体的高度。进一步,在确定门体或窗体的目标尺寸信息的情况下,可以按照目标尺寸信息,将门体展示在门框中,或者将窗体展示在窗框中。
在另一可选实施例中,若目标容纳空间已承载家具对象的类型与目标家具对象的类型相同,说明用户想要在目标容纳空间中将已承载的家具对象替换为目标家具对象。由于已承载的家具对象与目标容纳空间是适配的,则可以直接按照已承载家具对象的尺寸信息调整目标家具对象的尺寸信息,并在目标容纳空间中将已承载家具对象替换为目标家具对象;以及在已承载家具对象对应的家具对象列表中将已承载家具对象标记为未选中状态,表示该家具对象没有被安装,并在成功安装目标家具对象的情况下,在目标家具对象对应的家具对象列表中将目标家具对象标记为选中状态,表示目标家具对象已被安装。
下面以门体和窗体为例,结合上述预存的门体和窗体的信息,对确定门体位置以及调整门体和窗体尺寸信息的过程进行示例性说明。
示例5,确定门体的位置信息(门洞内包括门框):
示例6,调整门体的尺寸信息(门洞内包括门框):
示例7,调整窗体的尺寸信息(窗洞内不包括窗框):
需要说明的是,在上述实施例中,无论是用户以拖拽方式将目标家具对象安装至目标容纳空间中,还是在目标容纳空间处以点击方式安装目标家具对象,当目标家具对象被安装至目标容纳空间中时,是以默认的方式展示在目标容纳空间中,此时目标容纳空间与目标家具对象之间的关系可视为默认的安装关系。进一步可选地,在默认的安装关系不满足用户需求的情况下,用户还可以主动触发目标家具对象,调整目标家具对象与目标容纳空间之间的安装关系。
在本申请实施例中,不限定用户调整目标家具对象与目标容纳空间之间安装关系的具体操作,可选地,用户可以触发目标家具对象,对目标家具对象执行翻转操作、旋转操作、隐藏操作以及删除操作中的任一种或多种。进一步,本申请实施例也不限定对目标家具对象执行上述任一种或多种操作的具体方式,可选地,可以通过拖拽、点击、选择操作选项或者直接编辑操作参数等任一种方式,具体可根据实际需求选择。
例如,在目标家具对象与目标容纳空间之间的相对角度不满足用户的安装需求时,用户可以直接将目标家具对象拖拽至与目标容纳空间具有合适的相对角度;或者,用户可以通过点击图形用户界面上的坐标点来调整目标家具对象与目标容纳空间具有合适的相对角度;或者,用户可以针对目标家具对象选择“翻转”或“旋转”等操作选项来调整目标家具对象与目标容纳空间的相对角度;或者,在响应到用户针对目标家具对象触发的编辑操作的情况下,还可以展示目标家具对象与目标容纳空间之间的安装参数编辑界面,用户可以通过该编辑界面编辑目标家具对象与目标容纳空间的安装参数;进一步,在响应到用户在安装参数编辑界面上执行的编辑操作时,可以获取用户编辑的目标家具对象与目标容纳空间之前的目标安装参数,并按照目标安装参数调整目标家具对象与目标容纳空间之间的安装角度。
在本申请可选实施例中,目标家具对象可以为门体或窗体,对门体或窗体执行翻转操作是指将门体或窗体对应的旋转轴翻转到另一侧,并且将门体或窗体翻转为镜像形式。例如,以用户对门体执行翻转操作为例,如图1d所示,假设门体初始状态时旋转轴在门体正面的左侧,则在响应到用户对门体执行翻转操的情况下,可以将门体镜像翻转,并将门体的旋转轴从门体正面左侧翻转到正面右侧。需要说明的是,在对门体或窗体执行翻转操作时,如果门体或窗体不是关闭状态,则在镜像翻转之后,门体或窗体的旋转轴将位于目标容纳空间之外。因此,在响应到用户对门体或窗体执行翻转操作的情况下,可以先确定门体或窗体的旋转轴位置,并根据旋转轴位置确定门体或窗体是否为关闭状态;若门体或窗体不是关闭状态,可以重新确定门体或窗体的旋转轴目标位置,并根据旋转轴目标位置将门体或窗体调整为关闭状态,以使门体或窗体的旋转轴位于目标容纳空间中,保证门体或窗体与目标容纳空间关联的墙体平行,这样,在做翻转之后,门体或窗体的旋转轴仍然位于目标容纳空间中。
在本申请实施例中,不限定确定门体或窗体旋转轴位置的具体方式,可以先确定门体或窗体旋转轴的方向,再确定旋转轴位于门体或窗体上的具体位置。可选地,可以为门体或窗体预先设置初始状态对应的旋转轴属性值,以表示旋转轴相对于门体或窗体的正面在左侧或右侧;例如,以门体为例,假设门体的旋转轴属性值为1表示旋转轴在门体正面的左侧,门体的旋转轴属性值为2表示旋转轴在门体正面的右侧。进一步,结合对门体或窗体做翻转操作的次数,可以确定旋转轴的当前位于门体或窗体正面的哪一侧;例如,以门体为例,初始状态门体的旋转轴在门体正面的左侧,对应的旋转轴属性值为1,若对门体做了一次翻转,则门体的旋转轴变为门体正面的右侧,对应的旋转轴属性值由1变为2;若对门体连续做了两次翻转,则门体的旋转轴又变为门体正面的左侧,对应的旋转轴属性值变化过程为由1变为2再变为1;基于上述,可以确定旋转轴的位于门体或窗体正面的左侧或右侧。
进一步,可以结合门体或窗体在世界坐标系下的位置关系,确定旋转轴的具体位置。以门体为例,图1e为门体的俯视图,其中,门体自身坐标系的x轴与世界坐标系的X轴之间具有一定的角度θ;其中,门体自身坐标系的z轴垂直于门面并指向门面正前方,y轴为门体的纵向方向,x轴方向为门体横向方向并沿着门面从左指向右,如图1e所示,门体自身坐标系的x轴为C1到C2的方向。在确定门体的旋转轴位置时,可以将门体自身坐标系的x轴方向确定为单位向量的方向;假设门洞中包括门框,如图1e所示,根据门洞与门框的宽度可以确定门洞的中轴,即门体的中轴,在门体安装到门洞中时,门洞和门体的中心坐标在该中轴上。如图1e所示,将原点O确定在中轴上,根据门体的宽度可以确定与门体单位向量方向相同的向量a和与门体单位向量方向相反向量b;基于此,根据门体自身坐标系可以确定旋转轴在门体正面的左侧,则对原点O处的0向量与向量b加和,即可确定门体旋转轴的具体位置为C1点。
基于上述,在确定了门体或窗体的旋转轴位置情况下,结合门体自身的坐标系以及在世界坐标系下与墙体之间的相对位置关系,可以确定门体或窗体与目标容纳空间关联的墙体是否平行,即门体或窗体在容纳空间中是否为关闭状态。假设以门体为例,在世界坐标系下,定义当门体的正面与世界坐标系下的Z轴方向垂直,纵向方向与世界坐标系下的Y轴方向相同时,门体的旋转角度为0,此时门体的横向方向为世界坐标系下的X轴方向;对于墙体,其纵向方向与世界坐标系下的Y轴方向相同,横向方向在世界坐标系下的XOZ平面上。基于此,根据门体的横向方向即门体自身坐标系的x轴方向与墙体的横向方向在世界坐标系下XOZ平面上的夹角,可以确定门体与目标容纳空间关联的墙体是否平行。
需要说明的是,在本申请实施例中,除了不限定墙体的横向方向和纵向的确定方式,可选地,针对每个墙体可以将墙体在横向上从左至右的方向确定为横向方向,将墙体在纵向上从下至上确定为纵向方向,当然并不限于此。进一步可选地,在上述示例1和示例2中,也可以在walls:[]中存储门洞关联的墙面标识,在lefts:[]中存储门洞所在墙面的门洞左下角的坐标值,在rights:[]中存储门洞所在墙面的门洞右下角的坐标值;在上述示例3中,wallId1:{rotationY:0,doors:[],windows:[]}也可以表示墙面对应的旋转方向值以及墙面上所有门洞组成的集合和墙面上所有窗洞组成的集合;上述示例4也可以表示容纳空间与墙面之间的标识对应关系。基于此,还可以根据墙面的方向确定墙体的横向方向和纵向,关于墙面方向的确定方式可参见下述实施例的说明。
基于上述,在本申请实施例中,每个容纳空间可以至少关联两个墙面;例如,容纳空间开设在墙体中,则该容纳空间关联的至少两个墙面为其所在墙体的正反两个墙面;又例如,容纳空间位于分别属于不同墙体的至少两个墙面之间,则该容纳空间关联的至少两个墙面即为该容纳空间边缘墙体上的墙面。在确定门体或窗体与目标容纳空间关联的墙体是否平行时,可从目标容纳空间关联的墙面中选择一个目标墙面作为参考基准。可选地,可以将目标容纳空间分别在不同墙面上的任意位置作为指定位置,并将与门体的旋转轴之间距离最小的指定位置所属的墙面确定为目标墙面;其中,指定位置可以为目标容纳空间分别在不同墙面上的左下角或右下角,当然并不限于此。进一步,也不限定目标墙面的横向方向在世界坐标系下XOZ平面上的具体方向,可选地,可将与目标墙面共同围成的空间对象的所有墙面按照顺时针或逆时针排列的方向确定为目标墙面的横向方向。基于此,可以确定将门体调整为与目标墙面平行的旋转角度和旋转方向。
在本申请实施例中,不限定根据旋转角度和旋转方向将门体调整为与目标墙面平行的具体方式,在一可选实施例中,可以根据目标墙面的横向方向与门体的横向方向在世界坐标系下XOZ平面上的夹角和相对方向调整门体,使门体或与目标墙面平行。在另一可选实施例中,根据目标墙面的横向方向,可预先存储目标墙面的横向方向在世界坐标系下XOZ平面上的旋转角和旋转方向,作为目标墙面在世界坐标系下对应的旋转值;基于此,在确定目标墙面的情况下,可以直接将目标墙面的旋转值作为门体在世界坐标系下的旋转值,以调整门体,使门体与目标墙面平行。
例如,以门体为例,图1f为门体与门洞以及门洞所关联的墙面wall1和wall2的俯视图;其中,门洞在墙面wall1和wall2上的左下角坐标分别为点1和点2,门体旋转轴位置为点C;图1f上半部分为门体与门洞关联的两个墙面wall1和wall2初始状态,门体与墙面wall1和wall2不平行。根据点1、点2和点C,可以确定门洞在墙面wall1上的左下角坐标点1距离门体旋转轴点C的距离小于门洞在墙面wall2上的左下角坐标点2距离门体旋转轴点C的距离;因此,确定墙面wall1为目标墙面。在墙面没有设置旋转值的情况下,如图1f所示,在世界坐标系下XOZ平面上,包含墙面wall1在内的所有墙面围成的房间B的墙面的横向方向与墙面wall2在内的所有墙面围成的房间A的墙面横向方向沿顺时针方向相差180度;基于此,可以确定目标墙面的横向方向与门体的横向方向在世界坐标系下XOZ平面上的相对角度和相对方向,进而可以调整门体使门体墙面wall1平行。在墙面设置有旋转值的情况下,可以将墙面wall1的旋转值作为门体的旋转值,以调整门体使门体墙面wall1平行;其中,各墙面的旋转值是根据各墙面的横向方向在世界坐标系下XOZ平面上的旋转角和旋转方向确定的。
基于上述,在确定门体或窗体为关闭状态的情况下,可以将门体或窗体调整为镜像对称形式,并更新门体或窗体对应的旋转轴属性值。另外,在响应到用户主动对门体或窗体执行旋转操作的情况下,可以调整门体或窗体与目标墙面的相对角度,使门体或窗体与目标墙面平行,即门体或窗体调整为关闭状态;关于具体的调整过程可参见上述实施例,在此不再赘述。
需要说明的是,在实际家装需求中,通常在房屋内部进行家装,因此,在确定容纳空间关联的墙面时,可以不考虑房屋空间外侧墙体外墙面;对于多个墙面共同关联同一目标容纳空间的情况,例如两个平行相对的墙面之间的一个目标容纳空间,可以该目标容纳空间中放置一扇推拉门,在调整该推拉门与两侧墙面之间的相对角度时,可以根据两侧墙面分别对应的放置位置,将推拉门与两侧墙面调整为垂直关系;关于如何在世界坐标系下XOZ平面确定推拉门与两侧墙面之间的相对角度和相对方向,可以参见上述实施例。
此外,用户还可以对目标家具对象执行隐藏、删除等操作,在响应到用户对目标家具对象执行隐藏操作的情况下,可以在三维空间模型中隐藏目标家具对象;在响应到用户对目标家具对象执行删除操作的情况想,可以在三维空间模型中删除目标家具对象,并在目标家具对象对应的家具对象列表中将目标家具对象标记为未选中状态。进一步,在成功安装或删除目标家具对象的情况下,还可以更新目标家具对象与目标容纳空间的关联关系,以供继续对该三维空间模型进行在线家装时确定目标家具对象与目标容纳空间的关联关系。
在本申请实施例中,不限定上述各项操作针对的家具对象类型,考虑在实际使用中,门框或窗框在成功安装的情况下很少会调整,因此,本申请上述实施例以门体或窗体为例对上述操作进行示例性说明。进一步,也不限定家具对象的具体样式,上述实施例中以单扇门体和单扇窗体为例进行说明,对于双开的双扇门体或双扇窗体也同样适用,对于这类家具对象,在调整尺寸信息或与墙体或墙面之间的相对角度时,可参考上述实施例。另外,对于推拉门或推拉窗的情况,在实际使用中不涉及旋转操作,关于其他相关操作的具体过程,可参见上述实施例。
在本申请实施例中,根据选择的目标家具对象可以确定承载目标家具对象的目标容纳空间,或者根据选择的目标容纳空间可以确定目标家具对象,对用户而言,多样的选择方式更方便操作;并且,在将目标家具对象安装至目标容纳空间过程中,可以适应性调整目标家具对象与目标容纳空间之间的安装关系,以得到符合用户安装需求的安装关系,有助于满足用户对家具对象的多样性安装需求。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤S1至步骤S2的执行主体可以为设备A;又比如,步骤S1的执行主体可以为设备A,步骤S2的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如S1、S2等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请实施例还提供一种电子终端设备,图2为电子终端设备的结构示意图,如图2所示,电子终端设备包括:处理器21以及存储有计算机程序的存储器22;其中,处理器21和存储器22可以是一个或多个。
存储器22,主要用于存储计算机程序,这些计算机程序可被处理器21执行,致使处理器21控制电子终端设备实现相应功能、完成相应动作或任务。除了存储计算机程序之外,存储器22还可被配置为存储其它各种数据以支持在电子终端设备上的操作。这些数据的示例包括用于在电子终端设备上操作的任何应用程序或方法的指令。
存储器22,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请实施例中,并不限定处理器21的实现形态,例如可以是但不限于CPU、GPU或MCU等。处理器21可以看作是电子终端设备的控制系统,可用于执行存储器22中存储的计算机程序,以控制电子终端设备实现相应功能、完成相应动作或任务。值得说明的是,根据电子终端设备实现形态以及所处于场景的不同,其所需实现的功能、完成的动作或任务会有所不同;相应地,存储器22中存储的计算机程序也会有所不同,而处理器21执行不同计算机程序可控制电子终端设备实现不同的功能、完成不同的动作或任务。
在一些可选实施例中,如图2所示,电子终端设备还可包括:显示器23、电源组件24以及通信组件25等其它组件。图2中仅示意性给出部分组件,并不意味着电子终端设备只包括图2所示组件,针对不同的应用需求,电子终端设备还可以包括其他组件,例如,在存在语音交互需求的情况下,如图2所示,电子终端设备还可以包括音频组件26。关于电子终端设备可包含的组件,具体可视电子终端设备的产品形态而定,在此不做限定。
在本申请实施例中,显示器23用于显示图形用户界面,该图形用户界面上展示有待家装房屋对应的三维空间模型;三维空间模型中包括多个空间对象,每个空间对象包括至少一个容纳空间,分别用于承载不同类型的家具对象,其中,容纳空间的类型与其承载的家具对象的类型对应。
在本申请实施例中,当处理器21执行存储器22中的计算机程序时,以用于:响应于第一操作,从多个候选家具对象中确定待家装的目标家具对象,根据目标家具对象的类型和至少一个容纳空间的类型,确定承载目标家具对象的目标容纳空间;或者,响应于第二操作,确定目标容纳空间,根据目标容纳空间的类型,确定目标容纳空间承载的目标家具对象;将目标家具对象安装至目标容纳空间,并在安装过程中调整目标家具对象的与目标容纳空间的安装关系,以得到符合用户需求的目标安装关系。
需要说明的是,关于上述电子终端设备中处理器的具体功能,可参见上述方法实施例,在此不再赘述。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子终端设备执行的各步骤。
上述实施例中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述实施例中的显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
上述实施例中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述图实施例中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (18)
1.一种在线家装方法,其特征在于,应用于电子终端设备,所述电子终端设备提供有图形用户界面,所述图形用户界面上展示有待家装房屋对应的三维空间模型;所述三维空间模型中包括多个空间对象,每个空间对象包括至少一个容纳空间,分别用于承载不同类型的家具对象,所述容纳空间的类型与其承载的家具对象的类型对应,所述家具对象的类型包括门体、门框或窗框、窗体;所述方法包括:
响应于第一操作,从多个候选家具对象中确定待家装的目标家具对象,根据所述目标家具对象的类型和至少一个容纳空间的类型,确定承载所述目标家具对象的目标容纳空间;或者,
响应于第二操作,确定目标容纳空间,根据所述目标容纳空间的类型,确定所述目标容纳空间承载的目标家具对象;
将所述目标家具对象安装至所述目标容纳空间,并在安装过程中调整所述目标家具对象的与所述目标容纳空间的安装关系,以得到符合用户需求的目标安装关系。
2.根据权利要求1所述的方法,其特征在于,所述图形用户界面上还包括家具对象选择区,所述家具对象选择区中包括多个家具对象类型选项,每个家具对象类型选项对应有家具对象列表,所述家具对象列表中包括多个家具对象;响应于第一操作,从多个候选家具对象中确定待家装的目标家具对象,包括:
响应于选择操作,从所述家具对象选择区中选择目标家具对象类型,展示与所述目标家具对象类型对应的第一家具对象列表;
响应于对所述第一家具对象列表中任一家具对象的触发操作,从所述第一家具对象列表中选择所述目标家具对象。
3.根据权利要求2所述的方法,其特征在于,对所述目标家具对象的触发操作为拖动操作,所述方法还包括:
确定所述拖动操作在所述三维空间模型中的拖动结束位置;
若所述拖动结束位置在一个墙体上,根据所述三维空间模型中墙体与容纳空间的关联关系,确定所述墙体关联的至少一个容纳空间;
若所述拖动结束位置在多个墙体之间,获取所述多个墙体共同关联的至少一个容纳空间。
4.根据权利要求3所述的方法,其特征在于,根据所述目标家具对象的类型和至少一个容纳空间的类型,确定承载所述目标家具对象的目标容纳空间,包括:
分别确定所述拖动结束位置与所述至少一个容纳空间指定位置的坐标之间的距离,将对应最小距离的指定位置所属的容纳空间作为候选容纳空间;
若所述候选容纳空间的类型与所述目标家具对象的类型对应,则将所述候选容纳空间作为承载所述目标家具对象的目标容纳空间。
5.根据权利要求1所述的方法,其特征在于,响应于第二操作,确定目标容纳空间,包括:
响应于对所述三维空间模型中目标位置的触发操作;
若所述目标位置在容纳空间中,将所述容纳空间作为目标容纳空间;
若所述目标位置在家具对象上,将承载所述家具对象的容纳空间作为目标容纳空间;
若所述目标位置在一个墙体上,确定与所述目标位置最近的容纳空间作为目标容纳空间。
6.根据权利要求5所述的方法,其特征在于,若所述目标位置在一个墙体上,确定与所述目标位置最近的容纳空间作为目标容纳空间,包括:
根据所述三维空间模型中墙体与容纳空间的关联关系,获取所述墙体关联的至少一个容纳空间;
分别确定所述目标位置与所述至少一个容纳空间指定位置的坐标之间的距离,将对应最小距离的指定位置所属的容纳空间作为目标容纳空间。
7.根据权利要求6所述的方法,其特征在于,不同类型的家具对象对应有家具对象列表,所述家具对象列表中包括多个家具对象;根据所述目标容纳空间的类型,确定所述目标容纳空间承载的目标家具对象,包括:
若所述目标位置在容纳空间中或在一个墙体上,将与所述目标容纳空间的类型对应的家具对象类型作为目标家具对象类型;若所述目标位置在家具对象上,将所述家具对象的类型作为目标家具对象类型;
展示与所述目标家具对象类型对应的第二家具对象列表,响应于对所述第二家具对象列表中任一家具对象的触发操作,从所述第二家具对象列表中选择目标家具对象。
8.根据权利要求4或7所述的方法,其特征在于,将所述目标家具对象安装至所述目标容纳空间,包括:
若所述目标容纳空间未承载家具对象,直接根据所述目标容纳空间的中心坐标和所述目标家具对象的中心位置,将所述目标家具对象展示在所述目标容纳空间中;
若所述目标容纳空间已承载与所述目标家具对象类型不同的家具对象,根据已承载家具对象的中心坐标,将所述目标家具对象展示在所述目标容纳空间中;
若所述目标容纳空间已承载与所述目标家具对象类型相同的家具对象,在所述目标容纳空间中将已承载家具对象替换为所述目标家具对象,并在所述已承载家具对象对应的家具对象列表中将所述已承载家具对象标记为未选中状态;
在成功安装所述目标家具对象的情况下,在所述目标家具对象对应的家具对象列表中将所述目标家具对象标记为选中状态。
9.根据权利要求8所述的方法,其特征在于,在安装过程中调整所述目标家具对象与所述目标容纳空间的安装关系,包括:
若所述目标容纳空间未承载家具对象或者已承载与所述目标家具对象类型相同的家具对象,直接根据所述目标容纳空间的尺寸信息调整所述目标家具对象的尺寸信息;
若所述目标容纳空间已承载与所述目标家具对象类型不同的家具对象,根据已承载家具对象和所述目标容纳空间分别对应的尺寸信息调整所述目标家具对象的尺寸信息。
10.根据权利要求9所述的方法,其特征在于,若所述目标容纳空间已承载与所述目标家具对象类型不同的家具对象,所述已承载家具对象为门框,所述目标家具对象为门体,或者所述已承载家具对象为窗框,所述目标家具对象为窗体;
根据已承载家具对象和所述目标容纳空间分别对应的尺寸信息调整所述目标家具对象的尺寸信息,包括:
根据所述已承载家具对象的宽度和所述目标容纳空间的尺寸信息,确定所述目标家具对象对应的目标尺寸信息,并按照所述目标尺寸信息调整所述目标家具对象的尺寸信息;
相应地,将所述目标家具对象展示在所述目标容纳空间中,包括:
按照所述目标尺寸信息,将所述门体展示在所述门框中,或者将所述窗体展示在所述窗框中。
11.根据权利要求8所述的方法,其特征在于,在安装过程中调整所述目标家具对象与所述目标容纳空间的安装关系,还包括:
在所述安装关系不满足用户需求的情况下,响应于对所述目标家具对象执行的翻转操作,将所述目标家具对象调整为镜像对称形式;和/或,
响应于对所述目标家具对象执行的旋转操作,调整所述目标家具对象与所述目标容纳空间关联墙体的相对角度。
12.根据权利要求11所述的方法,其特征在于,所述目标家具对象为门体或窗体,在将所述目标家具对象调整为镜像对称形式之前,还包括:
确定所述门体或窗体的旋转轴位置,根据所述旋转轴位置确定所述门体或窗体是否为关闭状态;
若所述门体或窗体不是关闭状态,重新确定所述门体或窗体的旋转轴目标位置,并根据所述旋转轴目标位置,将所述门体或窗体调整为关闭状态;
其中,所述关闭状态是指所述门体或窗体的旋转轴位于所述目标容纳空间一侧,并且所述门体或窗体与所述目标容纳空间关联的墙体平行。
13.根据权利要求12所述的方法,其特征在于,响应于对所述目标家具对象执行的旋转操作,调整所述目标家具对象与所述目标容纳空间关联墙体的相对角度,包括:
确定所述目标容纳空间在其关联墙体的两个墙面上分别对应的第一指定位置和第二指定位置的坐标;
根据所述第一指定位置和第二指定位置的坐标分别与所述门体或窗体的旋转轴之间的距离,确定所述门体或窗体的旋转角度和旋转方向,并根据所述旋转角度和旋转方向,将所述门体或窗体调整为关闭状态。
14.根据权利要求8所述的方法,其特征在于,在安装过程中调整所述目标家具对象与所述目标容纳空间的安装关系,还包括:
在所述安装关系不满足用户需求的情况下,展示所述目标家具对象与所述目标容纳空间的安装参数编辑界面;
响应于在所述安装参数编辑界面上执行的编辑操作,获取所述目标家具对象与所述目标容纳空间的目标安装参数,并按照所述目标安装参数调整所述目标家具对象与所述目标容纳空间的安装关系。
15.根据权利要求9-14任一项所述的方法,其特征在于,还包括:
响应于对所述目标家具对象的隐藏操作,在所述三维空间模型中隐藏所述目标家具对象;和/或,
响应于所述目标对家具对象的删除操作,在所述三维空间模型中删除所述目标家具对象,并在所述目标家具对象对应的家具对象列表中将所述目标家具对象标记为未选中状态。
16.根据权利要求15所述的方法,其特征在于,还包括:
在成功安装或删除所述目标家具对象的情况下,更新所述目标家具对象与所述目标容纳空间的关联关系。
17.一种电子终端设备,其特征在于,包括:处理器和存储器,在所述处理器执行计算机程序时,用于实现如权利要求1-16中任一项所述方法中的步骤。
18.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子终端设备的处理器执行时,使得电子终端设备能够执行如权利要求1-16中任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210200221.8A CN114661202B (zh) | 2022-03-02 | 2022-03-02 | 在线家装方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210200221.8A CN114661202B (zh) | 2022-03-02 | 2022-03-02 | 在线家装方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114661202A true CN114661202A (zh) | 2022-06-24 |
CN114661202B CN114661202B (zh) | 2022-11-22 |
Family
ID=82026968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210200221.8A Active CN114661202B (zh) | 2022-03-02 | 2022-03-02 | 在线家装方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114661202B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105741350A (zh) * | 2016-03-09 | 2016-07-06 | 福建省亿鑫海信息科技有限公司 | 有限空间的三维场景自由搭建及展示方法和平台 |
CN108256162A (zh) * | 2017-12-22 | 2018-07-06 | 巧夺天宫(深圳)科技有限公司 | 一种铝天花调整分布设计系统及方法、终端、存储介质 |
CN109685897A (zh) * | 2018-12-15 | 2019-04-26 | 武汉兴联云立方科技有限公司 | 一种一步拖拽绘制门窗洞的户型绘制方法 |
CN109840013A (zh) * | 2017-11-24 | 2019-06-04 | 费雷德里克·巴瓦斯特罗 | 用于设计的增强现实方法与系统 |
CN109858138A (zh) * | 2019-01-28 | 2019-06-07 | 厦门海迈科技股份有限公司 | 基于bim的房间装修构件处理方法、装置、终端及介质 |
CN110032820A (zh) * | 2019-04-19 | 2019-07-19 | 深圳格调网络运营有限公司 | 一种在线三维家居装修换装设计系统 |
CN111369424A (zh) * | 2020-02-10 | 2020-07-03 | 北京城市网邻信息技术有限公司 | 生成目标房屋的三维空间的方法、装置、设备、存储介质 |
CN112016139A (zh) * | 2019-05-29 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 家装家居对象信息处理方法及装置 |
CN112632666A (zh) * | 2020-12-18 | 2021-04-09 | 中国电子科技集团公司第二十研究所 | 一种基于虚拟现实技术的室内装修设计系统及实现方法 |
CN112764654A (zh) * | 2021-01-29 | 2021-05-07 | 北京达佳互联信息技术有限公司 | 组件的吸附操作方法、装置、终端及存储介质 |
CN113609557A (zh) * | 2021-07-26 | 2021-11-05 | 阿里巴巴(中国)有限公司 | 家装布局方法、设备及存储介质 |
CN113761614A (zh) * | 2020-06-05 | 2021-12-07 | 杭州群核信息技术有限公司 | 一种平面家装设计辅助方法 |
-
2022
- 2022-03-02 CN CN202210200221.8A patent/CN114661202B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105741350A (zh) * | 2016-03-09 | 2016-07-06 | 福建省亿鑫海信息科技有限公司 | 有限空间的三维场景自由搭建及展示方法和平台 |
CN109840013A (zh) * | 2017-11-24 | 2019-06-04 | 费雷德里克·巴瓦斯特罗 | 用于设计的增强现实方法与系统 |
CN108256162A (zh) * | 2017-12-22 | 2018-07-06 | 巧夺天宫(深圳)科技有限公司 | 一种铝天花调整分布设计系统及方法、终端、存储介质 |
CN109685897A (zh) * | 2018-12-15 | 2019-04-26 | 武汉兴联云立方科技有限公司 | 一种一步拖拽绘制门窗洞的户型绘制方法 |
CN109858138A (zh) * | 2019-01-28 | 2019-06-07 | 厦门海迈科技股份有限公司 | 基于bim的房间装修构件处理方法、装置、终端及介质 |
CN110032820A (zh) * | 2019-04-19 | 2019-07-19 | 深圳格调网络运营有限公司 | 一种在线三维家居装修换装设计系统 |
CN112016139A (zh) * | 2019-05-29 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 家装家居对象信息处理方法及装置 |
CN111369424A (zh) * | 2020-02-10 | 2020-07-03 | 北京城市网邻信息技术有限公司 | 生成目标房屋的三维空间的方法、装置、设备、存储介质 |
CN113761614A (zh) * | 2020-06-05 | 2021-12-07 | 杭州群核信息技术有限公司 | 一种平面家装设计辅助方法 |
CN112632666A (zh) * | 2020-12-18 | 2021-04-09 | 中国电子科技集团公司第二十研究所 | 一种基于虚拟现实技术的室内装修设计系统及实现方法 |
CN112764654A (zh) * | 2021-01-29 | 2021-05-07 | 北京达佳互联信息技术有限公司 | 组件的吸附操作方法、装置、终端及存储介质 |
CN113609557A (zh) * | 2021-07-26 | 2021-11-05 | 阿里巴巴(中国)有限公司 | 家装布局方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114661202B (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109164964B (zh) | 内容分享方法、装置、终端及存储介质 | |
CN110262274B (zh) | 基于物联网操作系统的智能家居设备控制显示方法及系统 | |
US20210397309A1 (en) | Interface display method and apparatus, and storage medium | |
EP3091426B1 (en) | User terminal device providing user interaction and method therefor | |
US10437414B2 (en) | User terminal device and displaying method thereof | |
TWI609317B (zh) | 智慧型白板互動 | |
US8584038B2 (en) | Techniques for use with a calendar and messaging component | |
CN103747134B (zh) | 用户界面的显示方法及终端 | |
US11106420B2 (en) | Method, device, system and storage medium for information transmission and data processing | |
US10754519B2 (en) | Graphical user interface facilitating uploading of electronic documents to shared storage | |
US20240111473A1 (en) | Distributed display method and terminal for application interface | |
TW201539301A (zh) | 可調適使用者介面窗格管理器 | |
US9298348B2 (en) | Mobile device and method for providing widgets | |
CN106775298A (zh) | 截图的处理方法及装置 | |
US10812568B2 (en) | Graphical user interface facilitating uploading of electronic documents to shared storage | |
CN107688430A (zh) | 更换壁纸的方法、装置、终端及存储介质 | |
CN107562321A (zh) | 应用安装方法、装置及终端 | |
US20120324396A1 (en) | Method for quick application attribute transfer by user interface instance proximity | |
CN103513977A (zh) | 一种群成员列表的展示方法和装置 | |
CN112511874A (zh) | 游戏操控方法、智能电视及存储介质 | |
KR20140102386A (ko) | 디스플레이장치 및 그 제어방법 | |
WO2022078027A1 (zh) | 信息显示方法、装置、电子设备和计算机可读存储介质 | |
CN102385453B (zh) | 信息处理装置及其控制方法 | |
CN114661202B (zh) | 在线家装方法、设备及存储介质 | |
CN115858073A (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 |