Nothing Special   »   [go: up one dir, main page]

CN110458943B - 移动对象旋转方法及装置、控制设备及存储介质 - Google Patents

移动对象旋转方法及装置、控制设备及存储介质 Download PDF

Info

Publication number
CN110458943B
CN110458943B CN201910703103.7A CN201910703103A CN110458943B CN 110458943 B CN110458943 B CN 110458943B CN 201910703103 A CN201910703103 A CN 201910703103A CN 110458943 B CN110458943 B CN 110458943B
Authority
CN
China
Prior art keywords
vector
projection
target
orientation
plane
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.)
Active
Application number
CN201910703103.7A
Other languages
English (en)
Other versions
CN110458943A (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.)
Shenzhen Sensetime Technology Co Ltd
Original Assignee
Shenzhen Sensetime 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 Shenzhen Sensetime Technology Co Ltd filed Critical Shenzhen Sensetime Technology Co Ltd
Priority to CN201910703103.7A priority Critical patent/CN110458943B/zh
Publication of CN110458943A publication Critical patent/CN110458943A/zh
Application granted granted Critical
Publication of CN110458943B publication Critical patent/CN110458943B/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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请实施例公开了一种移动对象旋转方法及装置、控制设备及存储介质。所述移动对象旋转方法,包括:将第一对象投影到目标平面得到第一投影;基于所述第一投影和目标朝向,得到第一向量;将所述第一对象的朝向向量投影到所述目标平面,得到第二向量;基于所述第一向量和所述第二向量,控制所述第一对象沿垂直于所述目标平面的目标轴旋转。

Description

移动对象旋转方法及装置、控制设备及存储介质
技术领域
本申请涉及移动对象旋转方法,尤其涉及一种移动对象旋转方法及装置、控制设备及存储介质。
背景技术
在一些三维度(Three dimensional,3D)图像场景中,在旋转一个受控对象,除了改变该受控对象的朝向以外,会使得该受控对象相对于其站立的平面发生倾斜等不必要的姿态改变,从而这种3D场景内受控对象的控制有误差或者精确度低的现象。
发明内容
有鉴于此,本申请实施例期望提供一种移动对象旋转方法及装置、控制设备及存储介质。
本申请的技术方案是这样实现的:
本申请实施例第一方面提供一种移动对象旋转方法,包括:
将第一对象投影到目标平面得到第一投影;
基于所述第一投影和目标朝向,得到第一向量;
将所述第一对象的朝向向量投影到所述目标平面,得到第二向量;
基于所述第一向量和所述第二向量,控制所述第一对象沿垂直于所述目标平面的目标轴旋转。
基于上述方案,所述方法还包括将第二对象投影到所述目标平面得到第二投影将第二对象投影到所述目标平面得到第二投影,其中,所述第二投影表征所述目标朝向;
所述基于所述第一投影和目标朝向,得到第一向量,包括:
基于所述第一投影和所述第二投影,得到所述第一向量。
基于上述方案,所述基于所述第一投影和所述第二投影,得到第一向量,包括:
基于所述第一投影的第一中心点和三维坐标系的原点,得到第三向量,其中,所述目标轴为所述三维坐标系的一种坐标轴;所述目标平面为所述三维坐标系的坐标轴所在的一个平面;
基于所述第二投影的第二中心点和所述三维坐标系的原点,得到第四向量;
将所述第四向量减去所述第三向量,得到所述第一向量。
基于上述方案,所述基于所述第一向量和所述第二向量,控制所述第一对象沿垂直于所述目标平面的目标轴旋转,包括:
确定所述第一向量和所述第二向量的夹角;
控制所述第一对象沿所述目标轴旋转所述夹角。
基于上述方案,所述确定所述第一向量和所述第二向量的夹角,包括:
点乘所述第一向量和所述第二向量,得到点乘积;
确定所述第一向量和所述第二向量的长度积;
求取所述点乘积与所述长度积之间的商;
基于所述商,进行反三角函数运算得到所述夹角。
基于上述方案,所述方法还包括:
根据所述第一对象的中心点与三维坐标系的原点,得到所述第一对象的朝向向量,其中,所述目标轴为所述三维坐标系的一个坐标轴;所述目标平面为所述三维坐标系的坐标轴所在的一个平面。
基于上述方案,所述方法还包括:
根据所述第一对象的视线方向,确定所述第一对象的朝向向量。
本申请实施例第二方面提供一种移动对象旋转装置,其特征在于,包括:
第一投影模块,用于将第一对象投影到目标平面得到第一投影;
第一向量模块,用于基于所述第一投影和目标朝向,得到第一向量;
第二向量模块,用于将所述第一对象的朝向向量投影到所述目标平面,得到第二向量;
旋转模块,用于基于所述第一向量和所述第二向量,控制所述第一对象沿垂直于所述目标平面的目标轴旋转。
基于上述方案,所述装置还包括:
第二投影模块,用于将第二对象投影到所述目标平面得到第二投影,其中,所述第二投影表征所述目标朝向;
所述第一向量模块,用于基于所述第一投影和所述第二投影,得到所述第一向量。
基于上述方案,所述第一向量模块,具体用于基于所述第一投影的第一中心点和三维坐标系的原点,得到第三向量,其中,所述目标轴为所述三维坐标系的一种坐标轴;所述目标平面为所述三维坐标系的坐标轴所在的一个平面;基于所述第二投影的第二中心点和所述三维坐标系的原点,得到第四向量;将所述第四向量减去所述第三向量,得到所述第一向量。
基于上述方案,所述旋转模块,具体用于确定所述第一向量和所述第二向量的夹角;控制所述第一对象沿所述目标轴旋转所述夹角。
基于上述方案,所述旋转模块,具体用于点乘所述第一向量和所述第二向量,得到点乘积;确定所述第一向量和所述第二向量的长度积;求取所述点乘积与所述长度积之间的商;基于所述商,进行反三角函数运算得到所述夹角。
基于上述方案,所述装置还包括:
第一朝向向量模块,用于根据所述第一对象的中心点与三维坐标系的原点,得到所述第一对象的朝向向量,其中,所述目标轴为所述三维坐标系的一个坐标轴;所述目标平面为所述三维坐标系的坐标轴所在的一个平面;
基于上述方案,所述装置还包括:
第二朝向向量模块,用于根据所述第一对象的视线方向,确定所述第一对象的朝向向量。
本申请实施例第三方面提供一种控制设备,包括:
存储器;
处理器,与所述存储器连接,用于通过执行存储在所述存储器上的计算机可执行指令,能够实现前述任意技术方案提供的移动对象旋转方法。
本申请实施例第四方面提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令,被处理器执行后,能够实现前述任意技术方案提供的移动对象旋转方法
本申请实施例提供的技术方案,在进行第一对象的旋转时,不是直接根据第一对象的当前朝向和目标朝向,而是首先会将第一对象投影到目标平面内,然后基于在该目标平面内,得到当前朝向和目标朝向之间的第一向量,再结合第一对象的当前朝向向量,来精确控制所述第一对象的旋转,如此,减少了第一对象在旋转过程中导致目标平面的姿势的不必要变换,从而实现了移动对象的旋转精确控制。
附图说明
图1为本申请实施例提供的一种移动对象旋转方法的流程示意图;
图2为本申请实施例提供的另一种移动对象旋转方法的流程示意图;
图3为本申请实施例提供的再一种移动对象旋转方法的流程示意图;
图4为本申请实施例提供的一种第一对象和第二对象在3D空间内的示意图;
图5为本申请实施例提供的另一种第一对象和第二对象在3D空间内的示意图;
图6为直接基于两个对象之间的当前相对位置旋转第一对象的效果示意图;
图7为本申请实施例提供的一种移动对象旋转装置的结构示意图;
图8为本申请实施例提供的一种控制设备的结构示意图。
具体实施方式
以下结合说明书附图及具体实施例对本申请的技术方案做进一步的详细阐述。
如图1所示,本实施例提供一种移动对象旋转方法,包括:
步骤S110:将第一对象投影到目标平面得到第一投影;
步骤S120:基于所述第一投影和目标朝向,得到第一向量;
步骤S130:将所述第一对象的朝向向量投影到所述目标平面,得到第二向量;
步骤S140:基于所述第一向量和所述第二向量,控制所述第一对象沿垂直于所述目标平面的目标轴旋转。
述移动对象可为在3D空间内进行移动的任意对象。例如,所述移动对象包括但不限于以下至少之一:游戏角色对象;社交角色对象。
根据移动对象的类型进行区分,可包括:人体对象、移动工具对象(例如,交通工具)等。
在本实施例中,所述第一对象为要旋转的对象。在本实施例中在旋转第一对象时,不是简单的根据第一对象的当前朝向及旋转后的目标朝向,而是会将第一对象投影到目标平面,该目标平面是第一对象需要保持姿势的对象。例如,第一对象当前相对于目标平面为预定角度,则在旋转之后依然需要维持预定角度,而非发生角度的改变。
该目标朝向可为根据人机交互接口接收的用户收入确定的朝向。
将第一对象投影到目标平面之后,会得到所述第一投影。
在投影的过程中,投影方向是沿着所述目标轴向所述目标平面的垂直投影。
所述第一对象沿所述目标轴投影到所述目标平面的方式有很多种,以下提供两种可选方式:
方式一:将所述第一对象的外轮廓的每一个点沿所述目标轴投影到所述目标平面内,此时,在所述目标平面内会形成所述第一对象外轮廓投影的投影区域,可以取该区域的中心点构建所述第一向量。
方式二:将所述第一对象的中心点沿所述目标轴投影到目标平面内,此时,在目标平面内包含的就是第一对象中心点的投影点,基于该投影点构建所述第一向量;
方式三:将所述第一对象的重心点沿所述目标轴投影到目标平面内,此时,在目标平面内包含的就是第一对象重心点的投影点,基于该投影点构建所述第一向量。
在投影到目标平面之后,第一投影和目标朝向之间形成向量。该目标朝向可以用从原点出发的单位向量表示。
所述第一对象的朝向向量可为:以所述目标轴与所述目标平面之间的交点出发表示所述第一对象当前朝向的向量。
在步骤S130中可以将所述朝向向量沿所述目标轴投影到所述目标平面,得到所述第二向量。
在得到第一向量之后,与第一对象朝向向量在目标平面内的第二向量,结合这两者,控制第一对象沿所述目标轴的旋转。如此,至少可以确保目标对象在旋转之后,在目标平面内的姿势保持不变,从而实现第一对象的旋转精准控制。
例如,在射击游戏场景,第一对象在旋转过程中改变了在目标对象的姿势,可能会使得旋转之后原本对准的准心发生偏移,从而导致用户游戏体验感差,而采用本实施例的方法,在旋转的过程中目标平面内的姿势是维持稳定,仅需在需要旋转的方向进行旋转,从而确保了旋转的控制的精确度。
在一些实施例中,如图2所示,所述方法还包括:
步骤S111将第二对象投影到所述目标平面得到第二投影将第二对象投影到所述目标平面得到第二投影,其中,所述第二投影表征所述目标朝向;
所述步骤S120可包括:
步骤S121:基于所述第一投影和所述第二投影,得到所述第一向量。
在一些应用场景中,第一对象的目标朝向是因为要朝向另一个对象,此处的第二对象可以与所述第一对象是同一类对象,也可以是不同的类的对象。例如,所述第一对象和所述第二对象都是移动对象。在另一些实施例中,所述第一对象和所述第二对象还可以是不同的对象。例如,第一对象为游戏场景的交通工具;而第二对象为游戏场景的某一个停泊位,此时虽然是两个对象,但是一个是移动对象,另一个是非移动对象,是两种不同的对象。
第二对象投影到目标平面内的投影方式与第一对象投影到目标平面内的投影方式相同,此处,就不再重复了。
在本实施例中,所述步骤S121可具体为:第一对象和第二对象在目标平面的投影之间可以连线形成向量。例如,以第一对象的第一投影为起点,以第二对象的第二投影为终点,连接形成所述第一向量。
总之,形成所述第一向量和所述第二向量的方式有很多种,此处仅是举例,具体实现时不局限于此。
在一些实施例中,若所述第二对象也为移动对象,在所述第一对象的移动过程中,所述第二对象可能也在移动,这会使得所述第一对象的目标朝向发生变化。此时,所述方法还包括:监控所述第二对象的运动状态;当所述第二对象的发生位移时,更新所述第二对象投影到所述目标平面的第二投影;如此,可以实现第一对象相对于第二对象朝向改变的旋转跟踪。
图4显示有对象a和对象b;假定目标平面为x-z平面;目标轴为y轴。假设对象a为第一对象,对象b为第二对象;则可以利用本实施例提供的方法,控制第一对象旋转后朝向所述第二对象。由图4可知,对象a和对象b在x轴上的坐标值不一致。
如图5所示,对象a和对象b在y轴上的位置可以相同也可以不同。图6所示为:基于本实施例提供方法控制对象a和对象b在x-z平面内的垂直投影的旋转。根据图5可知,对象a和对象b在y轴上的坐标不一致。
图6为直接基于第一对象的当前朝向和第二对象的位置,进行对象a的朝向旋转,可见使得对象a在三维坐标系设定的三维空间中旋转之后,对象a的姿势在x-z平面内发生了变换,这种变换可以比对图6和图4和/或图5可知。而本采用本实施例提供的方法,就可以抑制这种现象。
在一些实施例中,所述步骤S121可包括:
基于所述第一投影的第一中心点和三维坐标系的原点,得到第三向量,其中,所述目标轴为所述三维坐标系的一种坐标轴;所述目标平面为所述三维坐标系的坐标轴所在的一个平面;
基于所述第二投影的第二中心点和所述三维坐标系的原点,得到第四向量;
将所述第四向量减去所述第三向量,得到所述第一向量。
将第一对象和第二对象投影到目标平面之后,形成的第一投影和第二投影都是点集。
在本实施例中,为了方便构建所述第一向量,会分别得到第一投影和第二投影的中心点,基于第一中心点和原点构建了第三向量;所述第三向量为原点到第一中心点的向量。
同时基于第二中心点和原点构建第四向量,所述第四向量为原点到第二中心点的向量。
在本实施例中,基于第三向量和第四向量进行向量运算,具体如,将第四向量减去所述第三向量得到所述第一向量。
在一些实施例中,如图3所示,所述步骤S140可包括:
步骤S141:确定所述第一向量和所述第二向量的夹角;
步骤S142:控制所述第一对象沿所述目标轴旋转所述夹角。
第一向量和第二向量都是在目标平面内的投影,如此,若根据第一向量和第二向量,就可以简便计算出第一对象在目标平面内的朝向差异(即所述夹角)。得到所述夹角之后,控制第一对象沿着所述目标轴旋转所述夹角,如此,一方面减少改变所述第一对象在旋转过程中导致的在目标平面的姿态变化。
在本实施例中,通过步骤S141和步骤S142的向量运算,可以得到第一向量和第二向量的夹角。
在一些实施例中,所述步骤S141包括:
点乘所述第一向量和所述第二向量,得到点乘积;
确定所述第一向量和所述第二向量的长度积;
求取所述点乘积与所述长度积之间的商;
基于所述商,进行反三角函数运算得到所述夹角。
在本实施例中,所述反三角函数包括反预余弦函数(例如,arccos)计算得到所述夹角。
在一些实施例中,所述方法还包括:
根据所述第一对象的中心点与三维坐标系的原点,得到所述第一对象的朝向向量,其中,所述目标轴为所述三维坐标系的一个坐标轴;所述目标平面为所述三维坐标系的坐标轴所在的一个平面。
在本实施例中,以所述第一对象的中心点确定所述第一对象的朝向向量。
在一些实施例中,所述三维坐标系可为预先设定的3D场景所在的坐标系;在另一些实施例中,所述三维坐标系可为根据需要维持姿势的坐标平面动态设定的坐标系。
在本实施例中,所述方法还包括:根据所述第一对象的视线方向,确定所述第一对象的朝向向量。
在一些实施例中,若所述第一对象为有视线的对象,例如,人物对象、交通工具对象都会有其视线方向。此时,可以以视线方向作为所述第一对象的朝向向量的方向。
在一些实施例中,所述朝向方向的长度可为单位向量。
在一些实施例中,所述步骤S110可包括:
在扩展现实XR场景中,将第一对象沿目标轴投影到目标平面得到第一投影,并将第二对象投影到所述目标平面得到第二投影,其中,所述XR场景包括:虚拟现实VR场景、增强现实AR场景及混合显示MR场景的至少其中之一。
在本实施例中,所述第一对象的旋转控制可以应用于各种3D场景中,该3D场景包括:游戏类型、社交类型或者其他类型。在本实施例中,可以应用于所述XR场景中。
如图7所示,本实施例提供一种移动对象旋转装置,包括:
第一投影模块110,用于将第一对象投影到目标平面得到第一投影;
第一向量模块120,用于基于所述第一投影和目标朝向,得到第一向量;
第二向量模块130,用于将所述第一对象的朝向向量投影到所述目标平面,得到第二向量;
旋转模块140,用于基于所述第一向量和所述第二向量,控制所述第一对象沿垂直于所述目标平面的目标轴旋转。
在一些实施例中,所述第一投影模块110、所述第一向量模块120、所述第二向量模块130及旋转模块140可为程序模块;所述程序模块被处理器执行后,能够实现前述任意各个模块的功能。
在一些实施例中,所述第一投影模块110、所述第一向量模块120、所述第二向量模块130及旋转模块140可为软硬结合模块;所述软硬结合模块包括但不限于各种可编程阵列;所述可编程阵列包括:现场可编程阵列或复杂可编程阵列。
在还有一些实施例中,所述第一投影模块110、所述第一向量模块120、所述第二向量模块130及旋转模块140可为纯硬件模块;所述纯硬件模块包括但不限于专用集成电路。
在一些实施例中,所述装置还包括:
第二投影模块,用于将第二对象投影到所述目标平面得到第二投影,其中,所述第二投影表征所述目标朝向;
所述第一向量模块120,用于基于所述第一投影和所述第二投影,得到所述第一向量。
在一些实施例中,所述第一向量模块120,具体用于基于所述第一投影的第一中心点和三维坐标系的原点,得到第三向量,其中,所述目标轴为所述三维坐标系的一种坐标轴;所述目标平面为所述三维坐标系的坐标轴所在的一个平面;基于所述第二投影的第二中心点和所述三维坐标系的原点,得到第四向量;将所述第四向量减去所述第三向量,得到所述第一向量。
在一些实施例中,所述旋转模块140,具体用于确定所述第一向量和所述第二向量的夹角;控制所述第一对象沿所述目标轴旋转所述夹角。
在一些实施例中,所述旋转模块140,具体用于点乘所述第一向量和所述第二向量,得到点乘积;确定所述第一向量和所述第二向量的长度积;求取所述点乘积与所述长度积之间的商;基于所述商,进行反三角函数运算得到所述夹角。
在一些实施例中,所述装置还包括:
第一朝向向量模块,用于根据所述第一对象的中心点与三维坐标系的原点,得到所述第一对象的朝向向量,其中,所述目标轴为所述三维坐标系的一个坐标轴;所述目标平面为所述三维坐标系的坐标轴所在的一个平面;
在一些实施例中,所述装置还包括:
第二朝向向量模块,用于根据所述第一对象的视线方向,确定所述第一对象的朝向向量。
在一些实施例中,所述第一投影模块110,具体用于在扩展现实XR场景中,将第一对象沿目标轴投影到目标平面得到第一投影,并将第二对象投影到所述目标平面得到第二投影,其中,所述XR场景包括:虚拟现实VR场景、增强现实AR场景及混合显示MR场景的至少其中之一。
以下结合上述任意实施例提供一个具体示例:
示例1:
本示例提供一种运动对象旋转方法,实现在3D空间内,保持一个对象(本文后面统称被旋转物)的姿势不变,转向另外一个对象(本文后面统称目标物,对应前述的第二对象),无论被旋转物与目标物的朝向向量是否在同一平面。例如,3D空间里有一被旋转物,垂直x-z平面站立面向z轴负方向,在其右前的上方有个目标物。
本示例提供的方法可以使被旋转物转向目标物的同时,保持站姿不变,也即垂直x-z平面站立的姿势保持不变,而不会因为转向后,发生倾斜等。
被旋转物在现有的方法下进行转向时,容易在旋转过程中发生倾斜,从而导致初始姿势的变化,失去一致性。
本示例阐述的方法,通过将被旋转物(即第一对象)、被旋转物的朝向向量、目标物(即第二对象)投影到x-z平面,通过系列运算与处理,可以减少被旋转物在旋转过程中的姿势的改变,保持姿势恒定。
为保证A对象在转动的过程中不发生倾斜,将A对象和B对象均投影到x-z平面,两对象的中心点投影在x-z平面的分别为a和b,得到向量
Figure BDA0002151363150000121
将A对象的朝向向量投影到x-z平面,并将此投影向量对向量
Figure BDA0002151363150000122
进行点乘运算,运算结果除以两个向量的长度积,把结果进行反三角cos运算,得到两个向量的夹角θ,将A对象在x-z平面内绕y轴原地旋转角度θ,使A对象朝向B对象。
在游戏中两游戏角色A与B,其中一个游戏角色A需要旋转面对另一游戏角色B,需要保持A游戏角色在旋转过程中保持姿势不变,防止A游戏角色姿势改变和倾斜。
在三维空间中,有两个对象A(y轴值可任意值,不局限于为0)和B(假定B在A的右前方,z轴值高于A),B对象保持位置不变,A对象转动朝向使其面向B。若使用现有的旋转方法,对象a将会旋转至正朝向对象b的方向,从而导致对象a的倾斜,姿势发生改变。
使用本示例旋转方法,对象a将会绕y轴完成旋转朝向对象b,旋转后仍然保持直立和姿势不变。
在相关技术中,三维空间中旋转对象,旋转后的被旋转物的朝向向量是直接指向目标物的。因为被旋转物会发生姿势改变与倾斜,本示例技术可以有效防止不必要的对象姿势改变与倾斜,对象在旋转后仍然保持原有的姿势,更加完好符合应用需要,实现对象的姿势恒定旋转,有效防止因为旋转而导致的对象倾斜和不必要的姿势变化。
此技术利用对象在x-z平面上的坐标投影,使用点乘与反三角的方法找出对象需要旋转的角度,只需要线性代数、反三角运算就可以实现很好的旋转效果,高效率地实现对象的恒定姿势旋转。
如图8所示,本申请实施例提供了一种控制设备,包括:
存储器,用于存储信息;
处理器,分别与显示器及所述存储器连接,用于通过执行存储在所述存储器上的计算机可执行指令,能够实现前述一个或多个技术方案提供的移动对象旋转方法,例如,如图1至图3所示的移动对象旋转方法中的至少之一。
该存储器可为各种类型的存储器,可为随机存储器、只读存储器、闪存等。所述存储器可用于信息存储,例如,存储计算机可执行指令等。所述计算机可执行指令可为各种程序指令,例如,目标程序指令和/或源程序指令等。
所述处理器可为各种类型的处理器,例如,中央处理器、微处理器、数字信号处理器、可编程阵列、数字信号处理器、专用集成电路或图像处理器等。
所述处理器可以通过总线与所述存储器连接。所述总线可为集成电路总线等。
在一些实施例中,所述终端设备还可包括:通信接口,该通信接口可包括:网络接口、例如,局域网接口、收发天线等。所述通信接口同样与所述处理器连接,能够用于信息收发。
在一些实施例中,所述终端设备还包括人机交互接口,例如,所述人机交互接口可包括各种输入输出设备,例如,键盘、触摸屏等。
在一些实施例中,所述控制设备还包括:显示器,该显示器可以第一对象的旋转过程和/或旋转效果。
本申请实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行代码;所述计算机可执行代码被执行后,能够实现前述一个或多个技术方案提供的移动对象旋转方法,例如,如图1至图3所示的移动对象旋转方法中的至少之一。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本申请任意实施例公开的技术特征,在不冲突的情况下,可以任意组合形成新的方法实施例或设备实施例。
本申请任意实施例公开的方法实施例,在不冲突的情况下,可以任意组合形成新的方法实施例。
本申请任意实施例公开的设备实施例,在不冲突的情况下,可以任意组合形成新的设备实施例。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种移动对象旋转方法,其特征在于,包括:
将第一对象投影到目标平面得到第一投影;
基于所述第一投影和目标朝向,得到第一向量;
将所述第一对象的朝向向量投影到所述目标平面,得到第二向量;
基于所述第一向量和所述第二向量,控制所述第一对象沿垂直于所述目标平面的目标轴旋转;
其中:
所述基于所述第一向量和所述第二向量,控制所述第一对象沿垂直于所述目标平面的目标轴旋转,包括:
确定所述第一向量和所述第二向量的夹角;
控制所述第一对象沿所述目标轴旋转所述夹角;
所述确定所述第一向量和所述第二向量的夹角,包括:
点乘所述第一向量和所述第二向量,得到点乘积;
确定所述第一向量和所述第二向量的长度积;
求取所述点乘积与所述长度积之间的商;
基于所述商,进行反三角函数运算得到所述夹角。
2.根据权利要求1所述方法,其特征在于,所述方法还包括将第二对象投影到所述目标平面得到第二投影,其中,所述第二投影表征所述目标朝向;
所述基于所述第一投影和目标朝向,得到第一向量,包括:
基于所述第一投影和所述第二投影,得到所述第一向量。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一投影和所述第二投影,得到第一向量,包括:
基于所述第一投影的第一中心点和三维坐标系的原点,得到第三向量,其中,所述目标轴为所述三维坐标系的一种坐标轴;所述目标平面为所述三维坐标系的坐标轴所在的一个平面;
基于所述第二投影的第二中心点和所述三维坐标系的原点,得到第四向量;
将所述第四向量减去所述第三向量,得到所述第一向量。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
根据所述第一对象的中心点与三维坐标系的原点,得到所述第一对象的朝向向量,其中,所述目标轴为所述三维坐标系的一个坐标轴;所述目标平面为所述三维坐标系的坐标轴所在的一个平面。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述第一对象的视线方向,确定所述第一对象的朝向向量。
6.一种移动对象旋转装置,其特征在于,包括:
第一投影模块,用于将第一对象投影到目标平面得到第一投影;
第一向量模块,用于基于所述第一投影和目标朝向,得到第一向量;
第二向量模块,用于将所述第一对象的朝向向量投影到所述目标平面,得到第二向量;
旋转模块,用于基于所述第一向量和所述第二向量,控制所述第一对象沿垂直于所述目标平面的目标轴旋转;
其中:
所述旋转模块,具体用于确定所述第一向量和所述第二向量的夹角;以及控制所述第一对象沿所述目标轴旋转所述夹角;
所述旋转模块,还具体用于点乘所述第一向量和所述第二向量,得到点乘积;以及确定所述第一向量和所述第二向量的长度积;以及求取所述点乘积与所述长度积之间的商;以及基于所述商,进行反三角函数运算得到所述夹角。
7.根据权利要求6所述装置,其特征在于,所述装置还包括:
第二投影模块,用于将第二对象投影到所述目标平面得到第二投影,其中,所述第二投影表征所述目标朝向;
所述第一向量模块,用于基于所述第一投影和所述第二投影,得到所述第一向量。
8.根据权利要求7所述的装置,其特征在于,所述第一向量模块,具体用于基于所述第一投影的第一中心点和三维坐标系的原点,得到第三向量,其中,所述目标轴为所述三维坐标系的一种坐标轴;所述目标平面为所述三维坐标系的坐标轴所在的一个平面;基于所述第二投影的第二中心点和所述三维坐标系的原点,得到第四向量;将所述第四向量减去所述第三向量,得到所述第一向量。
9.根据权利要求6至8任一项所述的装置,其特征在于,所述装置还包括:
第一朝向向量模块,用于根据所述第一对象的中心点与三维坐标系的原点,得到所述第一对象的朝向向量,其中,所述目标轴为所述三维坐标系的一个坐标轴;所述目标平面为所述三维坐标系的坐标轴所在的一个平面。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二朝向向量模块,用于根据所述第一对象的视线方向,确定所述第一对象的朝向向量。
11.一种控制设备,其特征在于,包括:
存储器;
处理器,与所述存储器连接,用于通过执行存储在所述存储器上的计算机可执行指令,能够实现权利要求1至5任一项提供的方法。
12.一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令,被处理器执行后,能够实现权利要求1至5任一项提供的方法。
CN201910703103.7A 2019-07-31 2019-07-31 移动对象旋转方法及装置、控制设备及存储介质 Active CN110458943B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910703103.7A CN110458943B (zh) 2019-07-31 2019-07-31 移动对象旋转方法及装置、控制设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910703103.7A CN110458943B (zh) 2019-07-31 2019-07-31 移动对象旋转方法及装置、控制设备及存储介质

Publications (2)

Publication Number Publication Date
CN110458943A CN110458943A (zh) 2019-11-15
CN110458943B true CN110458943B (zh) 2021-09-14

Family

ID=68484330

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910703103.7A Active CN110458943B (zh) 2019-07-31 2019-07-31 移动对象旋转方法及装置、控制设备及存储介质

Country Status (1)

Country Link
CN (1) CN110458943B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112076473B (zh) * 2020-09-11 2022-07-01 腾讯科技(深圳)有限公司 虚拟道具的控制方法、装置、电子设备及存储介质
CN112327837A (zh) * 2020-10-28 2021-02-05 深圳市银星智能科技股份有限公司 机器人行进方法、非易失性计算机可读存储介质及机器人
CN116797769B (zh) * 2023-08-23 2023-11-21 腾讯科技(深圳)有限公司 一种数据处理方法、装置、计算机设备以及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103578127A (zh) * 2013-11-13 2014-02-12 北京像素软件科技股份有限公司 一种对象转身操作实现方法及装置
CN107564089A (zh) * 2017-08-10 2018-01-09 腾讯科技(深圳)有限公司 三维图像处理方法、装置、存储介质和计算机设备
CN108858188A (zh) * 2018-06-20 2018-11-23 华南理工大学 一种应用于人形机器人的人体转体和位移映射方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105627995B (zh) * 2016-03-31 2018-03-23 京东方科技集团股份有限公司 摄像装置、转动装置、测距装置、测距系统和测距方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103578127A (zh) * 2013-11-13 2014-02-12 北京像素软件科技股份有限公司 一种对象转身操作实现方法及装置
CN107564089A (zh) * 2017-08-10 2018-01-09 腾讯科技(深圳)有限公司 三维图像处理方法、装置、存储介质和计算机设备
CN108858188A (zh) * 2018-06-20 2018-11-23 华南理工大学 一种应用于人形机器人的人体转体和位移映射方法

Also Published As

Publication number Publication date
CN110458943A (zh) 2019-11-15

Similar Documents

Publication Publication Date Title
US11074755B2 (en) Method, device, terminal device and storage medium for realizing augmented reality image
CN110458943B (zh) 移动对象旋转方法及装置、控制设备及存储介质
CN108450058B (zh) 实时自动车载相机校准
KR100356429B1 (ko) 3차원화상처리장치
US20170186219A1 (en) Method for 360-degree panoramic display, display module and mobile terminal
KR20170092632A (ko) 혼합 현실 시각화 및 방법
CN112729327B (zh) 一种导航方法、装置、计算机设备及存储介质
US11307677B2 (en) Method and device for object pointing in virtual reality (VR) scene using a gamepad, and VR apparatus
CN110688002A (zh) 虚拟内容的调整方法、装置、终端设备及存储介质
CN111833403A (zh) 用于空间定位的方法和装置
CN111949816A (zh) 定位处理方法、装置、电子设备和存储介质
US20190221022A1 (en) Video generation device, video generation method, and video generation program
CN111275803A (zh) 3d模型渲染方法、装置、设备和存储介质
EP4428577A1 (en) Method, apparatus, device, storage medium and program product for target positioning
CN110825280A (zh) 控制虚拟物体位置移动的方法、装置和计算机可读存储介质
CN110827412A (zh) 自适应平面的方法、装置和计算机可读存储介质
CN113648654B (zh) 游戏画面的处理方法、装置、设备、存储介质及程序产品
US20230054805A1 (en) Information processing apparatus, information processing method, and storage medium
CN112473138B (zh) 游戏的显示控制方法及装置、可读存储介质、电子设备
CN109949396A (zh) 一种渲染方法、装置、设备和介质
CN114307145A (zh) 画面显示方法、装置、终端、存储介质及程序产品
CN108421256A (zh) 对象位置显示方法和设备
CN116020119A (zh) 虚拟场景中视野的控制方法、装置以及电子终端
US20170186218A1 (en) Method for loading 360 degree images, a loading module and mobile terminal
CN114663615A (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