CN117371075A - 基于ar技术的模型组装方法、装置、存储介质及电子设备 - Google Patents
基于ar技术的模型组装方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117371075A CN117371075A CN202311421772.8A CN202311421772A CN117371075A CN 117371075 A CN117371075 A CN 117371075A CN 202311421772 A CN202311421772 A CN 202311421772A CN 117371075 A CN117371075 A CN 117371075A
- Authority
- CN
- China
- Prior art keywords
- model
- assembled
- adsorption
- angle
- preset
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000005516 engineering process Methods 0.000 title claims abstract description 21
- 238000001179 sorption measurement Methods 0.000 claims abstract description 107
- 238000012544 monitoring process Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/18—Details relating to CAD techniques using virtual or augmented reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/20—Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
Abstract
本申请公开了一种基于AR技术的模型组装方法、装置、存储介质及电子设备。该方法包括:监测终端安装的AR制图软件中是否存在用户的模型拖拽操作;如果存在,则确定与用户拖拽的第一待组装模型距离最近的第二待组装模型;判断第一待组装模型和第二待组装模型是否满足预设的吸附条件;如果满足,则计算第一待组装模型和第二待组装模型的吸附距离和旋转角度;参照吸附距离和旋转角度组装第一待组装模型和第二待组装模型。本申请解决了由于要用户自己摆放家具后对齐位置造成的摆放位置存在误差的技术问题。
Description
技术领域
本申请涉及AR技术领域,具体而言,涉及一种基于AR技术的模型组装方法、装置、存储介质及电子设备。
背景技术
随着生活水平的不断提升,人们对室内装修的要求也越来越高。通常,在购买家具的过程中,消费者只能依赖自己的想象或者装修效果图来看到家具摆放后的效果,难以让消费者从现实场景中感受家具摆放效果。此外,现有的AR家装软件需要用户自己摆放家具后对齐位置,难免会导致摆放位置的误差,从而影响最终的效果。
针对相关技术中需要用户自己摆放家具后对齐位置造成的摆放位置存在误差的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种基于AR技术的模型组装方法、装置、存储介质及电子设备,以解决需要用户自己摆放家具后对齐位置造成的摆放位置存在误差的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种基于AR技术的模型组装方法。
根据本申请的基于AR技术的模型组装方法包括:监测终端安装的AR制图软件中是否存在用户的模型拖拽操作;如果存在,则确定与用户拖拽的第一待组装模型距离最近的第二待组装模型;判断第一待组装模型和第二待组装模型是否满足预设的吸附条件;如果满足,则计算第一待组装模型和第二待组装模型的吸附距离和旋转角度;参照吸附距离和旋转角度组装第一待组装模型和第二待组装模型。
进一步的,确定与用户拖拽的第一待组装模型距离最近的第二待组装模型包括:从第一待组装模型发送球形射线,获得碰撞到的所有第二待组装模型,并计算得到与第一待组装模型的球体中心点距离最近的第一碰撞点,及该第一碰撞点对应的第二待组装模型。
进一步的,判断第一待组装模型和第二待组装模型是否满足预设的吸附条件包括:从第二待组装模型发送球形射线,计算与第一待组装模型距离最近的第二碰撞点,并判断第一碰撞点和第二碰撞点之间的距离是否满足预设的吸附距离阈值。
进一步的,判断第一待组装模型和第二待组装模型是否满足预设的吸附条件还包括:分别获取第一待组装模型和第二待组装模型的欧拉角的第一Y坐标值和第二Y坐标值,并计算第一Y坐标值和第二Y坐标值的差值,得到第一待组装模型和第二待组装模型沿轴旋转的角度差;判断角度差的绝对值是否满足预设角度条件。
进一步的,如果满足,则计算第一待组装模型和第二待组装模型的吸附距离包括:如果第一碰撞点和第二碰撞点之间的距离满足预设的吸附距离阈值,则基于第一碰撞点和第二碰撞点的坐标计算两者的位置差作为吸附距离。
进一步的,如果满足,则计算第一待组装模型和第二待组装模型的旋转角度包括:如果判断角度差的绝对值满足第一预设角度条件,则将角度差作为旋转角度;如果判断角度差的绝对值满足第二预设角度条件,则将角度差减去或加上90度得到的值作为旋转角度;如果判断角度差的绝对值满足第三预设角度条件,则将角度差减去或加上180度得到的值作为旋转角度;如果判断角度差的绝对值满足第四预设角度条件,则将角度差减去或加上270度得到的值作为旋转角度。
为了实现上述目的,根据本申请的另一方面,提供了一种基于AR技术的模型组装装置。
根据本申请的基于AR技术的模型组装装置包括:包括:监测模块,用于监测终端安装的AR制图软件中是否存在用户的模型拖拽操作;确定模块,用于如果存在,则确定与用户拖拽的第一待组装模型距离最近的第二待组装模型;判断模块,用于判断第一待组装模型和第二待组装模型是否满足预设的吸附条件;计算模块,用于如果满足,则计算第一待组装模型和第二待组装模型的吸附距离和旋转角度;组装模块,用于参照吸附距离和旋转角度组装第一待组装模型和第二待组装模型。
进一步的,确定模块包括:从第一待组装模型发送球形射线,获得碰撞到的所有第二待组装模型,并计算得到与第一待组装模型的球体中心点距离最近的第一碰撞点,及该第一碰撞点对应的第二待组装模型。
为了实现上述目的,根据本申请的另一方面,提供了一种计算机可读存储介质。
根据本申请的计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述的基于AR技术的模型组装方法。
为了实现上述目的,根据本申请的另一方面,提供了一种电子设备。
根据本申请的电子设备,包括:存储器和处理器,所述存储器中存储有计算机程序,其中,所述处理器被设置为运行所述计算机程序以执行所述的基于AR技术的模型组装方法。
在本申请实施例中,采用基于AR技术的模型组装的方式,通过监测终端安装的AR制图软件中是否存在用户的模型拖拽操作;如果存在,则确定与用户拖拽的第一待组装模型距离最近的第二待组装模型;判断第一待组装模型和第二待组装模型是否满足预设的吸附条件;如果满足,则计算第一待组装模型和第二待组装模型的吸附距离和旋转角度;参照吸附距离和旋转角度组装第一待组装模型和第二待组装模型;达到了待组装模型的自动吸附对齐的目的,从而实现了避免摆放位置误差的技术效果,进而解决了由于要用户自己摆放家具后对齐位置造成的摆放位置存在误差的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的模型组装方法的流程示意图;
图2是根据本申请实施例的模型组装装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本发明及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本发明中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
根据本发明实施例,提供了一种基于AR技术的模型组装方法,如图1所示,该方法包括如下的步骤S101至步骤S105:
步骤S101、监测终端安装的AR制图软件中是否存在用户的模型拖拽操作;
终端可以是手机、电脑、平板等智能设备;在这些设备上可以安装AR制图软件,在AR制图软件中预先配置了墙体、家具等模型。
需要了解的是,墙体、家具等模型以AR的形式展示到大屏幕上,供人员观看;更进一步的,展示的墙体、家具等模型以杂乱或摆放好的形式显示于大屏幕,而且提供了人机交互插件,如此,用户可以通过操作对墙体、家具等模型进行拖拽,以实现模型间的自由组装。
本实施例中,通过处理器实时监测AR制图软件中是否存在用户的模型拖拽操作。具体地,用户通过点击大屏幕上的任意一个模型以选中该模型,并且长按住该模型向任意方向移动,直至将该模型移动到目标位置后停止,即可实现模型的拖拽。
步骤S102、如果存在,则确定与用户拖拽的第一待组装模型距离最近的第二待组装模型;
处理器监测到有模型拖拽操作后,表明通过拖拽将模型从当前位置移动到了其他位置处;此时,通过预设的算法进行计算,可以确定与用户拖拽的第一待组装模型距离最近的第二待组装模型。
具体地,确定与用户拖拽的第一待组装模型距离最近的第二待组装模型包括:从第一待组装模型发送球形射线,获得碰撞到的所有第二待组装模型,并计算得到与第一待组装模型的球体中心点距离最近的第一碰撞点,及该第一碰撞点对应的第二待组装模型。采用球形射线碰撞算法,以第一待组装模型发送球形射线,可以确定与第一待组装模型的球体中心点距离最近的第一碰撞点,再通过第一碰撞点可以确定其所在的第二待组装模型;为后续的自动吸附对齐提供依据。
比如,用户可以通过拖拽家具A靠近墙体A实现家具A和墙体A的组装。
需要了解的是,确定与第一待组装模型的球体中心点距离最近的第一碰撞点可以先确定与第一待组装模型的球体中心的所有的碰撞点的距离,再经过排序选择最小的作为第一碰撞点。
步骤S103、判断第一待组装模型和第二待组装模型是否满足预设的吸附条件;
预先设置了吸附条件,仅在判断为满足吸附条件的前提下才进行吸附距离和旋转角度的计算;若判断为不满足,则不进行吸附距离和旋转角度的计算;如此可以有效减轻处理器的处理压力。
需要了解的是,吸附条件可以是距离条件,也可以是角度条件;或者距离和角度条件的结合。
优选的,判断第一待组装模型和第二待组装模型是否满足预设的吸附条件包括:从第二待组装模型发送球形射线,计算与第一待组装模型距离最近的第二碰撞点,并判断第一碰撞点和第二碰撞点之间的距离是否满足预设的吸附距离阈值。预先设置了吸附距离阈值,并且提供了计算吸附距离的方法:采用球形射线碰撞算法,以第二待组装模型发射球形射线,计算到与其球体中心距离最近的第二碰撞点,再判断第一碰撞点P1和第二碰撞点P2的距离是否满足预设的吸附距离阈值Distance1。
进一步的,为了保证后续的吸附对齐效果,不仅考虑了吸附距离阈值,还考虑了角度条件。判断第一待组装模型和第二待组装模型是否满足预设的吸附条件还包括:分别获取第一待组装模型和第二待组装模型的欧拉角的第一Y坐标值和第二Y坐标值,并计算第一Y坐标值和第二Y坐标值的差值,得到第一待组装模型和第二待组装模型沿轴旋转的角度差;判断角度差的绝对值是否满足预设角度条件。预先设置了一个或多个角度条件,并且提供了计算角度差的方法:分别获取第一待组装模型和第二待组装模型欧拉角的第一Y坐标值y1和第二Y坐标值y2,并计算y1、y2的差值,即可得到两个模型沿Y轴旋转的角度差yValue;然后基于yValue进行是否满足预设角度条件的判断。
需要了解的是,以上的角度条件和吸附距离阈值可以是一并设为吸附条件,也可以是择一设为吸附条件。
步骤S104、如果满足,则计算第一待组装模型和第二待组装模型的吸附距离和旋转角度;
具体地,如果满足,则计算第一待组装模型和第二待组装模型的吸附距离包括:如果第一碰撞点和第二碰撞点之间的距离满足预设的吸附距离阈值,则基于第一碰撞点和第二碰撞点的坐标计算两者的位置差作为吸附距离。
即当P1与P2两个点的距离满足吸附阈值Distance1时,进行吸附距离的计算。吸附距离的计算:计算位置差,根据P1和P2计算得到位置差posValue,posValue=P1-P2。
进一步的,如果满足,则计算第一待组装模型和第二待组装模型的旋转角度包括以下的五种情况,即根据吸附最小角度阈值minAngle、yValue和yValue的绝对值yValueAbs,计算第一待组装模型和第二待组装模型是否可以吸附,以及可以吸附时需要旋转的角度rotateAngle。
如果判断角度差的绝对值满足第一预设角度条件,则将角度差作为旋转角度;即,yValueAbs<minAngle或yValueAbs>360-minAngle时,rotateAngle为yValue;
如果判断角度差的绝对值满足第二预设角度条件,则将角度差减去或加上90度得到的值作为旋转角度;即,yValueAbs>90-minAngle且yValueAbs<90+minAngle时,如果yValue<0,rotateAngle=yValue+90;如果yValue>0,rotateAngle=yValue-90;
如果判断角度差的绝对值满足第三预设角度条件,则将角度差减去或加上180度得到的值作为旋转角度;即,yValueAbs>180-minAngle且yValueAbs<180+minAngle时,如果yValue<0,rotateAngle=yValue+180;如果yValue>0,rotateAngle=yValue-180;
如果判断角度差的绝对值满足第四预设角度条件,则将角度差减去或加上270度得到的值作为旋转角度;即,yValueAbs>270-minAngle且yValueAbs<270+minAngle时,如果yValue<0,rotateAngle=yValue+270;如果yValue>0,rotateAngle=yValue-270。
如此,实现了针对不同角度条件进行旋转角度的计算,使得吸附对齐时能够旋转的角度更为精确,从而进一步避免摆放误差,使得吸附对齐效果更佳。
步骤S105、参照吸附距离和旋转角度组装第一待组装模型和第二待组装模型。
具体地,参照旋转角度自动旋转第一待组装模型:在碰撞点P2位置处,以Y轴为旋转轴,将第一待组装模型旋转rotateAngle角度;参照吸附距离移动第一待组装模型:计算Model1的最终位置finalPos,finalPos=Model1当前位置+posValue。从而通过旋转和移动,实现了待组装模型的自动吸附对齐,避免摆放位置误差。
从以上的描述中,可以看出,本发明实现了如下技术效果:
在本申请实施例中,采用基于AR技术的模型组装的方式,通过监测终端安装的AR制图软件中是否存在用户的模型拖拽操作;如果存在,则确定与用户拖拽的第一待组装模型距离最近的第二待组装模型;判断第一待组装模型和第二待组装模型是否满足预设的吸附条件;如果满足,则计算第一待组装模型和第二待组装模型的吸附距离和旋转角度;参照吸附距离和旋转角度组装第一待组装模型和第二待组装模型;达到了待组装模型的自动吸附对齐的目的,从而实现了避免摆放位置误差的技术效果,进而解决了由于要用户自己摆放家具后对齐位置造成的摆放位置存在误差的技术问题。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例,还提供了一种用于实施上述基于AR技术的模型组装方法的装置,如图2所示,该装置包括:
监测模块10,用于监测终端安装的AR制图软件中是否存在用户的模型拖拽操作;
终端可以是手机、电脑、平板等智能设备;在这些设备上可以安装AR制图软件,在AR制图软件中预先配置了墙体、家具等模型。
需要了解的是,墙体、家具等模型以AR的形式展示到大屏幕上,供人员观看;更进一步的,展示的墙体、家具等模型以杂乱或摆放好的形式显示于大屏幕,而且提供了人机交互插件,如此,用户可以通过操作对墙体、家具等模型进行拖拽,以实现模型间的自由组装。
本实施例中,通过处理器实时监测AR制图软件中是否存在用户的模型拖拽操作。具体地,用户通过点击大屏幕上的任意一个模型以选中该模型,并且长按住该模型向任意方向移动,直至将该模型移动到目标位置后停止,即可实现模型的拖拽。
确定模块20,用于如果存在,则确定与用户拖拽的第一待组装模型距离最近的第二待组装模型;
处理器监测到有模型拖拽操作后,表明通过拖拽将模型从当前位置移动到了其他位置处;此时,通过预设的算法进行计算,可以确定与用户拖拽的第一待组装模型距离最近的第二待组装模型。
具体地,确定与用户拖拽的第一待组装模型距离最近的第二待组装模型包括:从第一待组装模型发送球形射线,获得碰撞到的所有第二待组装模型,并计算得到与第一待组装模型的球体中心点距离最近的第一碰撞点,及该第一碰撞点对应的第二待组装模型。采用球形射线碰撞算法,以第一待组装模型发送球形射线,可以确定与第一待组装模型的球体中心点距离最近的第一碰撞点,再通过第一碰撞点可以确定其所在的第二待组装模型;为后续的自动吸附对齐提供依据。
比如,用户可以通过拖拽家具A靠近墙体A实现家具A和墙体A的组装。
需要了解的是,确定与第一待组装模型的球体中心点距离最近的第一碰撞点可以先确定与第一待组装模型的球体中心的所有的碰撞点的距离,再经过排序选择最小的作为第一碰撞点。
判断模块30,用于判断第一待组装模型和第二待组装模型是否满足预设的吸附条件;
预先设置了吸附条件,仅在判断为满足吸附条件的前提下才进行吸附距离和旋转角度的计算;若判断为不满足,则不进行吸附距离和旋转角度的计算;如此可以有效减轻处理器的处理压力。
需要了解的是,吸附条件可以是距离条件,也可以是角度条件;或者距离和角度条件的结合。
优选的,判断第一待组装模型和第二待组装模型是否满足预设的吸附条件包括:从第二待组装模型发送球形射线,计算与第一待组装模型距离最近的第二碰撞点,并判断第一碰撞点和第二碰撞点之间的距离是否满足预设的吸附距离阈值。预先设置了吸附距离阈值,并且提供了计算吸附距离的方法:采用球形射线碰撞算法,以第二待组装模型发射球形射线,计算到与其球体中心距离最近的第二碰撞点,再判断第一碰撞点P1和第二碰撞点P2的距离是否满足预设的吸附距离阈值Distance1。
进一步的,为了保证后续的吸附对齐效果,不仅考虑了吸附距离阈值,还考虑了角度条件。判断第一待组装模型和第二待组装模型是否满足预设的吸附条件还包括:分别获取第一待组装模型和第二待组装模型的欧拉角的第一Y坐标值和第二Y坐标值,并计算第一Y坐标值和第二Y坐标值的差值,得到第一待组装模型和第二待组装模型沿轴旋转的角度差;判断角度差的绝对值是否满足预设角度条件。预先设置了一个或多个角度条件,并且提供了计算角度差的方法:分别获取第一待组装模型和第二待组装模型欧拉角的第一Y坐标值y1和第二Y坐标值y2,并计算y1、y2的差值,即可得到两个模型沿Y轴旋转的角度差yValue;然后基于yValue进行是否满足预设角度条件的判断。
需要了解的是,以上的角度条件和吸附距离阈值可以是一并设为吸附条件,也可以是择一设为吸附条件。
计算模块40,用于如果满足,则计算第一待组装模型和第二待组装模型的吸附距离和旋转角度;
具体地,如果满足,则计算第一待组装模型和第二待组装模型的吸附距离包括:如果第一碰撞点和第二碰撞点之间的距离满足预设的吸附距离阈值,则基于第一碰撞点和第二碰撞点的坐标计算两者的位置差作为吸附距离。
即当P1与P2两个点的距离满足吸附阈值Distance1时,进行吸附距离的计算。吸附距离的计算:计算位置差,根据P1和P2计算得到位置差posValue,posValue=P1-P2。
进一步的,如果满足,则计算第一待组装模型和第二待组装模型的旋转角度包括以下的五种情况,即根据吸附最小角度阈值minAngle、yValue和yValue的绝对值yValueAbs,计算第一待组装模型和第二待组装模型是否可以吸附,以及可以吸附时需要旋转的角度rotateAngle。
如果判断角度差的绝对值满足第一预设角度条件,则将角度差作为旋转角度;即,yValueAbs<minAngle或yValueAbs>360-minAngle时,rotateAngle为yValue;
如果判断角度差的绝对值满足第二预设角度条件,则将角度差减去或加上90度得到的值作为旋转角度;即,yValueAbs>90-minAngle且yValueAbs<90+minAngle时,如果yValue<0,rotateAngle=yValue+90;如果yValue>0,rotateAngle=yValue-90;
如果判断角度差的绝对值满足第三预设角度条件,则将角度差减去或加上180度得到的值作为旋转角度;即,yValueAbs>180-minAngle且yValueAbs<180+minAngle时,如果yValue<0,rotateAngle=yValue+180;如果yValue>0,rotateAngle=yValue-180;
如果判断角度差的绝对值满足第四预设角度条件,则将角度差减去或加上270度得到的值作为旋转角度;即,yValueAbs>270-minAngle且yValueAbs<270+minAngle时,如果yValue<0,rotateAngle=yValue+270;如果yValue>0,rotateAngle=yValue-270。
如此,实现了针对不同角度条件进行旋转角度的计算,使得吸附对齐时能够旋转的角度更为精确,从而进一步避免摆放误差,使得吸附对齐效果更佳。
组装模块50,用于参照吸附距离和旋转角度组装第一待组装模型和第二待组装模型。
具体地,参照旋转角度自动旋转第一待组装模型:在碰撞点P2位置处,以Y轴为旋转轴,将第一待组装模型旋转rotateAngle角度;参照吸附距离移动第一待组装模型:计算Model1的最终位置finalPos,finalPos=Model1当前位置+posValue。从而通过旋转和移动,实现了待组装模型的自动吸附对齐,避免摆放位置误差。
从以上的描述中,可以看出,本发明实现了如下技术效果:
在本申请实施例中,采用基于AR技术的模型组装的方式,通过监测终端安装的AR制图软件中是否存在用户的模型拖拽操作;如果存在,则确定与用户拖拽的第一待组装模型距离最近的第二待组装模型;判断第一待组装模型和第二待组装模型是否满足预设的吸附条件;如果满足,则计算第一待组装模型和第二待组装模型的吸附距离和旋转角度;参照吸附距离和旋转角度组装第一待组装模型和第二待组装模型;达到了待组装模型的自动吸附对齐的目的,从而实现了避免摆放位置误差的技术效果,进而解决了由于要用户自己摆放家具后对齐位置造成的摆放位置存在误差的技术问题。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于AR技术的模型组装方法,其特征在于,包括:
监测终端安装的AR制图软件中是否存在用户的模型拖拽操作;
如果存在,则确定与用户拖拽的第一待组装模型距离最近的第二待组装模型;
判断第一待组装模型和第二待组装模型是否满足预设的吸附条件;
如果满足,则计算第一待组装模型和第二待组装模型的吸附距离和旋转角度;
参照吸附距离和旋转角度组装第一待组装模型和第二待组装模型。
2.根据权利要求1所述的模型组装方法,其特征在于,确定与用户拖拽的第一待组装模型距离最近的第二待组装模型包括:
从第一待组装模型发送球形射线,获得碰撞到的所有第二待组装模型,并计算得到与第一待组装模型的球体中心点距离最近的第一碰撞点,及该第一碰撞点对应的第二待组装模型。
3.根据权利要求2所述的模型组装方法,其特征在于,判断第一待组装模型和第二待组装模型是否满足预设的吸附条件包括:
从第二待组装模型发送球形射线,计算与第一待组装模型距离最近的第二碰撞点,并判断第一碰撞点和第二碰撞点之间的距离是否满足预设的吸附距离阈值。
4.根据权利要求1所述的模型组装方法,其特征在于,判断第一待组装模型和第二待组装模型是否满足预设的吸附条件还包括:
分别获取第一待组装模型和第二待组装模型的欧拉角的第一Y坐标值和第二Y坐标值,并计算第一Y坐标值和第二Y坐标值的差值,得到第一待组装模型和第二待组装模型沿轴旋转的角度差;
判断角度差的绝对值是否满足预设角度条件。
5.根据权利要求3所述的模型组装方法,其特征在于,如果满足,则计算第一待组装模型和第二待组装模型的吸附距离包括:
如果第一碰撞点和第二碰撞点之间的距离满足预设的吸附距离阈值,则基于第一碰撞点和第二碰撞点的坐标计算两者的位置差作为吸附距离。
6.根据权利要求4所述的模型组装方法,其特征在于,如果满足,则计算第一待组装模型和第二待组装模型的旋转角度包括:
如果判断角度差的绝对值满足第一预设角度条件,则将角度差作为旋转角度;
如果判断角度差的绝对值满足第二预设角度条件,则将角度差减去或加上90度得到的值作为旋转角度;
如果判断角度差的绝对值满足第三预设角度条件,则将角度差减去或加上180度得到的值作为旋转角度;
如果判断角度差的绝对值满足第四预设角度条件,则将角度差减去或加上270度得到的值作为旋转角度。
7.一种基于AR技术的模型组装装置,其特征在于,包括:
监测模块,用于监测终端安装的AR制图软件中是否存在用户的模型拖拽操作;
确定模块,用于如果存在,则确定与用户拖拽的第一待组装模型距离最近的第二待组装模型;
判断模块,用于判断第一待组装模型和第二待组装模型是否满足预设的吸附条件;
计算模块,用于如果满足,则计算第一待组装模型和第二待组装模型的吸附距离和旋转角度;
组装模块,用于参照吸附距离和旋转角度组装第一待组装模型和第二待组装模型。
8.根据权利要求7所述的模型组装装置,其特征在于,确定模块包括:
从第一待组装模型发送球形射线,获得碰撞到的所有第二待组装模型,并计算得到与第一待组装模型的球体中心点距离最近的第一碰撞点,及该第一碰撞点对应的第二待组装模型。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至6中任一项所述的基于AR技术的模型组装方法。
10.一种电子设备,包括:存储器和处理器,其特征在于,所述存储器中存储有计算机程序,其中,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至6中任一项所述的基于AR技术的模型组装方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311421772.8A CN117371075A (zh) | 2023-10-30 | 2023-10-30 | 基于ar技术的模型组装方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311421772.8A CN117371075A (zh) | 2023-10-30 | 2023-10-30 | 基于ar技术的模型组装方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117371075A true CN117371075A (zh) | 2024-01-09 |
Family
ID=89402118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311421772.8A Pending CN117371075A (zh) | 2023-10-30 | 2023-10-30 | 基于ar技术的模型组装方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117371075A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101659782B1 (ko) * | 2016-03-25 | 2016-09-27 | (주)이지스 | 벽면 충돌을 고려한 사용자 시점의 3차원 실내공간정보 제공방법 |
CN111111168A (zh) * | 2019-12-16 | 2020-05-08 | 腾讯科技(深圳)有限公司 | 虚拟道具的控制方法和装置、存储介质及电子装置 |
CN111197980A (zh) * | 2019-12-31 | 2020-05-26 | 上海简家信息技术有限公司 | 一种ar量房智能吸附方法 |
CN112190944A (zh) * | 2020-10-21 | 2021-01-08 | 网易(杭州)网络有限公司 | 虚拟建筑模型的构建方法、装置及电子装置 |
CN114445604A (zh) * | 2022-02-08 | 2022-05-06 | 联想(北京)有限公司 | 虚拟对象处理方法、装置、设备及存储介质 |
CN114816192A (zh) * | 2022-04-28 | 2022-07-29 | 卓望数码技术(深圳)有限公司 | 图形拖拽自动吸附对齐方法、装置、计算机设备及介质 |
CN116421976A (zh) * | 2023-03-29 | 2023-07-14 | 网易(杭州)网络有限公司 | 虚拟道具的处理方法、装置、设备及存储介质 |
-
2023
- 2023-10-30 CN CN202311421772.8A patent/CN117371075A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101659782B1 (ko) * | 2016-03-25 | 2016-09-27 | (주)이지스 | 벽면 충돌을 고려한 사용자 시점의 3차원 실내공간정보 제공방법 |
CN111111168A (zh) * | 2019-12-16 | 2020-05-08 | 腾讯科技(深圳)有限公司 | 虚拟道具的控制方法和装置、存储介质及电子装置 |
CN111197980A (zh) * | 2019-12-31 | 2020-05-26 | 上海简家信息技术有限公司 | 一种ar量房智能吸附方法 |
CN112190944A (zh) * | 2020-10-21 | 2021-01-08 | 网易(杭州)网络有限公司 | 虚拟建筑模型的构建方法、装置及电子装置 |
CN114445604A (zh) * | 2022-02-08 | 2022-05-06 | 联想(北京)有限公司 | 虚拟对象处理方法、装置、设备及存储介质 |
CN114816192A (zh) * | 2022-04-28 | 2022-07-29 | 卓望数码技术(深圳)有限公司 | 图形拖拽自动吸附对齐方法、装置、计算机设备及介质 |
CN116421976A (zh) * | 2023-03-29 | 2023-07-14 | 网易(杭州)网络有限公司 | 虚拟道具的处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6423435B2 (ja) | 物理的光景を表すための方法および装置 | |
US9983592B2 (en) | Moving robot, user terminal apparatus and control method thereof | |
US10807002B2 (en) | Visual method and apparatus for compensating sound information, storage medium and electronic device | |
CN111937051A (zh) | 使用增强现实可视化的智能家居设备放置和安装 | |
US11099638B2 (en) | Systems and methods for generating dynamic obstacle collision warnings based on detecting poses of users | |
US20170186219A1 (en) | Method for 360-degree panoramic display, display module and mobile terminal | |
CN109242963B (zh) | 一种三维场景模拟装置和设备 | |
US20170039767A1 (en) | Virtually visualizing energy | |
CN111681320B (zh) | 三维房屋模型中的模型展示方法及装置 | |
CN110471409A (zh) | 机器人巡检方法、装置、计算机可读存储介质及机器人 | |
CN108961387A (zh) | 一种房屋虚拟三维模型的显示方法及终端设备 | |
US11613354B2 (en) | Method and device for controlling flight, control terminal, flight system and processor | |
CN114341943A (zh) | 使用平面提取的简单环境求解器 | |
CN109996050A (zh) | 投影机器人的控制方法及控制装置 | |
US10565786B1 (en) | Sensor placement interface | |
CN108846900B (zh) | 提高用户在房源虚拟三维空间图中的空间感的方法及系统 | |
CN108920037A (zh) | 一种房屋的虚拟三维空间的显示方法及装置 | |
CN117371075A (zh) | 基于ar技术的模型组装方法、装置、存储介质及电子设备 | |
CN116943216A (zh) | 一种贴合关系检测方法、装置、设备及存储介质 | |
US11756260B1 (en) | Visualization of configurable three-dimensional environments in a virtual reality system | |
CN111009035B (zh) | 模拟场景的创建方法及装置 | |
CN112473138B (zh) | 游戏的显示控制方法及装置、可读存储介质、电子设备 | |
CN110320496A (zh) | 一种室内定位方法及装置 | |
CN115371671A (zh) | 基于室内地图的设备位置确定方法及装置 | |
CN106970729B (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 |