CN112991444B - 位置确定方法及设备 - Google Patents

位置确定方法及设备 Download PDF

Info

Publication number
CN112991444B
CN112991444B CN202110184695.3A CN202110184695A CN112991444B CN 112991444 B CN112991444 B CN 112991444B CN 202110184695 A CN202110184695 A CN 202110184695A CN 112991444 B CN112991444 B CN 112991444B
Authority
CN
China
Prior art keywords
grid
deformation
model
current
elastic object
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
CN202110184695.3A
Other languages
English (en)
Other versions
CN112991444A (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.)
Beijing Zitiao Network Technology Co Ltd
Original Assignee
Beijing Zitiao Network 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 Beijing Zitiao Network Technology Co Ltd filed Critical Beijing Zitiao Network Technology Co Ltd
Priority to CN202110184695.3A priority Critical patent/CN112991444B/zh
Publication of CN112991444A publication Critical patent/CN112991444A/zh
Priority to PCT/CN2022/075876 priority patent/WO2022171180A1/zh
Priority to US18/546,043 priority patent/US20240127541A1/en
Application granted granted Critical
Publication of CN112991444B publication Critical patent/CN112991444B/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
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/44Morphing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification
    • 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
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation

Landscapes

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

Abstract

本公开实施例提供一种位置确定方法及设备,所述方法包括:构建弹性对象的网格模型;响应于针对弹性对象的形变触发操作,确定弹性对象的网格模型中网格点的形变信息,其中,形变触发操作用于触发弹性对象因受压差作用而发生体积形变,压差作用是由弹性对象的内部与弹性对象的外部之间存在压强差而产生的作用,形变信息为网格点在压差作用下的形变信息,形变信息包括形变位置。基于网格点的形变位置以及弹性对象的网格模型在体积形变的情况下的弹性约束,确定弹性对象的网格模型中网格点的运动轨迹;基于弹性对象的网格模型中网格点的运动轨迹,调动弹性对象的网格模型进行弹性运动,以使得弹性对象发生体积形变,保证弹性对象的充放气效果。

Description

位置确定方法及设备
技术领域
本公开实施例涉及计算机技术领域,尤其涉及一种位置确定方法及设备。
背景技术
弹性特效是指可以进行拉伸或收缩的特效。当弹性特效进行拉伸时,相当于在进行充气,弹性特效的体积会变大,当弹性特效进行收缩时,相当于在进行放气,弹性特效的体积会变小。
目前,弹性特效一般使用三维模型进行实现。在弹性特效的显示过程中,弹性特效会进行充气和/或放气。为了实现弹性特效的充放气,需要确定弹性特效对应的三维模型的网格点在不同时刻的位置,即根据网格点在当前帧图像上的位置以及网格点的运动信息(例如,速度)预测网格点在下一帧图像上的位置,以供利用预测的网格点的位置,对三维模型进行拉伸或收缩,使得弹性特效进行充气或放气,从而实现弹性特效的动态显示效果。
然而,当仅通过网格点的运动信息预测网格点在下一视频帧的位置时,预测得到的位置会出现较大偏差,从而造成进行拉伸或收缩后的三维模型的形状与初始形状差异较大,进而影响弹性特效的充放气效果。
发明内容
本公开实施例提供一种位置确定方法及设备,以提高网格点位置确定的准确度,从而保证弹性特效的充放气效果。
第一方面,本公开实施例提供一种位置确定方法,包括:
构建弹性对象的网格模型;
响应于针对所述弹性对象的形变触发操作,确定所述弹性对象的网格模型中网格点的形变信息,其中,所述形变触发操作用于触发所述弹性对象因受压差作用而发生体积形变,所述压差作用是由所述弹性对象的内部与所述弹性对象的外部之间存在压强差而产生的作用,所述形变信息为所述网格点在所述压差作用下的形变信息,所述形变信息包括形变位置。
基于所述网格点的形变位置以及所述弹性对象的网格模型在所述体积形变的情况下的弹性约束,确定所述弹性对象的网格模型中网格点的运动轨迹;
基于所述弹性对象的网格模型中网格点的运动轨迹,调动所述弹性对象的网格模型进行弹性运动,以使得所述弹性对象发生所述体积形变。
第二方面,本公开实施例提供一种位置确定设备,包括:
模型确定模块,用于构建弹性对象的网格模型;
处理模块,还用于响应于针对所述弹性对象的形变触发操作,确定所述弹性对象的网格模型中网格点的形变信息,其中,所述形变触发操作用于触发所述弹性对象因受压差作用而发生体积形变,所述压差作用是由所述弹性对象的内部与所述弹性对象的外部之间存在压强差而产生的作用,所述形变信息为所述网格点在所述压差作用下的形变信息,所述形变信息包括形变位置。
所述处理模块,还用于基于所述网格点的形变位置以及所述弹性对象的网格模型在所述体积形变的情况下的弹性约束,确定所述弹性对象的网格模型中网格点的运动轨迹;
所述处理模块,还用于基于所述弹性对象的网格模型中网格点的运动轨迹,调动所述弹性对象的网格模型进行弹性运动,以使得所述弹性对象发生所述体积形变。
第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器。
所述存储器存储计算机执行指令。
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的位置确定方法。
第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的位置确定方法。
第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第一方面以及第一方面各种可能的设计所述的位置确定方法。
本公开实施例提供了一种位置确定方法及设备,通过在确定弹性对象,即弹性特效需要进行充气或放气,即需要进行拉伸或收缩以使弹性特效的体积发生形变时,确定弹性特效对应的网格模型中的网格点的形变信息,该形变信息包括形变位置,该网格点的形变位置表示网格点在体积形变时,网格点的位置变化情况,在确定形变位置后,即在初始预测网格点的位置后,基于相关弹性约束,对该形变位置进行约束调整,以得到网格点的运动轨迹,即得到网格点的运动位置,实现网格点位置的准确确定,提高网格点位置确定的准确率,从而在根据网格点的运动位置调用弹性对象的网格模型进行弹性运动,即拉伸或收缩后,拉伸或收缩后的网格模型的形状与网格模型的初始形状的差异性较小,网格模型的形状保持良好,进而提高弹性对象,即弹性特效的充放气效果,用户体验高。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的特效显示的示意图一;
图2为本公开实施例提供的特效显示的示意图二;
图3为本公开实施例提供的位置确定方法的流程示意图一;
图4为本公开实施例提供的位置确定方法的流程示意图二;
图5为本公开实施例提供的空洞边的示意图;
图6为本公开实施例提供的位置确定设备的结构框图;
图7为本公开实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
当弹性特效进行拉伸时,相当于在进行充气,弹性特效的体积会变大(如图1所示,图1中的a所示的为充气前的弹性特效,图1中的b所示的为充气后的弹性特效),当弹性特效进行收缩时,相当于在进行放气,弹性特效的体积会变小(如图2所示,图2中的a所示的为放气前的弹性特效,图2中的b所示的为放气后的弹性特效)。
目前,为了实现弹性特效的充放气,需要确定弹性特效对应的三维模型的网格点在不同时刻的位置,即根据网格点在当前帧图像上的位置以及网格点的运动信息确定网格点在下一视频帧上的预测位置,以供利用网格点的预测位置,对三维模型进行拉伸或收缩,使得弹性特效进行拉伸或收缩,从而实现弹性特效的动态显示效果。然而,当仅通过网格点的运动信息预测网格点在下一视频帧的位置时,预测得到的位置会出现偏差,从而造成进行拉伸或收缩后的三维模型的形状与初始形状差异较大,进而影响弹性特效的充放气效果。
因此,针对上述问题,本发明的技术构思是自动对网格模型的空洞边界进行处理,使得体积约束能够建立,并对每帧动画上的弹性特效对应的网格模型施加形状保持约束,以还原走形的点,从而准确预测得到的网格点在下一帧动画上的位置,进而保证网格模型在进行充放气后局部细节形变较小,即与初始形状差异较小,避免网格模型局部细节丢失,保证弹性特效的充放气效果。
参考图3,图3为本公开实施例提供的位置确定方法的流程示意图一。本实施例的方法可以应用在电子设备中,例如,移动终端、服务器、台式电脑、笔记本电脑,如图3所示,该业务处理方法包括:
S301、构建弹性对象的网格模型。
在本公开实施例中,为了使用网格模型来实现弹性特效,需要先构建弹性特效,即构建弹性对象的网格模型,以供利用构建的网格模型实现弹性特效的拉伸或收缩。
其中,弹性对象的网格模型为实现弹性特效所使用的三维模型,即3D模型。该网格模型是由面、边(即网格边)和网格点,即顶点组成。其中,面是网格模型的表面上的几何面,即多边形面(例如,三角形面),3D模型的表面由数百或数千个几何面组成。边是3D模型表面上两个多边形面相交的任何点。网格点,即顶点是指三个或更多边之间的交点。
可选的,网格模型为未封闭的网格模型,从而可以使弹性对象在进行充气或放气的过程中,可以更好地保持弹性对象,即网格模型的细节特征,例如,使得图1中a或b中的弹性对象的头发可以保持初始形状。
另外,可选的,构建弹性对象的网格模型后,当用户选择添加弹性特效时,便可以将弹性对象添加至相应的图像帧中。
其中,图像帧可以为视频、游戏、直播等中的图像帧。例如,用户在拍摄视频后,选择添加弹性特效,则电子设备在该视频上添加该弹性特效,即在该视频所包括的图像帧上添加弹性特效,在用户播放添加了弹性特效的视频的过程中,弹性特效进行充气和/或放气,例如,先进行充气,然后再进行放气。
S302、响应于针对弹性对象的形变触发操作,确定弹性对象的网格模型中网格点的形变信息,其中,形变触发操作用于触发弹性对象因受压差作用而发生体积形变,压差作用是由弹性对象的内部与弹性对象的外部之间存在压强差而产生的作用,形变信息为网格点在压差作用下的形变信息,形变信息包括形变位置。
在本公开实施例中,在检测到用户输入形变触发操作时,表明需要对图像帧上的弹性对象进行充放气,即需要对弹性对象的网格模型进行拉伸或收缩,则确定该网格模型的形变信息,以供利用该形变信息对网格模型进行拉伸或收缩。
可选的,形变触发操作可以为添加特效操作,该添加特效操作用于指示将弹性特效添加至图像帧上,例如,用户在直播的过程中,想要添加弹性特效,便可以输入添加特效操作,以将该弹性特效添加至直播画面,即图像帧上,弹性特效便会进行充放气。形变触发操作也可以为播放特效操作,该播放特效操作用于指示播放添加了弹性特效的视频,例如,当用户想要播放添加了弹性特效的视频后,便可以选择播放按键,以输入播放特效操作。当然,形变触发操作也可以为其它类型的操作,在此,不对其进行限制。
可选的,形变信息包括形变位置和速度,即速度信息。其中,形变位置包括网格点的当前形变位置和网格点的预测形变位置。其中,速度信息包括网格点的当前运动速度和当前运动加速度。
其中,当前形变位置表示网格点在当前时刻,即当前图像帧上所处的位置,即坐标位置。预测形变位置表示初步预测到的网格点在下一时刻,即在下一图像帧上所处的位置,即坐标位置。
进一步的,可选的,预测形变位置是根据网格点的当前运动速度和当前运动加速度确定的,即对于网格模型中的每个网格点,根据该网格点的当前形变位置和速度信息对该网格点的位置进行初步预测,得到该网格点在下一帧图像上的位置,即得到该网格点在下一时刻的位置,并将其确定为该网格点的预测形变位置,实现网格点下一时刻的位置的初步预测。
另外,可选的,在得到网格点的预测形变位置后,为了提高位置确定的准确性,需要对其进行约束调整,以得到网格点的运动位置,从而确定网格点的运动轨迹。
在本公开实施例中,当弹性对象进行充气或放气时,其相当于气球进行充气或放气。当气球进行充放气时,气球的内部与外部之间存在压强差,从而会出现压差作用,该压差作用会导致气球的体积发生形变。当弹性对象发生体积形变时,弹性对象的网格模型中的顶点在运动,从而使得网格模型中的网格边延长或缩短,进而使得网格模型的体积增大或缩小,即使得弹性对象的体积发生形变。
S303、基于网格点的形变位置以及弹性对象的网格模型在体积形变的情况下的弹性约束,确定弹性对象的网格模型中网格点的运动轨迹。
在本公开实施例中,在得到网格点的形变位置,即预测形变位置后,基于弹性对象的网格模型在体积形变时的弹性约束,对各个网格点的预测形变位置进行约束调整,得到各个网格点在下一时刻的运动位置,即目标预测位置,使得预测到的网格点的位置更加合理,实现网格点位置的准确确定。
在本公开实施例中,在确定网格模型中的网格点在下一时刻的运动位置后,便可以确定出网格点的运动轨迹,该网格点的运动轨迹是由网格点在不同时刻的运动位置组成。
可选的,弹性约束包括形状保持约束以及以下中的一种或多种:体积约束和边距离约束。
其中,形状保持约束是指对网格模型进行形状保持约束,以还原走形的网格点,即还原位置偏差较大的网格点,避免网格模型的局部细节丢失。体积约束是指对网格模型进行体积约束,使得每个网格点可以沿着体积约束梯度方向进行运动,以较准确地确定网格点在下一时刻的位置。边距离约束是指对网格模型进行边距离约束,使得网格点沿着拉伸/收缩方向进行运动,以较准确地确定网格点在下一时刻的位置。
S304、基于弹性对象的网格模型中网格点的运动轨迹,调动弹性对象的网格模型进行弹性运动,以使得弹性对象发生体积形变。
在本公开实施例中,在得到各个网格点的运动位置后,便可以确定出各个网格点的运动轨迹,基于各个网格点的运动轨迹,即基于各个网格点在下一时刻的运动位置,对网格模型进行拉伸或收缩,以使网格模型的网格点由当前形变位置运动至目标预测位置,即运动位置,实现弹性对象的拉伸或收缩,即实现弹性对象的充放气。
在本公开实施例中,当需要对网格模型进行充放气时,在初步确定网格点在下一时刻的形变位置后,即在得到预测形变位置后,基于网格模型在体积形变的情况下的弹性约束,对初步预测到的网格点在下一时刻的位置,即对预测形变位置进行调整,以使调整后的网格点在下一时刻的位置更加合理,准确度更高,从而在根据调整后的网格点在下一时刻的位置,即运动位置对网格模型进行充放气时,可以减少充放气后的网格模型的形状与网格模型的初始形状之间的差异性较小,即实现网格模型的形状的保持,进而弹性特效的充放气效果。
从上述描述可知,在确定弹性对象,即弹性特效需要进行充气或放气,即需要进行拉伸或收缩以使弹性特效的体积发生形变时,确定弹性特效对应的网格模型中的网格点的形变信息,该形变信息包括形变位置,该网格点的形变位置表示网格点在体积形变时,网格点的位置变化情况,在确定形变位置后,即在初始预测网格点的位置后,基于相关弹性约束,对该形变位置进行约束调整,以得到网格点的运动轨迹,即得到网格点的运动位置,实现网格点位置的准确确定,提高网格点位置确定的准确率,从而在根据网格点的运动位置调用弹性对象的网格模型进行弹性运动,即拉伸或收缩后,拉伸或收缩后的网格模型的形状与网格模型的初始形状的差异性较小,网格模型的形状保持良好,进而提高弹性对象,即弹性特效的充放气效果,用户体验高。
参考图4,图4为本公开实施例提供的位置确定方法流程示意图二。在图3实施例的基础上,在对网格点的预测形变位置进行约束调整时,可以对其进行形状保持约束,以使弹性运动后的网格模型的形状保持良好,下面将结合一个具体实施例对此过程进行详细描述,如图4所示,该方法包括:
S401、构建弹性对象的网格模型。
在本公开实施例中,在构建弹性对象的网格模型成功后,便可以确定该网格模型的原始模型信息,该原始模型信息为网格模型在初始状态,即未发生体积形变时,网格模型的相关模型信息,例如,在显示包含弹性特效的初始图像帧时,网格模型的模型信息便为原始模型信息,以供后续在进行弹性运动时,可以利用该原始模型信息确定网格模型的当前模型信息以及网格模型的网格点的运动位置。
可选的,网格模型的原始模型信息包括网格模型的原始体积、原始质量中心位置、原始形状保持矩阵和网格点的原始位置、网格边的原始长度。
其中,原始体积为弹性对象的网格模型未发生弹性变化,即未发生体积形变时的体积,其确定过程包括:获取弹性对象的网格模型的基础信息,其中,基础信息包括弹性对象的网格模型的原始面信息。根据弹性对象的网格模型的原始面信息得到弹性对象的网格模型的内部网格边信息和空洞网格边信息。根据内部网格边信息和空洞网格边信息得到弹性对象的网格模型的原始体积。
在本公开实施例中,弹性对象的网格模型是有若干个面组成,每个面由多个网格边组成,每个网格边是由两个相邻的网格点得到的,即通过对相邻的两个网格点进行连接,得到相应的网格边。例如,网格模型的面为几何面,例如为三角形面,每个三角形面包括三个网格点,三个网格点中的相邻两个网格点之间的线段便为网格边。
可选的,网格模型的基础信息为构建的网格模型的一些基本信息,其在构建网格模型时,便可以直接确定。
可选的,网格模型的面信息包括组成该面的各个网格边的信息,该网格边的信息可以包括该网格边的原始长度以及该网格边对应的两个网格点的初始位置,即网格模型的基础信息包括网格模型的各个网格点的原始位置,即在初始状态下的位置。
具体的,在得到网格模型的面信息后,可以根据该面所包括的各个网格边的信息确定出内部网格边以及空洞网格边,从而得到内部网格边信息和空洞网格边信息。
其中,空洞网格边为网格模型的缺口处,即空洞处的网格边,内部网格边为除空洞网格边以外的网格边,即其并未在网格模型的缺口处。
为了方便描述,将构建得到的网格模型的面作为普通面,即还未建立虚拟面的网格模型中的面为普通面。
具体的,在确定空洞网格边信息后,基于空洞边信息建立虚拟面,即基于网格模型的普通面的几何形状,对空洞边的网格点进行连接,以得到相应的虚拟面,如图5所示,网格模型的面,即普通面的形状为三角形,按照该三角形,对空洞边的网格点进行连接,得到相应的虚拟面。
在建立虚拟面后,计算网格模型中的每个面(其包括普通面和虚拟面)和预设坐标原点组成的四面体的体积,该体积为带符号的体积,将计算得到的各个四面体的体积进行相加,得到网格模型的原始体积,即得到网格模型在初始状态时的体积大小。
可选的,计算网格模型的原始质量中心位置,即网格模型在初始状态时的质量中心的坐标的过程包括:获取弹性对象的网格模型的总质量。根据预设网格点质量、网格点的原始位置和弹性对象的网格模型的总质量确定网格模型的原始质量中心位置。
具体的,根据
Figure BDA0002942586580000091
计算网格模型的原始质量中心位置,其中cen0为原始质量中心位置,nV为网格模型的网格点的数目,pos0i为第i个网格点的原始位置,mV为预设网格点质量,M为网格模型的总质量。
其中,当网格模型进行拉伸或伸缩时,网格模型的网格点质量不会发生变化,始终为预设网格点质量。预设网格点质量的具体大小可以根据实际情况进行设置,在此,不再对其进行限制。网格模型的总质量也不会发生变化,该网格模型的总质量可以是由相关人员预先设置的,也可以是所有网格点的质量的和。
进一步的,可选的,在计算得到原始质量中心位置后,还可以利用该原始质量中心位置确定网格模型的原始形状保持矩阵,即根据预设网格点质量、网格点的原始位置和原始质量中心位置得到弹性对象的网格模型的原始形状保持矩阵。
具体的,根据
Figure BDA0002942586580000101
计算网格模型的原始形状保持矩阵,其中,rA0为原始形状保持矩阵,mV为预设网格点质量,pos0i为第i个网格点的原始位置,cen0为原始质量中心位置。
另外,可选的,还可以根据网格边的两个网格点的原始位置确定该网格边的原始边长,即根据rLen=||pos01-pos02||,计算网格边的原始边长,即网格边在初始状态时的边长长度,其中,rLen为原始边长,pos01为该网格边的一个网格点的原始位置,pos02为该网格边的另一个网格点的原始位置。
S402、响应于针对弹性对象的形变触发操作,确定弹性对象的网格模型中网格点的形变信息,其中,形变触发操作用于触发弹性对象因受压差作用而发生体积形变,压差作用是由弹性对象的内部与弹性对象的外部之间存在压强差而产生的作用,形变信息为网格点在压差作用下的形变信息,形变信息包括形变位置。
在本公开实施例中,在确定预测形变位置时,可以利用网格点的速度信息进行确定,即获取弹性对象的网格模型对应的形变时间间隔。基于预设显示欧拉算法,根据网格点的当前运动速度、当前运动加速度、当前形变位置和形变时间间隔,得到网格点的预测形变位置。
在本公开实施例中,获取形变时间间隔,即获取图像帧间隔,其中图像帧间隔为当前帧图像与下一个图像帧之间的时间间隔。基于预设显示欧拉算法,根据网格点的当前运动速度、当前运动加速度和图像帧间隔,得到网格点的预测形变位置。
具体的,图像帧间隔为两个图像帧之间的时间间隔,即当前时刻显示的图像帧与下一时刻显示的图像帧之间的时间间隔,其相当于时间步长。
在本公开实施例中,对于每个网格点,根据该网格点的当前运动速度和当前运行加速度和图像帧间隔,即形变时间间隔可以确定该网格点在该图像帧间隔内运动的距离,从而可以基于该距离与该网格点的当前形变位置初步预测到该网格点在下一时刻运动到的位置,以得到该网格点的预测形变位置。
进一步的,可选的,基于预设显示欧拉算法,根据网格点的当前运动速度、当前运动加速度、当前形变位置和形变时间间隔,得到网格点的预测形变位置,包括:
通过pos1=pos+vel*dt+acc*dt2,计算网格点的预测形变位置,其中pos1为网格点的预测形变位置,pos为网格点的当前形变位置,vel为网格点的当前运动速度,dt为形变时间间隔,acc为网格点的当前运动加速度。
在本公开实施例中,对于每个网格点,可以按照pos1=pos+vel*dt+acc*dt2进行初始位置预测,以得到该网格点在下一帧图像上的位置,即得到该网格点的初始预测位置,即预测形变位置。
S403、获取弹性对象的网格模型的原始模型信息和当前模型信息,其中,原始模型信息包括网格点的原始位置、弹性对象的网格模型的原始形状保持矩阵和原始质量中心位置。当前模型信息包括弹性对象的网格模型的当前质量中心位置。
S404、基于形状保持约束规则,根据网格点的原始位置、原始形状保持矩阵、原始质量中心位置和当前质量中心位置对网格点的预测形变位置进行调整,得到网格点的运动位置。
在本公开实施例中,在显示弹性特效显示的过程中,获取当前帧图像,即当前显示的图像帧中的弹性对象的网格模型的模型信息,并将其作为当前模型信息。
可选的,当前模型信息包括网格模型的当前质量中心位置、网格模型的当前体积、网格点的当前法线信息、网格模型的网格边的当前形变长度。其中,网格边是由相邻的两个网格点得到的。当前质量中心位置为网格模型的质量中心在当前时刻的坐标。网格点的当前法线信息包括网格点的当前法线坐标,即网格点的法线在当前时刻的坐标。
在本公开实施例中,基于形状保持约束规则,根据网格模型的原始模型信息,即在初始状态下的模型信息和网格模型的当前模型信息对网格模型的各个网格点的预测形变位置,即初始预测位置进行调整,以还原走形的网格点的位置,即对网格模型的形状进行约束调整,从而在根据调整后的预测形变位置对网格模型进行动态充气或放气时,可以保持网格模型的形状,即使得网格模型的细节形变较小,提高网格模型的显示效果,即提高弹性特效的显示效果。
在本公开实施例中,可选的,S404的实现过程包括:
根据预设网格点质量、网格点的预测形变位置、当前质量中心位置、各个网格点的原始位置和原始质量中心位置得到当前形状变换矩阵。根据当前形状变化矩阵、原始形状保持矩阵、当前质量中心位置和原始质量中心位置对网格点的预测形变位置进行调整,得到网格点的运动位置。
具体的,基于最小二乘法计算当前形状变换矩阵,即根据
Figure BDA0002942586580000121
其中,rA1为当前形状变换矩阵,nV为网格模型的网格点数目,mV为预设网格点质量,pos1i为第i个网格点的预测形变位置,cen1为网格模型的当前质量中心位置、pos0i为第i个网格点的原始位置,cen0为网格模型的原始质量中心位置。
在得到当前形状变换矩阵后,根据postgt=cen1+rA1*rA0-1*(pos0-cen0)计算各个网格点的运动位置,其中,postgt为网格点的运动位置,rA1为当前形状变换矩阵,rA0-1为rA0的逆矩阵,即为原始形状保持矩阵的逆矩阵,pos0为网格点的原始位置,cen0为网格模型的原始质量中心位置。
其中,网格模型的网格点数目为网格模型所包括的网格点的数目。
其中,网格模型的当前质量中心位置的确定过程与网格模型的原始质量中心位置的确定过程类似,在此,不再对其进行赘述。
进一步的,可选的,在对网格模型进行形状保持约束之前,还可以对其进行体积约束和/或边距离约束,以使得到的网格点的运动位置,即目标预测位置更加准确,使得网格模型对应的弹性特效充放气过程更加逼真,保证特效的显示效果。
可选的,对网格模型进行体积约束的过程为:获取弹性对象的网格模型的目标形变体积。基于体积约束规则,根据当前形变体积和目标形变体积对网格点的预测形变位置进行调整,得到网格点的第一预测位置。
其中,当网格模型需要进行拉伸,即需要进行充气时,目标形变体积为网格模型在充气结束时的体积。当网格模型需要进行收缩,即需要进行放弃时,目标形变体积为网格模型在放气结束时的体积。
可选的,为了提高个性化体验,用户可以选择放大倍数或缩小倍数,例如,用户选择放大倍数为2,网格模型的原始体积为a,则目标形变体积为2a。
进一步的,可选的,基于体积约束规则,根据当前形变体积和目标形变体积对网格点的预测形变位置进行调整,得到网格点的第一预测位置,包括:
获取弹性对象的网格模型的网格点数目。
获取网格点的目标形变体积与当前形变体积的差值,并将其确定为剩余形变体积。
根据网格点的当前法线信息、剩余形变体积和网格点数目对网格点的预测形变位置进行调整,得到网格点的第一预测位置。
具体的,对于每个网格点,根据该网格点的当前法线坐标、剩余形变体积和网格点数目,对该网格点的预测形变位置,即初始预测位置进行调整,以得到该网格点的第一预测位置,即
Figure BDA0002942586580000131
其中,post1为该网格点的第一预测位置,pos1为该网格点的预测形变位置,normal为该网格点的当前法线坐标,tvol为目标形变体积,vol为当前形变体积,nV为网格点数目。
其中,网格模型的当前形变体积的确定过程与上述网格模型的原始体积的确定过程类似,在此,不再对其进行赘述。
另外,在进行体积约束后,进行形状保持约束时,直接利用进行体积约束后的第一预测位置进行形状保持约束,即基于形状保持约束规则,根据原始质量中心位置、原始形状保持矩阵、网格点的原始位置、网格点的第一预测位置和当前质量中心位置,得到网格点的目标预测位置,即得到网格点的运动位置,即将确定当前变换形状变换矩阵中的预测形变位置替换为第一预测位置。
在本公开实施例中,根据当前形变体积和目标形变体积的差值,即根据剩余形变体积沿体积约束梯度方向更新网格点的预测形变位置,实现网格点的预测形变位置,即初始预测位置的一次调整,从而提高后续确定的网格点的目标预测位置,即运动位置的准确性。
可选的,对网格模型进行边距离约束的过程为:
分别获取各网格点对应的多个网格边,并分别从各网格点对应的多个网格边中选取各网格点对应的目标网格边。
基于边距离约束规则,根据各网格点对应的目标网格边的原始长度和当前形变长度,对各网格点的预测形变位置进行调整,得到各网格点的第二预测位置。
在本公开实施例中,由于网格模型的一条网格边是由两个网格点组成,因此,一个网格点对应有多个网格边,即该多个网格边的网格点中都存在该一个网格点。在进行边距离约束时,遍历每个网格点,然后从该网格点对应的多个网格边中选取一条网格边,并将其确定为该网格点对应的目标网格边,以供利用该目标网格边中的另一个网格点的位置对该网格点的初始预测位置进行调整。
其中,在选取目标网格边时,可以按照一定顺序选取,只需保证每个网格点的预测形变位置都进行边距离约束调整过,例如,按照从上至下,从左至右的顺序遍历网格点,然后将当前访问的网格点与下一个将要访问的网格点之间的网格边作为该当前访问的网格点的目标网格边。
进一步的,可选的,基于边距离约束规则,根据各网格点对应的目标网格边的原始长度和当前形变长度,对各网格点的预测形变位置进行调整,得到各网格点的第二预测位置,包括:
对于每个网格点,获取网格点对应的目标网格边中的另一个网格点的当前形变位置。
根据网格点对应的目标网格边的原始长度和当前形变长度,确定网格点对应的弹性变化比例。
根据另一个网格点的当前形变位置和网格点对应的弹性变化比例对网格点的预测形变位置进行调整,得到网格点的第二预测位置。
具体的,在对一个网格点进行边距离约束时,根据
Figure BDA0002942586580000141
计算该网格点的第二预测位置,其中,post2为该网格点的第二预测位置,pos11为该网格点的预测形变位置,pos12为该网格点对应的目标网格边中的另一个网格点的预测形变位置,rLen为该网格点对应的目标网格边的原始边长。
另外,在进行边距离约束后,进行形状保持约束时,直接利用进行边距离约束后的第二预测位置进行形状保持约束,而不使用网格点的预测形变位置,即基于形状保持约束规则,根据原始质量中心位置、原始形状保持矩阵、网格点的原始位置、网格点的第二预测位置和当前质量中心位置,得到网格点的运动位置,即将确定当前变换形状变换矩阵中的预测形变位置替换为第二预测位置。
需要说明,在进行边距离约束之前,也可以进行体积约束,相应的,将进行边距离约束中的公式中的预测形变位置替换为第一预测位置。
在本公开实施例中,根据网格边的边长拉伸或收缩比例,即根据网格点对应的弹性变化比例,沿拉伸/收缩方向更新网格点的预测形变位置,即初始预测位置,实现网格点的初始预测位置的一次调整,从而提高后续确定的网格点的运动位置的准确性。
另外,可选的,在进行边距离约束之前,还可以进行体积约束,相应的,在进行体积距离约束后,进行边距离约束时,直接利用进行体积约束后的第一预测位置进行形状保持约束,而不使用网格点的初始预测位置,即基于边距离约束规则,根据各网格点对应的目标网格边的原始长度和当前形变长度,对各网格点的第一预测位置进行调整,得到各网格点的第二预测位置。
S405、基于弹性对象的网格模型中网格点的运动位置,调动弹性对象的网格模型进行弹性运动,以使得弹性对象发生体积形变。
在本公开实施例中,在得到网格点的运动位置后,即在准确确定网格点在下一时刻的位置后,可以根据网格点的当前形变位置和运动位置对网格顶点的速度,即对网格点的当前运动速度和当前运动加速度进行更新,更新后的当前速度信息便为网格点在下一时刻的速度,即在下一时刻的当前运动速度和当前运动加速度。
进一步的,可选的,在对网格点的当前运动加速度进行更新时,将网格点的当前运动速度,即未更新的当前运动速度作为初始速度,根据网格点的当前形变位置和网格点在下一时刻的位置,即运动位置,可以得到在图像帧间隔时间内,即在形变时间间隔内,该网格点的运动距离,即当前形变位置与运动位置之间的距离,然后可以根据该距离、该初始速度以及形变时间间隔确定该网格点的运动加速度,并将其确定为该网格点更新后的当前运动加速度。
在得到更新后的运动加速度后,可以利用更新后的当前运动加速度确定更新后的当前运动速度。
在本实施例中,在得到网格点的运动位置后,利用该运动位置对网格点的运行速度和运动加速度进行更新,以使在后续利用更新后的运动速度和运动加速度确定网格点的初始预测位置时,可以得到的预测形变位置更加符合预期,更加准确。
对应于上文实施例的位置确定方法,图6为本公开实施例提供的位置确定设备的结构框图,该位置确定设备应用于电子设备。为了便于说明,仅示出了与本公开实施例相关的部分。参照图6,所述设备包括:模型确定模块601和处理模块602。
其中,模型确定模块601,用于构建弹性对象的网格模型。
处理模块602,还用于响应于针对弹性对象的形变触发操作,确定弹性对象的网格模型中网格点的形变信息,其中,形变触发操作用于触发弹性对象因受压差作用而发生体积形变,压差作用是由弹性对象的内部与弹性对象的外部之间存在压强差而产生的作用,形变信息为网格点在压差作用下的形变信息,形变信息包括形变位置。
处理模块602,还用于基于网格点的形变位置以及弹性对象的网格模型在体积形变的情况下的弹性约束,确定弹性对象的网格模型中网格点的运动轨迹。
处理模块602,还用于基于弹性对象的网格模型中网格点的运动轨迹,调动弹性对象的网格模型进行弹性运动,以使得弹性对象发生体积形变。
在本公开的一个实施例中,弹性约束包括形状保持约束,形变位置包括当前形变位置和预测形变位置,则处理模块602,还用于:
获取弹性对象的网格模型的原始模型信息和当前模型信息,其中,原始模型信息包括网格点的原始位置、弹性对象的网格模型的原始形状保持矩阵和原始质量中心位置,当前模型信息包括弹性对象的网格模型的当前质量中心位置。
基于形状保持约束规则,根据网格点的原始位置、原始形状保持矩阵、原始质量中心位置和当前质量中心位置对网格点的预测形变位置进行调整,得到网格点的运动位置。
在本公开的一个实施例中,处理模块602还用于:
根据预设网格点质量、网格点的预测形变位置、当前质量中心位置、各个网格点的原始位置和原始质量中心位置得到当前形状变换矩阵。
根据当前形状变化矩阵、原始形状保持矩阵、当前质量中心位置和原始质量中心位置对网格点的预测形变位置进行调整,得到网格点的运动位置。
在本公开的一个实施例中,当前模型信息还包括弹性对象的网格模型的当前形变体积,弹性约束还包括体积约束,则处理模块602,还用于:
在获取弹性对象的网格模型的原始模型信息和当前模型信息之前,获取弹性对象的网格模型的目标形变体积。
基于体积约束规则,根据当前形变体积和目标形变体积对网格点的预测形变位置进行调整,得到网格点的第一预测位置。
在本公开的一个实施例中,当前模型信息还包括网格点的当前法线信息,则处理模块602还用于:
获取弹性对象的网格模型的网格点数目。
获取网格点的目标形变体积与当前形变体积的差值,并将其确定为剩余形变体积。
根据网格点的当前法线信息、剩余形变体积和网格点数目对网格点的预测形变位置进行调整,得到网格点的第一预测位置。
在本公开的一个实施例中,原始模型信息还包括弹性对象的网格模型中网格边的原始长度,当前模型信息还包括弹性对象的网格模型中网格边的当前形变长度,其中,网格边是由相邻的两个网格点得到的,弹性约束还包括边距离约束,则处理模块602还用于:
分别获取各网格点对应的多个网格边,并分别从各网格点对应的多个网格边中选取各网格点对应的目标网格边。
基于边距离约束规则,根据各网格点对应的目标网格边的原始长度和当前形变长度,对各网格点的预测形变位置进行调整,得到各网格点的第二预测位置。
在本公开的一个实施例中,处理模块602还用于:
对于每个网格点,获取网格点对应的目标网格边中的另一个网格点的当前形变位置。
根据网格点对应的目标网格边的原始长度和当前形变长度,确定网格点对应的弹性变化比例。
根据另一个网格点的当前形变位置和网格点对应的弹性变化比例对网格点的预测形变位置进行调整,得到网格点的第二预测位置。
在本公开的一个实施例中,形变信息还包括速度,其中,速度包括网格点的当前运动速度和当前运动加速度,则处理模块602还用于:
获取弹性对象的网格模型对应的形变时间间隔。
基于预设显示欧拉算法,根据网格点的当前运动速度、当前运动加速度、当前形变位置和形变时间间隔,得到网格点的预测形变位置。
在本公开的一个实施例中,处理模块602还用于:
通过pos1=pos+vel*dt+acc*dt2,计算网格点的预测形变位置,其中pos1为网格点的预测形变位置,pos为网格点的当前形变位置,vel为网格点的当前运动速度,dt为形变时间间隔,acc为网格点的当前运动加速度。
在本公开的一个实施例中,处理模块602还用于:
根据网格点的当前形变位置和网格点的运动位置对速度进行更新。
在本公开的一个实施例中,弹性对象的网格模型为未封闭的网格模型,处理模块602还用于:
获取弹性对象的网格模型的基础信息,其中基础信息包括弹性对象的网格模型的原始面信息。
根据弹性对象的网格模型的原始面信息得到弹性对象的网格模型的内部网格边信息和空洞网格边信息。
根据内部网格边信息和空洞网格边信息得到弹性对象的网格模型的原始体积。
在本公开的一个实施例中,处理模块602还用于:
获取弹性对象的网格模型的总质量。
根据预设网格点质量、网格点的原始位置和弹性对象的网格模型的总质量确定网格模型的原始质量中心位置。
根据预设网格点质量、网格点的原始位置和原始质量中心位置得到弹性对象的网格模型的原始形状保持矩阵。
本实施例提供的设备,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
参考图7,其示出了适于用来实现本公开实施例的电子设备700的结构示意图,该电子设备700可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,简称PDA)、平板电脑(Portable Android Device,简称PAD)、便携式多媒体播放器(Portable MediaPlayer,简称PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700可以包括处理装置(例如中央处理器、图形处理器等)701,其可以根据存储在只读存储器(Read Only Memory,简称ROM)702中的程序或者从存储装置706加载到随机访问存储器(Random Access Memory,简称RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有电子设备700操作所需的各种程序和数据。处理装置701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
通常,以下装置可以连接至I/O接口705:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置706;包括例如液晶显示器(Liquid CrystalDisplay,简称LCD)、扬声器、振动器等的输出装置707;包括例如磁带、硬盘等的存储装置706;以及通信装置706。通信装置706可以允许电子设备700与其他设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备700,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置706从网络上被下载和安装,或者从存储装置706被安装,或者从ROM702被安装。在该计算机程序被处理装置701执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network,简称LAN)或广域网(Wide Area Network,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本公开实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被执行时用于实现本公开实施例提供的位置确定方法。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
第一方面,根据本公开的一个或多个实施例,提供了一种位置确定方法,包括:
构建弹性对象的网格模型;
响应于针对所述弹性对象的形变触发操作,确定所述弹性对象的网格模型中网格点的形变信息,其中,所述形变触发操作用于触发所述弹性对象因受压差作用而发生体积形变,所述压差作用是由所述弹性对象的内部与所述弹性对象的外部之间存在压强差而产生的作用,所述形变信息为所述网格点在所述压差作用下的形变信息,所述形变信息包括形变位置;
基于所述网格点的形变位置以及所述弹性对象的网格模型在所述体积形变的情况下的弹性约束,确定所述弹性对象的网格模型中网格点的运动轨迹;
基于所述弹性对象的网格模型中网格点的运动轨迹,调动所述弹性对象的网格模型进行弹性运动,以使得所述弹性对象发生所述体积形变。
根据本公开的一个或多个实施例,所述弹性约束包括形状保持约束,所述形变位置包括当前形变位置和预测形变位置;
所述基于所述网格点的形变位置以及所述弹性对象的网格模型在所述体积形变的情况下的弹性约束,确定所述弹性对象的网格模型中网格点的运动轨迹,包括:
获取所述弹性对象的网格模型的原始模型信息和当前模型信息,其中,所述原始模型信息包括网格点的原始位置、所述弹性对象的网格模型的原始形状保持矩阵和原始质量中心位置,所述当前模型信息包括所述弹性对象的网格模型的当前质量中心位置;
基于形状保持约束规则,根据所述网格点的原始位置、所述原始形状保持矩阵、原始质量中心位置和当前质量中心位置对所述网格点的预测形变位置进行调整,得到所述网格点的运动位置。
根据本公开的一个或多个实施例,所述基于形状保持约束规则,根据所述网格点的原始位置、所述原始形状保持矩阵、原始质量中心位置和当前质量中心位置对所述网格点的预测形变位置进行调整,得到所述网格点的运动位置,包括:
根据预设网格点质量、所述网格点的预测形变位置、所述当前质量中心位置、各个网格点的原始位置和所述原始质量中心位置得到当前形状变换矩阵;
根据所述当前形状变化矩阵、所述原始形状保持矩阵、当前质量中心位置和原始质量中心位置对所述网格点的预测形变位置进行调整,得到所述网格点的运动位置。
根据本公开的一个或多个实施例,所述当前模型信息还包括所述弹性对象的网格模型的当前形变体积,所述弹性约束还包括体积约束,则在获取所述弹性对象的网格模型的原始模型信息和当前模型信息之前,还包括:
获取所述弹性对象的网格模型的目标形变体积;
基于体积约束规则,根据所述当前形变体积和目标形变体积对所述网格点的预测形变位置进行调整,得到所述网格点的第一预测位置。
根据本公开的一个或多个实施例,所述当前模型信息还包括所述网格点的当前法线信息,则所述基于体积约束规则,根据所述当前形变体积和目标形变体积对所述网格点的预测形变位置进行调整,得到所述网格点的第一预测位置,包括:
获取所述弹性对象的网格模型的网格点数目;
获取所述网格点的目标形变体积与所述当前形变体积的差值,并将其确定为剩余形变体积;
根据所述网格点的当前法线信息、所述剩余形变体积和所述网格点数目对所述网格点的预测形变位置进行调整,得到所述网格点的第一预测位置。
根据本公开的一个或多个实施例,所述原始模型信息还包括所述弹性对象的网格模型中网格边的原始长度,所述当前模型信息还包括所述弹性对象的网格模型中网格边的当前形变长度,其中,所述网格边是由相邻的两个网格点得到的,所述弹性约束还包括边距离约束,则在获取所述弹性对象的网格模型的原始模型信息和当前模型信息之前,还包括:
分别获取各网格点对应的多个网格边,并分别从各网格点对应的多个网格边中选取各网格点对应的目标网格边;
基于边距离约束规则,根据所述各网格点对应的目标网格边的原始长度和当前形变长度,对各网格点的预测形变位置进行调整,得到各网格点的第二预测位置。
根据本公开的一个或多个实施例,所述基于边距离约束规则,根据所述各网格点对应的目标网格边的原始长度和当前形变长度,对各网格点的预测形变位置进行调整,得到各网格点的第二预测位置,包括:
对于每个网格点,获取所述网格点对应的目标网格边中的另一个网格点的当前形变位置;
根据所述网格点对应的目标网格边的原始长度和当前形变长度,确定所述网格点对应的弹性变化比例。
根据所述另一个网格点的当前形变位置和所述网格点对应的弹性变化比例对所述网格点的预测形变位置进行调整,得到所述网格点的第二预测位置。
根据本公开的一个或多个实施例,所述形变信息还包括速度,其中,所述速度包括网格点的当前运动速度和当前运动加速度,则所述方法还包括:
获取弹性对象的网格模型对应的形变时间间隔;
基于预设显示欧拉算法,根据所述网格点的当前运动速度、当前运动加速度、当前形变位置和所述形变时间间隔,得到所述网格点的预测形变位置。
根据本公开的一个或多个实施例,所述基于预设显示欧拉算法,根据所述网格点的当前运动速度、当前运动加速度、当前形变位置和所述形变时间间隔,得到所述网格点的预测形变位置,包括:
通过pos1=pos+vel*dt+acc*dt2,计算所述网格点的预测形变位置,其中所述pos1为所述网格点的预测形变位置,pos为所述网格点的当前形变位置,vel为所述网格点的当前运动速度,dt为所述形变时间间隔,acc为所述网格点的当前运动加速度。
根据本公开的一个或多个实施例,所述方法还包括:
根据所述网格点的当前形变位置和网格点的运动位置对所述速度进行更新。
根据本公开的一个或多个实施例,所述弹性对象的网格模型为未封闭的网格模型,所述方法还包括:
获取所述弹性对象的网格模型的基础信息,其中所述基础信息包括所述弹性对象的网格模型的原始面信息;
根据所述弹性对象的网格模型的原始面信息得到所述弹性对象的网格模型的内部网格边信息和空洞网格边信息;
根据所述内部网格边信息和所述空洞网格边信息得到所述弹性对象的网格模型的原始体积。
根据本公开的一个或多个实施例,所述方法还包括:
获取所述弹性对象的网格模型的总质量;
根据预设网格点质量、所述网格点的原始位置和所述弹性对象的网格模型的总质量确定所述网格模型的原始质量中心位置;
根据所述预设网格点质量、所述网格点的原始位置和所述原始质量中心位置得到所述弹性对象的网格模型的原始形状保持矩阵。
第二方面,根据本公开的一个或多个实施例,提供了一种位置确定设备,包括:
模型确定模块,用于构建弹性对象的网格模型;
处理模块,还用于响应于针对所述弹性对象的形变触发操作,确定所述弹性对象的网格模型中网格点的形变信息,其中,所述形变触发操作用于触发所述弹性对象因受压差作用而发生体积形变,所述压差作用是由所述弹性对象的内部与所述弹性对象的外部之间存在压强差而产生的作用,所述形变信息为所述网格点在所述压差作用下的形变信息,所述形变信息包括形变位置;
所述处理模块,还用于基于所述网格点的形变位置以及所述弹性对象的网格模型在所述体积形变的情况下的弹性约束,确定所述弹性对象的网格模型中网格点的运动轨迹;
所述处理模块,还用于基于所述弹性对象的网格模型中网格点的运动轨迹,调动所述弹性对象的网格模型进行弹性运动,以使得所述弹性对象发生所述体积形变。
根据本公开的一个或多个实施例,所述弹性约束包括形状保持约束,所述形变位置包括当前形变位置和预测形变位置,则所述处理模块,还用于:
获取所述弹性对象的网格模型的原始模型信息和当前模型信息,其中,所述原始模型信息包括网格点的原始位置、所述弹性对象的网格模型的原始形状保持矩阵和原始质量中心位置,所述当前模型信息包括所述弹性对象的网格模型的当前质量中心位置;
基于形状保持约束规则,根据所述网格点的原始位置、所述原始形状保持矩阵、原始质量中心位置和当前质量中心位置对所述网格点的预测形变位置进行调整,得到所述网格点的运动位置。
根据本公开的一个或多个实施例,所述处理模块还用于:
根据预设网格点质量、所述网格点的预测形变位置、所述当前质量中心位置、各个网格点的原始位置和所述原始质量中心位置得到当前形状变换矩阵;
根据所述当前形状变化矩阵、所述原始形状保持矩阵、当前质量中心位置和原始质量中心位置对所述网格点的预测形变位置进行调整,得到所述网格点的运动位置。
根据本公开的一个或多个实施例,所述当前模型信息还包括所述弹性对象的网格模型的当前形变体积,所述弹性约束还包括体积约束,则所述处理模块,还用于:
在获取所述弹性对象的网格模型的原始模型信息和当前模型信息之前,获取所述弹性对象的网格模型的目标形变体积;
基于体积约束规则,根据所述当前形变体积和目标形变体积对所述网格点的预测形变位置进行调整,得到所述网格点的第一预测位置。
根据本公开的一个或多个实施例,所述当前模型信息还包括所述网格点的当前法线信息,则所述处理模块还用于:
获取所述弹性对象的网格模型的网格点数目;
获取所述网格点的目标形变体积与所述当前形变体积的差值,并将其确定为剩余形变体积;
根据所述网格点的当前法线信息、所述剩余形变体积和所述网格点数目对所述网格点的预测形变位置进行调整,得到所述网格点的第一预测位置。
根据本公开的一个或多个实施例,所述原始模型信息还包括所述弹性对象的网格模型中网格边的原始长度,所述当前模型信息还包括所述弹性对象的网格模型中网格边的当前形变长度,其中,所述网格边是由相邻的两个网格点得到的,所述弹性约束还包括边距离约束,则所述处理模块还用于:
分别获取各网格点对应的多个网格边,并分别从各网格点对应的多个网格边中选取各网格点对应的目标网格边;
基于边距离约束规则,根据所述各网格点对应的目标网格边的原始长度和当前形变长度,对各网格点的预测形变位置进行调整,得到各网格点的第二预测位置。
根据本公开的一个或多个实施例,所述处理模块还用于:
对于每个网格点,获取所述网格点对应的目标网格边中的另一个网格点的当前形变位置;
根据所述网格点对应的目标网格边的原始长度和当前形变长度,确定所述网格点对应的弹性变化比例。
根据所述另一个网格点的当前形变位置和所述网格点对应的弹性变化比例对所述网格点的预测形变位置进行调整,得到所述网格点的第二预测位置。
根据本公开的一个或多个实施例,所述形变信息还包括速度,其中,所述速度包括网格点的当前运动速度和当前运动加速度,则所述处理模块还用于:
获取弹性对象的网格模型对应的形变时间间隔;
基于预设显示欧拉算法,根据所述网格点的当前运动速度、当前运动加速度、当前形变位置和所述形变时间间隔,得到所述网格点的预测形变位置。
根据本公开的一个或多个实施例,所述处理模块还用于:
通过pos1=pos+vel*dt+acc*dt2,计算所述网格点的预测形变位置,其中所述pos1为所述网格点的预测形变位置,pos为所述网格点的当前形变位置,vel为所述网格点的当前运动速度,dt为所述形变时间间隔,acc为所述网格点的当前运动加速度。
根据本公开的一个或多个实施例,所述处理模块还用于:
根据所述网格点的当前形变位置和网格点的运动位置对所述速度进行更新。
根据本公开的一个或多个实施例,所述弹性对象的网格模型为未封闭的网格模型,所述处理模块还用于:
获取所述弹性对象的网格模型的基础信息,其中所述基础信息包括所述弹性对象的网格模型的原始面信息;
根据所述弹性对象的网格模型的原始面信息得到所述弹性对象的网格模型的内部网格边信息和空洞网格边信息;
根据所述内部网格边信息和所述空洞网格边信息得到所述弹性对象的网格模型的原始体积。
根据本公开的一个或多个实施例,所述处理模块还用于:
获取所述弹性对象的网格模型的总质量;
根据预设网格点质量、所述网格点的原始位置和所述弹性对象的网格模型的总质量确定所述网格模型的原始质量中心位置;
根据所述预设网格点质量、所述网格点的原始位置和所述原始质量中心位置得到所述弹性对象的网格模型的原始形状保持矩阵。
第三方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的位置确定方法。
第四方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的位置确定方法。
第五方面,根据本公开的一个或多个实施例,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被执行时用于实现如上第一方面以及第一方面各种可能的设计所述的位置确定方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (14)

1.一种位置确定方法,其特征在于,包括:
构建弹性对象的网格模型;所述网格模型为未封闭的网格模型;
响应于针对所述弹性对象的形变触发操作,确定所述弹性对象的网格模型中网格点的形变信息,其中,所述形变触发操作表征对所述弹性对象进行充气和/或放气,所述形变触发操作用于触发所述弹性对象因受压差作用而发生体积形变,所述压差作用是由所述弹性对象的内部与所述弹性对象的外部之间存在压强差而产生的作用,所述形变信息为所述网格点在所述压差作用下的形变信息,所述形变信息包括形变位置;所述形变位置包括当前形变位置和预测形变位置;
在得到所述网格点的形变位置后,基于所述网格点的形变位置以及所述弹性对象的网格模型在所述体积形变的情况下的弹性约束,确定所述弹性对象的网格模型中网格点的运动轨迹;所述弹性约束包括形状保持约束;其中,所述形状保持约束表征对所述网格模型进行形状保持约束以还原走形的网格点,避免所述网格模型的局部细节丢失;
所述基于所述网格点的形变位置以及所述弹性对象的网格模型在所述体积形变的情况下的弹性约束,确定所述弹性对象的网格模型中网格点的运动轨迹,包括:
获取所述弹性对象的网格模型的原始模型信息和当前模型信息,其中,所述原始模型信息包括网格点的原始位置、所述弹性对象的网格模型的原始形状保持矩阵和原始质量中心位置,所述当前模型信息包括所述弹性对象的网格模型的当前质量中心位置;
基于形状保持约束规则,根据所述网格点的原始位置、所述原始形状保持矩阵、原始质量中心位置和当前质量中心位置对所述网格点的预测形变位置进行调整,得到所述网格点的运动位置;
基于所述弹性对象的网格模型中网格点的运动轨迹,调动所述弹性对象的网格模型进行弹性运动,以使得所述弹性对象发生所述体积形变。
2.根据权利要求1所述的方法,其特征在于,所述基于形状保持约束规则,根据所述网格点的原始位置、所述原始形状保持矩阵、原始质量中心位置和当前质量中心位置对所述网格点的预测形变位置进行调整,得到所述网格点的运动位置,包括:
根据预设网格点质量、所述网格点的预测形变位置、所述当前质量中心位置、各个网格点的原始位置和所述原始质量中心位置得到当前形状变换矩阵;
根据所述当前形状变化矩阵、所述原始形状保持矩阵、当前质量中心位置和原始质量中心位置对所述网格点的预测形变位置进行调整,得到所述网格点的运动位置。
3.根据权利要求1所述的方法,其特征在于,所述当前模型信息还包括所述弹性对象的网格模型的当前形变体积,所述弹性约束还包括体积约束,则在获取所述弹性对象的网格模型的原始模型信息和当前模型信息之前,还包括:
获取所述弹性对象的网格模型的目标形变体积;
基于体积约束规则,根据所述当前形变体积和目标形变体积对所述网格点的预测形变位置进行调整,得到所述网格点的第一预测位置。
4.根据权利要求3所述的方法,其特征在于,所述当前模型信息还包括所述网格点的当前法线信息,则所述基于体积约束规则,根据所述当前形变体积和目标形变体积对所述网格点的预测形变位置进行调整,得到所述网格点的第一预测位置,包括:
获取所述弹性对象的网格模型的网格点数目;
获取所述网格点的目标形变体积与所述当前形变体积的差值,并将其确定为剩余形变体积;
根据所述网格点的当前法线信息、所述剩余形变体积和所述网格点数目对所述网格点的预测形变位置进行调整,得到所述网格点的第一预测位置。
5.根据权利要求1所述的方法,其特征在于,所述原始模型信息还包括所述弹性对象的网格模型中网格边的原始长度,所述当前模型信息还包括所述弹性对象的网格模型中网格边的当前形变长度,其中,所述网格边是由相邻的两个网格点得到的,所述弹性约束还包括边距离约束,则在获取所述弹性对象的网格模型的原始模型信息和当前模型信息之前,还包括:
分别获取各网格点对应的多个网格边,并分别从各网格点对应的多个网格边中选取各网格点对应的目标网格边;
基于边距离约束规则,根据所述各网格点对应的目标网格边的原始长度和当前形变长度,对各网格点的预测形变位置进行调整,得到各网格点的第二预测位置。
6.根据权利要求5所述的方法,其特征在于,所述基于边距离约束规则,根据所述各网格点对应的目标网格边的原始长度和当前形变长度,对各网格点的预测形变位置进行调整,得到各网格点的第二预测位置,包括:
对于每个网格点,获取所述网格点对应的目标网格边中的另一个网格点的当前形变位置;
根据所述网格点对应的目标网格边的原始长度和当前形变长度,确定所述网格点对应的弹性变化比例;
根据所述另一个网格点的当前形变位置和所述网格点对应的弹性变化比例对所述网格点的预测形变位置进行调整,得到所述网格点的第二预测位置。
7.根据权利要求1所述的方法,其特征在于,所述形变信息还包括速度,其中,所述速度包括网格点的当前运动速度和当前运动加速度,则所述方法还包括:
获取弹性对象的网格模型对应的形变时间间隔;
基于预设显示欧拉算法,根据所述网格点的当前运动速度、当前运动加速度、当前形变位置和所述形变时间间隔,得到所述网格点的预测形变位置。
8.根据权利要求7所述的方法,其特征在于,所述基于预设显示欧拉算法,根据所述网格点的当前运动速度、当前运动加速度、当前形变位置和所述形变时间间隔,得到所述网格点的预测形变位置,包括:
通过pos1=pos+vel*dt+acc*dt2,计算所述网格点的预测形变位置,其中所述pos1为所述网格点的预测形变位置,pos为所述网格点的当前形变位置,vel为所述网格点的当前运动速度,dt为所述形变时间间隔,acc为所述网格点的当前运动加速度。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
根据所述网格点的当前形变位置和网格点的运动位置对所述速度进行更新。
10.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
获取所述弹性对象的网格模型的基础信息,其中所述基础信息包括所述弹性对象的网格模型的原始面信息;
根据所述弹性对象的网格模型的原始面信息得到所述弹性对象的网格模型的内部网格边信息和空洞网格边信息;
根据所述内部网格边信息和所述空洞网格边信息得到所述弹性对象的网格模型的原始体积。
11.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
获取所述弹性对象的网格模型的总质量;
根据预设网格点质量、所述网格点的原始位置和所述弹性对象的网格模型的总质量确定所述网格模型的原始质量中心位置;
根据所述预设网格点质量、所述网格点的原始位置和所述原始质量中心位置得到所述弹性对象的网格模型的原始形状保持矩阵。
12.一种位置确定设备,其特征在于,包括:
模型确定模块,用于构建弹性对象的网格模型;所述网格模型为未封闭的网格模型;
处理模块,还用于响应于针对所述弹性对象的形变触发操作,确定所述弹性对象的网格模型中网格点的形变信息,其中,所述形变触发操作表征对所述弹性对象进行充气和/或放气,所述形变触发操作用于触发所述弹性对象因受压差作用而发生体积形变,所述压差作用是由所述弹性对象的内部与所述弹性对象的外部之间存在压强差而产生的作用,所述形变信息为所述网格点在所述压差作用下的形变信息,所述形变信息包括形变位置;所述形变位置包括当前形变位置和预测形变位置;
所述处理模块,还用于在得到所述网格点的形变位置后,基于所述网格点的形变位置以及所述弹性对象的网格模型在所述体积形变的情况下的弹性约束,确定所述弹性对象的网格模型中网格点的运动轨迹;所述弹性约束包括形状保持约束;其中,所述形状保持约束表征对所述网格模型进行形状保持约束以还原走形的网格点,避免所述网格模型的局部细节丢失;
所述处理模块,还用于基于所述弹性对象的网格模型中网格点的运动轨迹,调动所述弹性对象的网格模型进行弹性运动,以使得所述弹性对象发生所述体积形变;
所述处理模块,具体用于获取所述弹性对象的网格模型的原始模型信息和当前模型信息,其中,所述原始模型信息包括网格点的原始位置、所述弹性对象的网格模型的原始形状保持矩阵和原始质量中心位置,所述当前模型信息包括所述弹性对象的网格模型的当前质量中心位置;基于形状保持约束规则,根据所述网格点的原始位置、所述原始形状保持矩阵、原始质量中心位置和当前质量中心位置对所述网格点的预测形变位置进行调整,得到所述网格点的运动位置。
13.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至11任一项所述的位置确定方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至11任一项所述的位置确定方法。
CN202110184695.3A 2021-02-10 2021-02-10 位置确定方法及设备 Active CN112991444B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110184695.3A CN112991444B (zh) 2021-02-10 2021-02-10 位置确定方法及设备
PCT/CN2022/075876 WO2022171180A1 (zh) 2021-02-10 2022-02-10 位置确定方法及设备
US18/546,043 US20240127541A1 (en) 2021-02-10 2022-02-10 Position determination method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110184695.3A CN112991444B (zh) 2021-02-10 2021-02-10 位置确定方法及设备

Publications (2)

Publication Number Publication Date
CN112991444A CN112991444A (zh) 2021-06-18
CN112991444B true CN112991444B (zh) 2023-06-20

Family

ID=76393105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110184695.3A Active CN112991444B (zh) 2021-02-10 2021-02-10 位置确定方法及设备

Country Status (3)

Country Link
US (1) US20240127541A1 (zh)
CN (1) CN112991444B (zh)
WO (1) WO2022171180A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112991444B (zh) * 2021-02-10 2023-06-20 北京字跳网络技术有限公司 位置确定方法及设备
CN113573158A (zh) * 2021-07-28 2021-10-29 维沃移动通信(杭州)有限公司 视频处理方法、装置、电子设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8624893B2 (en) * 2009-07-31 2014-01-07 Adobe Systems Incorporated System and method for generating 2D texture coordinates for 3D meshed surfaces
US9947124B2 (en) * 2013-07-29 2018-04-17 Disney Enterprises, Inc. Motion control of active deformable objects
US9959662B2 (en) * 2014-11-10 2018-05-01 Disney Enterprises, Inc. Simulation and skinning of heterogeneous texture detail deformation
CN105069826B (zh) * 2015-08-26 2018-06-29 中国科学院深圳先进技术研究院 弹性物体变形运动的建模方法
CN108491636B (zh) * 2018-03-26 2022-02-22 中国人民解放军国防科技大学 基于几何约束的弹性体网格变形方法
WO2020149919A1 (en) * 2019-01-18 2020-07-23 Ziva Dynamics Inc. Inertial damping for enhanced simulation of elastic bodies
CN110619681B (zh) * 2019-07-05 2022-04-05 杭州同绘科技有限公司 一种基于欧拉场形变约束的人体几何重建方法
CN112258653A (zh) * 2020-10-28 2021-01-22 北京字跳网络技术有限公司 弹性对象的渲染方法、装置、设备及存储介质
CN112233253B (zh) * 2020-12-14 2021-03-16 成都完美时空网络技术有限公司 虚拟球体的形变控制方法、装置、电子设备及存储介质
CN112991444B (zh) * 2021-02-10 2023-06-20 北京字跳网络技术有限公司 位置确定方法及设备

Also Published As

Publication number Publication date
US20240127541A1 (en) 2024-04-18
CN112991444A (zh) 2021-06-18
WO2022171180A1 (zh) 2022-08-18

Similar Documents

Publication Publication Date Title
CN110058685B (zh) 虚拟对象的显示方法、装置、电子设备和计算机可读存储介质
CN112991444B (zh) 位置确定方法及设备
US20150279083A1 (en) Real-time three-dimensional reconstruction of a scene from a single camera
US20220241689A1 (en) Game Character Rendering Method And Apparatus, Electronic Device, And Computer-Readable Medium
WO2022088928A1 (zh) 弹性对象的渲染方法、装置、设备及存储介质
CN111368668B (zh) 三维手部识别方法、装置、电子设备及存储介质
CN113689372B (zh) 图像处理方法、设备、存储介质及程序产品
CN114494328B (zh) 图像显示方法、装置、电子设备及存储介质
EP4332904A1 (en) Image processing method and apparatus, electronic device, and storage medium
CN111127603B (zh) 动画生成方法、装置、电子设备及计算机可读存储介质
US11494961B2 (en) Sticker generating method and apparatus, and medium and electronic device
CN114219884A (zh) 粒子特效渲染方法、装置、设备及存储介质
US20240054703A1 (en) Method for image synthesis, device for image synthesis and storage medium
WO2023025085A1 (zh) 视频处理方法、装置、设备、介质及程序产品
CN114067030A (zh) 动态流体效果处理方法、装置、电子设备和可读介质
CN114494658B (zh) 特效展示方法、装置、设备和存储介质
CN114470786B (zh) 帧同步数据处理方法、装置、可读介质和电子设备
US20210264673A1 (en) Electronic device for location-based ar linking of object-based augmentation contents and operating method thereof
CN111275799B (zh) 动画的生成方法、装置和电子设备
CN114937059A (zh) 显示对象的运动控制方法及设备
CN114116081B (zh) 交互式动态流体效果处理方法、装置及电子设备
CN115222854A (zh) 虚拟形象的碰撞处理方法、装置、电子设备和存储介质
CN117853680A (zh) 三维重建的网格优化方法和装置
WO2023185476A1 (zh) 对象渲染方法、装置、电子设备、存储介质及程序产品
WO2022033446A1 (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