CN115576424A - 一种增强vr教学交互操作实时性的方法 - Google Patents
一种增强vr教学交互操作实时性的方法 Download PDFInfo
- Publication number
- CN115576424A CN115576424A CN202211302611.2A CN202211302611A CN115576424A CN 115576424 A CN115576424 A CN 115576424A CN 202211302611 A CN202211302611 A CN 202211302611A CN 115576424 A CN115576424 A CN 115576424A
- Authority
- CN
- China
- Prior art keywords
- bounding box
- model
- aabb
- collision
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 27
- 230000002708 enhancing effect Effects 0.000 title claims abstract description 12
- 238000001514 detection method Methods 0.000 claims abstract description 62
- 230000000007 visual effect Effects 0.000 claims abstract description 34
- 238000001914 filtration Methods 0.000 claims abstract description 33
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 30
- 230000000694 effects Effects 0.000 claims abstract description 19
- 238000013499 data model Methods 0.000 claims abstract description 7
- 238000005259 measurement Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 12
- 238000002474 experimental method Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 7
- 238000013079 data visualisation Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 2
- 238000010276 construction Methods 0.000 claims 1
- 238000007689 inspection Methods 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 7
- 230000015654 memory Effects 0.000 description 7
- 238000004088 simulation Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 241000208199 Buxus sempervirens Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- 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]
-
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
-
- 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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B5/00—Electrically-operated educational appliances
- G09B5/08—Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations
- G09B5/14—Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations with provision for individual teacher-student communication
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Human Computer Interaction (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Tourism & Hospitality (AREA)
- Strategic Management (AREA)
- Computer Graphics (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- General Business, Economics & Management (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提出了一种增强VR教学交互操作实时性的方法,包括以下步骤:步骤一:分别构建可视化数据立体模型和复杂物品模型;步骤二:对可视化数据立体模型和复杂物品模型分别使用B+树存储方法构建AABB树;步骤三:对不同的AABB树进行大包围盒碰撞检测,发生碰撞后在可视化数据立体模型碰撞的位置的大包围盒外和复杂物体模型碰撞的位置的小包围盒外增加阈值δ,通过检测阈值是否相交来提前判断是否发生碰撞,如果相交则进入下一步骤;步骤四:构造贝叶斯预测滤波算法构架,使用贝叶斯预测滤波算法对交互操作的物体的下一步进行预测,预测下一时刻进行物体的位置是否会和数据模型发生碰撞,若下一时刻碰撞,对预测结果进行修正后,反馈预测效果。
Description
技术领域
本发明涉及VR技术领域,具体涉及一种增强VR教学交互操作实时性的方法。
背景技术
如今增强VR沉浸式教学的方案技术层出不穷,国内外不少学者利用碰撞检测算法来增强VR沉浸式体验感,但很多学者面对各面形状并不简单的多面体时,发现使用AABB包围盒和Sphere包围盒会存在紧凑性不高的问题,往往学者们会研究出混合的碰撞检测算法或者利用OBB包围盒进行相交检测,但这样会导致碰撞检测所需要的时间和消耗变得更大,对于将VR技术应用在教学模式的情况下,在机器设备的性能并不卓越的情况下,碰撞检测造成的过大的系统内存占用会提高系统延迟,复杂的计算机计算过程也会影响VR虚拟场景的不稳定性,过高的延迟和不稳定性在虚拟环境中会显著影响学生进行实时交互操作的体验感。
由此,本发明提出一种增强VR教学交互操作实时性的方法。
发明内容
针对现有技术的不足,本发明提出一种增强VR教学交互操作实时性的方法,在VR的虚拟教学环境下学生进行交互操作时,能够降低因系统延迟以及不稳定性对体验感的影响。
本发明的技术方案是这样实现的:
一种增强VR教学交互操作实时性的方法,包括以下步骤:
步骤一:通过ERP实验数据库和ERP系统复杂物体库分别构建可视化数据立体模型和复杂物品模型;
步骤二:对可视化数据立体模型和复杂物品模型分别使用B+树存储方法构建AABB树,得到不同的AABB树;
步骤三:对不同的AABB树进行大包围盒碰撞检测,如果发生碰撞,在可视化数据立体模型发生碰撞的位置所在的大包围盒外增加阈值δ,同时在复杂物体模型发生碰撞的位置所在的小包围盒外增加阈值δ后,通过检测阈值是否相交来提前判断是否发生碰撞,如果相交则进入下一步骤,否则认为实际还未碰撞,不进行反馈;
步骤四:构造贝叶斯预测滤波算法构架,使用贝叶斯预测滤波算法对交互操作的物体的下一步进行预测,预测下一时刻进行物体的位置是否会和数据模型发生碰撞,如果下一时刻碰撞,对预测结果进行修正后,反馈预测效果,否则不反馈。
优选的,所述步骤一中,在构建可视化数据立体模型中,对于ERP实验数据库中的数据进行数据可视化处理,将可视化的数据载入具有简单几何特性的立体模型。
优选的,所述步骤二中,对可视化数据立体模型进行大包围盒包围后,构建AABB树;对复杂立体模型进行分层包围后,构建另一AABB树,形成有树干、树枝的结构,分层流程如下:
对复杂物体模型进行包围盒包裹;
复杂碰撞体对象,从一个包围盒分割成多个包围盒,即将大包围盒划分成小包围盒,每个小包围盒根据物体模型的实际凹凸位置决定包裹大小;
划分完成后,整个包围盒便形成如树一般的结构,树干是大的长立方体,树枝是分割的小的长立方体;
构建完成不同的AABB树后引入B+树,削减AABB树中根结点与子结点冗余的数据信息,根据各叶子结点的数据索引。
优选的,所述步骤三中,基于层次包围盒的碰撞检测算法有以下的代价公式:T=Nv·Cv+Np·Cp+Nm·Cm+Cd
其中,T是进行碰撞检测总的代价,Nv是进行相交检测的包围盒对的数目,Cv是对一对包围盒进行相交检测时的代价,Np是在检测中基于几何元素的对数,Cp是检测中对基本的几何元素对数的代价,Nm是当检测对象发生旋转后需要进行更新的包围盒数目,Cm是更新一个包围盒所需要的代价,Cd是当检测对象本身发生变形后对包围盒的更新需要的代价。
判断AABB盒是否与另一半包围盒相交只需判定二者在x轴、y轴、z轴是否都发生了投影的重叠。基于AABB立方体的几何特性,对两个包围盒是否相交的判定需要6次,即进行比较运算时只需要6n次,而对于AABB包围盒中的任一点R(x,y,z),始终满足:
其中n表示顶点的个数,xmin、xmax表示三维坐标轴中x轴方向的最小和最大值,ymin、ymax表示三维坐标轴中y轴方向的最小和最大值,zmin、zmax表示三维坐标轴中z轴方向的最小和最大值;
在独立的可视化数据立体模型外,增加一个全方位覆盖在包围盒外的阈值δ(其中δ≥0),增加阈值δ后,可视化数据立体模型的AABB盒上的任一点需满足的条件也发生如下变化:
以便于在包围盒间进行相交检测时,手的模型的包围盒在在触碰到阈值δ时,产生相交检测的效果。
优选的,所述步骤三中,根据步骤二中,对复杂物体模型进行包围盒分层包围后,在碰撞检测时,先检测树干部分,若有碰撞再检测树枝,若树枝检测发生碰撞,则再检测叶节点;对于复杂物体模型进行碰撞检测时发生碰撞,的位置增加非全方位覆盖的阈值δ,即对复杂物体模型小包围盒外增加阈值δ。
优选的,所述步骤四中,贝叶斯预测滤波算法框架包括预测层和反馈层,用动态模型和测量模型对给定时刻的交互操作进行预测,根据已有的测量值,对以预测的预测值进行进一步的修正,得到修正后的值通过反馈层反馈预测效果。
与现有技术相比,本发明具有以下优点。
本发明采用以下步骤:步骤一:通过ERP实验数据库和ERP系统复杂物体库分别构建可视化数据立体模型和复杂物品模型;步骤二:对可视化数据立体模型和复杂物品模型分别使用B+树存储方法构建AABB树,得到不同的AABB树;步骤三:对不同的AABB树进行大包围盒碰撞检测,如果发生碰撞,在可视化数据立体模型发生碰撞的位置所在的大包围盒外增加阈值δ,同时在复杂物体模型发生碰撞的位置所在的小包围盒外增加阈值δ后,通过检测阈值是否相交来提前判断是否发生碰撞,如果相交则进入下一步骤,否则认为实际还未碰撞,不进行反馈;步骤四:构造贝叶斯预测滤波算法构架,使用贝叶斯预测滤波算法对交互操作的物体的下一步进行预测,预测下一时刻进行物体的位置是否会和数据模型发生碰撞,如果下一时刻碰撞,对预测结果进行修正后,反馈预测效果,否则不反馈;进而实现了通过使用B+树存储方法构建AABB树,提高检测效率,以及通过增加阈值的AABB包围盒和贝叶斯预测滤波算法提前预测交互操作,进而在VR的虚拟教学环境下学生进行交互操作时,降低因系统延迟以及不稳定性对体验感的影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种增强VR教学交互操作实时性的方法的执行流程图;
图2为本发明的贝叶斯预测滤波算法框架图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”、“第四”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
本实施例提出一种增强VR教学交互操作实时性的方法,如图1所示,包括以下步骤:
步骤一:通过ERP实验数据库和ERP系统复杂物体库分别构建可视化数据立体模型和复杂物品模型;
步骤二:对可视化数据立体模型和复杂物品模型分别使用B+树存储方法构建AABB树,得到不同的AABB树;
步骤三:对不同的AABB树进行大包围盒碰撞检测,如果发生碰撞,在可视化数据立体模型发生碰撞的位置所在的大包围盒外增加阈值δ,同时在复杂物体模型发生碰撞的位置所在的小包围盒外增加阈值δ后,通过检测阈值是否相交来提前判断是否发生碰撞,如果相交则进入下一步骤,否则认为实际还未碰撞,不进行反馈;
步骤四:构造贝叶斯预测滤波算法构架,使用贝叶斯预测滤波算法对交互操作的物体的下一步进行预测,预测下一时刻进行物体的位置是否会和数据模型发生碰撞,如果下一时刻碰撞,对预测结果进行修正后,反馈预测效果,否则不反馈。
在本实施例中,所述步骤一中,在构建可视化数据立体模型中,对于ERP实验数据库中的数据进行数据可视化处理,将可视化的数据载入具有简单几何特性的立体模型。构建可视化数据的立体模型,模型大小及数据内容可视情况而定。
在本实施例中,所述步骤二中,对可视化数据立体模型进行大包围盒包围后,构建AABB树;对复杂立体模型进行分层包围后,构建另一AABB树,形成有树干、树枝的结构,分层流程如下:
对复杂物体模型进行包围盒包裹;
复杂碰撞体对象,从一个包围盒分割成多个包围盒,即将大包围盒划分成小包围盒,每个小包围盒根据物体模型的实际凹凸位置决定包裹大小;
划分完成后,整个包围盒便形成如树一般的结构,树干是大的长立方体,树枝是分割的小的长立方体;
构建完成不同的AABB树后引入B+树,削减AABB树中根结点与子结点冗余的数据信息,根据各叶子结点的数据索引。
在本实施例中,所述步骤三中,基于层次包围盒的碰撞检测算法有以下的代价公式:T=Nv·Cv+Np·Cp+Nm·Cm+Cd
其中,T是进行碰撞检测总的代价,Nv是进行相交检测的包围盒对的数目,Cv是对一对包围盒进行相交检测时的代价,Np是在检测中基于几何元素的对数,Cp是检测中对基本的几何元素对数的代价,Nm是当检测对象发生旋转后需要进行更新的包围盒数目,Cm是更新一个包围盒所需要的代价,Cd是当检测对象本身发生变形后对包围盒的更新需要的代价。
判断AABB盒是否与另一半包围盒相交只需判定二者在x轴、y轴、z轴是否都发生了投影的重叠。基于AABB立方体的几何特性,对两个包围盒是否相交的判定需要6次,即进行比较运算时只需要6n次,而对于AABB包围盒中的任一点R(x,y,z),始终满足:
其中n表示顶点的个数,xmin、xmax表示三维坐标轴中x轴方向的最小和最大值,ymin、ymax表示三维坐标轴中y轴方向的最小和最大值,zmin、zmax表示三维坐标轴中z轴方向的最小和最大值;
在独立的可视化数据立体模型外,增加一个全方位覆盖在包围盒外的阈值δ(其中δ≥0),增加阈值δ后,可视化数据立体模型的AABB盒上的任一点需满足的条件也发生如下变化:
以便于在包围盒间进行相交检测时,手的模型的包围盒在在触碰到阈值δ时,产生相交检测的效果。
在本实施例中,对包围盒增加阈值δ,目的是在包围盒间进行相交检测时,包围学生的手的模型的包围盒在触碰到阈值δ的时候,便产生相交检测的效果,系统此时判定学生的手已经捕捉到数据立体模型作出相应的反馈通过VR设备传导回学生,达到一种预判学生提取数据行为的效果。样做的好处是在系统因为进行碰撞检测而占用一定的内存,或网速、设备问题产生系统延迟时,因阈值的增加而达到预判效果时,系统的反馈与学生的直接想法是实时的,从而保证了学生在VR环境下进行交互操作时如临现实。
在本实施例中,所述步骤三中,根据步骤二中,对复杂物体模型进行包围盒分层包围后,在碰撞检测时,先检测树干部分,若有碰撞再检测树枝,若树枝检测发生碰撞,则再检测叶节点;对于复杂物体模型进行碰撞检测时发生碰撞,的位置增加非全方位覆盖的阈值δ,即对复杂物体模型小包围盒外增加阈值δ。
在本实施例中,对这种简单的构建的可视化数据立体模型,一般可以不建立AABB树来增强包围性,以此减少数据计算的占用。本实施例中应用了B+树的存储方法,这种方法能有效减少冗余的计算数据,降低CPU的处理消耗,提高系统整体的运算效率,因此对以上简单的可视化立体模型,同样构建简单的AABB树模型,但不同于对复杂物体模型构建的AABB树,具体操作流程如下;
(1)面对复杂物体模型时,就不能简单地利用全方位覆盖的包围盒直接包裹,必须要构建AABB树,具体操作流程如下:依然对复杂的物体模型进行包围盒包裹;
(2)将原本复杂的碰撞体对象,从一个包围盒分割成多个包围盒,即将大包围盒划分成小包围盒,每个小包围盒根据物体模型的实际凹凸位置决定包裹大小;
(3)划分完成后,整个包围盒便形成如树一般的结构,树干是大的长立方体,树枝是分割的小的长立方体;
(4)因此在检测时,先检测树干的部分,检测到有碰撞再检测树枝,检测树枝时发生碰撞则再检测叶节点,如若出现检测到树干后再次检测没有发生碰撞,则证明在物体在此处不具有实体模型,因此也不会在虚拟现实交互中产生碰撞;
(5)同样对提前检测的物体模型的大小长立方体的包围盒外增加阈值δ;
(6)增加的阈值δ并不是全方位覆盖的,而是仅覆盖在构建AABB树后进行相交检测时物体模型发生碰撞的位置,即对物体模型小包围盒外增加阈值δ;
(7)增加完阈值δ后,学生在虚拟环境中操作ERP系统时依然如提取可视化数据模型一样可以实时获取,实时移动模型。
在本实施例中,对于一般的AABB树,其树具有2·n-1个结点,因为一个AABB包围盒六面体需要6个浮点数值,分别为物体在坐标轴上(x,y,z)的最值,每个浮点数占用4个字节的存储空间,结合上述的特点,一个层次包围树占用的存储空间字节数为(6+1)*4*(n-1)+6*4*n=52n-28。当B+树应用上之后,一棵树的结点会被削减到n-1个,即减少了AABB存储结点的量,也就减少了AABB存储的内存量,所携带的冗余信息也相应变少。而B+树数据索引结构的层次包围盒将根结点、内部结点以及叶子结点单独抽离出来,不同的结点采取不同的存储方式。
根结点的存储方式为:
表1根结点的存储方式
内部结点的存储方式为:
表2内部结点的存储方式
叶子结点的存储方式为:
表3叶子结点的存储方式
表中xmin、xmax、ymin、ymax、ymax、zmax、Blchild和Brchild为标记位均采用二进制0或1表示,共占用1个字节的空间。xmin、xmax、ymin、ymax、zmin和zmax表示该结点的孩子结点的包围盒取值范围。Blchild和Brchild表示该结点的孩子结点是否为叶子结点,1表示叶子结点,0表示非叶子结点。
在上个段落中已经提出进行一次AABB包围盒的碰撞检测需要对6个面都进行检测,因此父结点和孩子结点最多存在6个不同的范围值,父结点决定了每个孩子结点相应的最大值和最小值,也就导致了父结点与孩子结点对最大最小值数据的重复登记,因此在孩子结点中,利用B+树的特性,只保留1个字节来给计算机进行索引,而任一个点R(x,y,z)可以仅由该三个点保存总共12个字节的包围盒信息。那么依据图表可知:1个根结点总共占用的存储空间为24+4+4+1=33字节。1个内部结点总共占用的存储空间为:12+4+4+1=21字节。1个叶子结点总共占用的存储空间为:12+1=13字节。
对于包含n个叶结点的B+树中,根结点有1个,内部结点有n-2个,叶子结点有n个(其中n为一棵AABB树所含有的叶子结点),那么B+树层次包围盒所占用存储空间为:1*33+(n-2)*21+n*13=34n-9,相比于传统的AABB层次包围盒可以节省的内存空间为52n-28-(34n-9)=18n-19字节。当n≥2时,优化后的B+树层次包围盒树所占内存空间比未优化前更少,且随着n的增大,节约的内存空间呈线性增长。由此可见,在碰撞检测时,当有结点包围盒发生相交时,可以用过索引快速定位到发生碰撞的具体几何元。并且层次包围盒树的叶子结点被一个有序的双向链表所连接。若一次碰撞在连续多个几何元之间发生,此时只需要根据指针就可以确定发生碰撞的多个几何元,而不需要在从根结点去遍历查找。引入B+树存储结构应用到AABB树中的好处是可以为整个系统减少不必要的数据处理,缩短计算时间,提高优化的碰撞检测算法的效率,同时也腾出更多系统内存,用以反馈算法的预测和贝叶斯预测滤波的计算。
在本实施例中,所述步骤四中,贝叶斯预测滤波算法框架包括预测层和反馈层,用动态模型和测量模型对给定时刻的交互操作进行预测,根据已有的测量值,对以预测的预测值进行进一步的修正,得到修正后的值通过反馈层反馈预测效果。
在本实施例中,贝叶斯预测滤波算法框架构造步骤如下:
1)xd表示学生在td时进行的交互操作
2)仿真频率表示为fe,单位为Hz,表示计算机系统对学生动作状态进行程序仿真时示波器信号的纵坐标。测量噪声表示为Ne,是一种预测与实际之间存在的误差。
3)动态模型表示为Fe,用于描述学生在相对应时刻的动作状态,其构建来源于前一时刻状态的测量数据和测量噪声。
4)利用仿真频率和测量噪声得到测量值Md
6)学生进行交互操作的真实值表示为Rd
7)系统反馈时间表示为td+1
8)系统延迟表示为td+1-td
10)预测模型表示为Ed
11)学生未来的交互操作时刻表示为tp
样本测值Ed需要进行数据修正才能让系统正确的反馈出预测的下一步操作,首先根据仿真频率fe和动态模型Fe对学生上一时刻Ed-1的动作捕捉数据得出的其中在实验前,在给定的时间序列下,通过对仿真频率的调节,可以提前设定需要进行仿真实验的次数。一般而言,仿真实验次数越高,滤波值与真实值越接近,但是考虑到系统本身的计算能力等原因,仿真实验次数不会选择无限多。同时,测量噪声是固定存在的,例如在对学生上一时刻的动作进行数据测量捕捉时,会产生数据精度的偏差,在计算的过程中也要考虑到噪声的影响,因此要将测量噪声的样本进行信号的合成,再将信号输入进系统中。一般而言,在预测的过程中会因噪声产生多个可能的实际值,这时可以利用协方差(covar iance)和递归方程来判断最优实际值。
框架分为两层,预测层与反馈层,以下是贝叶斯滤波算法(BSF)流程:
基本公式:
P(Rd|R1:d-1)=P(Rd|Rd-1) 公式(1)
其中,R1:d-1=(x1,x1,…,xd-1),即P(Rd|R1:d-1)通过递归的方式转换成等价的P(Rd|Rd-1)的形式。即上一刻的状态值将决定当前时刻的状态值。
动态模型:
Rd=Fe(Rd-1,Wd-1) 公式(2)
此公式用于描述状态。在td时刻的交互状态用Rd表示,用Fe表示上一刻的状态Rd-1到当前Rd的函数映射,Wd-1表示在上一刻的噪声。
测量模型:
公式(3)
其中,在td时刻的测量值用Md表示,用Ed表示真实状态Rd到测量状态Md的函数映射,Vd表示测量噪声。那么,动态模型可以用于在反馈层表示学生的交互动作,测量模型可以用于在反馈层表示对学生交互动作的跟踪情况。
在滤波时,可有以下公式:
P(Rd|M1:d)=CkP(Md|Rd)P(Rd|M1:d-1) 公式(4)
P(Rd|M1:d-1)=∫P(Rd|Rd-1)P(Rd-1|Md-1)dRd-1 公式(5)
其中Ck是常系数,利用定义:
1/Ck=P(Md|M1:d-1)=∫P(Rd|M1:d-1)P(Md|Rd)dRd 公式(6)
其中,后验概率用P(Rd|M1:d)体现,先验概率用P(Rd|M1:d-1)体现,似然度用P(Md|Rd)体现,转移概率用(Rd|Rd-1)体现。又由动态模型公式和测量模型公式可以得到似然度和转移概率,因此利用贝叶斯滤波算法的递归公式可以计算再用与Rd利用公式4~6计算后验概率。
通过公式可知,利用贝叶斯滤波算法主要需要注意两个要点:预测和修正。即用动态模型和测量模型对给定时刻的学生交互操作进行预测,然后根据已有的测量值,利用公式4~6对已预测的预测值进行进一步的修正。得到修正后的值通过反馈层反馈给学生,达到对简单物体和学生简单的交互操作的预测效果。
实施例2
本实施例提出一种增强VR教学交互操作实时性,如图1所示,方法步骤如下:
步骤一:通过ERP实验数据库和ERP系统复杂物体库分别构建可视化数据立体模型和复杂物品模型;
步骤二:对可视化数据立体模型和复杂物品模型分别使用B+树存储方法构建AABB树,得到不同的AABB树;
步骤三:对不同的AABB树进行大包围盒碰撞检测,如果发生碰撞,在可视化数据立体模型发生碰撞的位置所在的大包围盒外增加阈值δ,同时在复杂物体模型发生碰撞的位置所在的小包围盒外增加阈值δ后,通过检测阈值是否相交来提前判断是否发生碰撞,如果相交则进入下一步骤,否则认为实际还未碰撞,不进行反馈;
步骤四:构造贝叶斯预测滤波算法构架,使用贝叶斯预测滤波算法对交互操作的物体的下一步进行预测,预测下一时刻进行物体的位置是否会和数据模型发生碰撞,如果下一时刻碰撞,对预测结果进行修正后,反馈预测效果,否则不反馈。
在本实施例中,所述步骤一中,在构建可视化数据立体模型中,对于ERP实验数据库中的数据进行数据可视化处理,将可视化的数据载入具有简单几何特性的立体模型。
在本实施例中,所述步骤二中,对可视化数据立体模型进行大包围盒包围后,构建AABB树;对复杂立体模型进行分层包围后,构建另一AABB树,形成有树干、树枝的结构,分层流程如下:
对复杂物体模型进行包围盒包裹;
复杂碰撞体对象,从一个包围盒分割成多个包围盒,即将大包围盒划分成小包围盒,每个小包围盒根据物体模型的实际凹凸位置决定包裹大小;
划分完成后,整个包围盒便形成如树一般的结构,树干是大的长立方体,树枝是分割的小的长立方体;
构建完成不同的AABB树后引入B+树,削减AABB树中根结点与子结点冗余的数据信息,根据各叶子结点的数据索引。
在本实施例中,所述步骤三中,基于层次包围盒的碰撞检测算法有以下的代价公式:T=Nv·Cv+Np·Cp+Nm·Cm+Cd
其中,T是进行碰撞检测总的代价,Nv是进行相交检测的包围盒对的数目,Cv是对一对包围盒进行相交检测时的代价,Np是在检测中基于几何元素的对数,Cp是检测中对基本的几何元素对数的代价,Nm是当检测对象发生旋转后需要进行更新的包围盒数目,Cm是更新一个包围盒所需要的代价,Cd是当检测对象本身发生变形后对包围盒的更新需要的代价。
判断AABB盒是否与另一半包围盒相交只需判定二者在x轴、y轴、z轴是否都发生了投影的重叠。基于AABB立方体的几何特性,对两个包围盒是否相交的判定需要6次,即进行比较运算时只需要6n次,而对于AABB包围盒中的任一点R(x,y,z),始终满足:
其中n表示顶点的个数,xmin、xmax表示三维坐标轴中x轴方向的最小和最大值,ymin、ymax表示三维坐标轴中y轴方向的最小和最大值,zmin、zmax表示三维坐标轴中z轴方向的最小和最大值;
在独立的可视化数据立体模型外,增加一个全方位覆盖在包围盒外的阈值δ(其中δ≥0),增加阈值δ后,可视化数据立体模型的AABB盒上的任一点需满足的条件也发生如下变化:
以便于在包围盒间进行相交检测时,手的模型的包围盒在在触碰到阈值δ时,产生相交检测的效果。
在本实施例中,所述步骤三中,根据步骤二中,对复杂物体模型进行包围盒分层包围后,在碰撞检测时,先检测树干部分,若有碰撞再检测树枝,若树枝检测发生碰撞,则再检测叶节点;对于复杂物体模型进行碰撞检测时发生碰撞,的位置增加非全方位覆盖的阈值δ,即对复杂物体模型小包围盒外增加阈值δ。
在本实施例中,所述步骤四中,贝叶斯预测滤波算法框架包括预测层和反馈层,用动态模型和测量模型对给定时刻的交互操作进行预测,根据已有的测量值,对以预测的预测值进行进一步的修正,得到修正后的值通过反馈层反馈预测效果。
在本实施例中,贝叶斯预测滤波框架在应用时有可能会存在一些问题,比如计算机系统进行公式计算时,求解过程中涉及到无穷积分,导致求解苦难或者无解析解,这样计算机就无法反馈正确的滤波预测值给学生,从而导致预测失效。因此这里在贝叶斯预测滤波的基础上提出了卡尔曼预测滤波。应用的卡尔曼预测滤波以贝叶斯预测滤波为基础,做了以下六点假设:
1.假设一:状态量服从正态分布
2.假设二:观测量服从正态分布
3.假设三:过程噪声服从均值为0的正态分布
4.假设四:观测噪声服从均值为0的正态分布
5.假设五:状态转移函数为线性函数
6.假设六:观测函数为线性函数
卡尔曼预测滤波过程可主要概括为以下三步:
第一步:初始化。首先会依据本申请的研究对象假设两个变量(位置和速度)都是随机的,并且服从高斯分布。每个变量都有一个均值μ,表示随机分布的中心(最可能的状态),以及方差σ2,表示不确定性。其中一个测量值告诉了我们其它变量可能的值,这就是卡尔曼滤波的目的,尽可能地在包含不确定性的测量数据中提取更多信息。这种相关性需要用到协方差矩阵来表示,这里不作过多过程展示。
第二步:预测。这一步是根据上一时刻学生的操作,预测当前时刻学生的操作。有以下公式:
x′=Fx+u 公式(7)
这里x为上一时刻学生的手的状态,x′为当前时刻学生的手的状态,F为状态转移矩阵,u为外部影响。
根据对协方差矩阵的处理,有公式:
P′=FPFT+Q 公式(8)
其中P为状态协方差矩阵,表示VR系统的不确定程度,Q为过程噪声协方差矩阵,即无法用公式表示的噪声。
两个公式联立则有:
第三步:观测。有以下公式:
y=z-Hx′ 公式(9)
H为测量矩阵。观测值z和当前状态预测值x′之间的差值为y。对y乘以一个加权量,再加到当前状态预计值x′上,就可以得到当前时刻状态的预测值,有:
x=x′+Ky 公式(10)
其中K为卡尔曼增益,此时有以下计算公式:
其中R是测量噪声协方差矩阵,通常由VR设备厂家提供。
最后加入对系统不确定度的更新,有
P=(I-KH)P′ 公式(11)
联立公式就可以实现公式更新的闭环,由上一时刻的观测值得到当前时刻的预测值。卡尔曼预测滤波的补充可以有效解决贝叶斯预测滤波框架在应用时出现的问题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种增强VR教学交互操作实时性的方法,其特征在于:包括以下步骤:
步骤一:通过ERP实验数据库和ERP系统复杂物体库分别构建可视化数据立体模型和复杂物品模型;
步骤二:对可视化数据立体模型和复杂物品模型分别使用B+树存储方法构建AABB树,得到不同的AABB树;
步骤三:对不同的AABB树进行大包围盒碰撞检测,如果发生碰撞,在可视化数据立体模型发生碰撞的位置所在的大包围盒外增加阈值δ,同时在复杂物体模型发生碰撞的位置所在的小包围盒外增加阈值δ后,通过检测阈值是否相交来提前判断是否发生碰撞,如果相交则进入下一步骤,否则认为实际还未碰撞,不进行反馈;
步骤四:构造贝叶斯预测滤波算法构架,使用贝叶斯预测滤波算法对交互操作的物体的下一步进行预测,预测下一时刻进行物体的位置是否会和数据模型发生碰撞,如果下一时刻碰撞,对预测结果进行修正后,反馈预测效果,否则不反馈。
2.根据权利要求1所述的一种增强VR教学交互操作实时性的方法,其特征在于:所述步骤一中,在构建可视化数据立体模型中,对于ERP实验数据库中的数据进行数据可视化处理,将可视化的数据载入具有简单几何特性的立体模型。
3.根据权利要求2所述的一种增强VR教学交互操作实时性的方法,其特征在于:所述步骤二中,对可视化数据立体模型进行大包围盒包围后,构建AABB树;对复杂立体模型进行分层包围后,构建另一AABB树,形成有树干、树枝的结构,分层流程如下:
对复杂物体模型进行包围盒包裹;
复杂碰撞体对象,从一个包围盒分割成多个包围盒,即将大包围盒划分成小包围盒,每个小包围盒根据物体模型的实际凹凸位置决定包裹大小;
划分完成后,整个包围盒便形成如树一般的结构,树干是大的长立方体,树枝是分割的小的长立方体;
构建完成不同的AABB树后引入B+树,削减AABB树中根结点与子结点冗余的数据信息,根据各叶子结点的数据索引。
4.根据权利要求3所述的一种增强VR教学交互操作实时性的方法,其特征在于:所述步骤三中,基于层次包围盒的碰撞检测算法有以下的时间代价公式:
T=Nv·Cv+Np·Cp+Nm·Cm+Cd
其中,T是进行碰撞检测总的时间代价,Nv是进行相交检测的包围盒对的数目,Cv是对一对包围盒进行相交检测时的时间代价,Np是在检测中基于几何元素的对数,Cp是检测中对基本的几何元素对数的时间代价,Nm是当检测对象发生旋转后需要进行更新的包围盒数目,Cm是更新一个包围盒所需要的时间代价,Cd是当检测对象本身发生变形后对包围盒的更新需要的时间代价。
判断AABB盒是否与另一半包围盒相交只需判定二者在x轴、y轴、z轴是否都发生了投影的重叠。基于AABB立方体的几何特性,对两个包围盒是否相交的判定需要6次,即进行比较运算时只需要6n次,而对于AABB包围盒中的任一点R(x,y,z),始终满足:
其中n表示顶点的个数,xmin、xmax表示三维坐标轴中x轴方向的最小和最大值,ymin、ymax表示三维坐标轴中y轴方向的最小和最大值,zmin、zmax表示三维坐标轴中z轴方向的最小和最大值;
在独立的可视化数据立体模型外,增加一个全方位覆盖在包围盒外的阈值δ(其中δ≥0),增加阈值δ后,可视化数据立体模型的AABB盒上的任一点需满足的条件也发生如下变化:
以便于在包围盒间进行相交检测时,手的模型的包围盒在在触碰到阈值δ时,产生相交检测的效果。
5.根据权利要求4所述的一种增强VR教学交互操作实时性的方法,其特征在于:所述步骤三中,根据步骤二中,对复杂物体模型进行包围盒分层包围后,在碰撞检测时,先检测树干部分,若有碰撞再检测树枝,若树枝检测发生碰撞,则再检测叶节点;对于复杂物体模型进行碰撞检测时发生碰撞,的位置增加非全方位覆盖的阈值δ,即对复杂物体模型小包围盒外增加阈值δ。
6.根据权利要求5所述的一种增强VR教学交互操作实时性的方法,其特征在于:所述步骤四中,贝叶斯预测滤波算法框架包括预测层和反馈层,用动态模型和测量模型对给定时刻的交互操作进行预测,根据已有的测量值,对已预测的预测值进行进一步的修正,得到修正后的值通过反馈层反馈预测效果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211302611.2A CN115576424B (zh) | 2022-10-24 | 2022-10-24 | 一种增强vr教学交互操作实时性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211302611.2A CN115576424B (zh) | 2022-10-24 | 2022-10-24 | 一种增强vr教学交互操作实时性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115576424A true CN115576424A (zh) | 2023-01-06 |
CN115576424B CN115576424B (zh) | 2023-09-01 |
Family
ID=84587230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211302611.2A Active CN115576424B (zh) | 2022-10-24 | 2022-10-24 | 一种增强vr教学交互操作实时性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115576424B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205867A (zh) * | 2015-09-06 | 2015-12-30 | 大连理工大学 | 一种微创虚拟腹主动脉血管手术中的碰撞检测方法 |
CN105488851A (zh) * | 2015-11-30 | 2016-04-13 | 腾讯科技(深圳)有限公司 | 实时虚拟场景中碰撞体之间碰撞探测的方法和装置 |
CN108983978A (zh) * | 2018-07-20 | 2018-12-11 | 北京理工大学 | 虚拟手控制方法及装置 |
US10242498B1 (en) * | 2017-11-07 | 2019-03-26 | StyleMe Limited | Physics based garment simulation systems and methods |
US10650604B1 (en) * | 2018-09-21 | 2020-05-12 | Immersive Touch, Inc. (Delaware Corporation) | Method, device and system for volume visualization and interaction in a virtual reality environment |
-
2022
- 2022-10-24 CN CN202211302611.2A patent/CN115576424B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205867A (zh) * | 2015-09-06 | 2015-12-30 | 大连理工大学 | 一种微创虚拟腹主动脉血管手术中的碰撞检测方法 |
CN105488851A (zh) * | 2015-11-30 | 2016-04-13 | 腾讯科技(深圳)有限公司 | 实时虚拟场景中碰撞体之间碰撞探测的方法和装置 |
US20180053311A1 (en) * | 2015-11-30 | 2018-02-22 | Tencent Technology (Shenzhen) Company Limited | Method, terminal, and storage medium for detecting collision between colliders in real-time virtual scene |
US10242498B1 (en) * | 2017-11-07 | 2019-03-26 | StyleMe Limited | Physics based garment simulation systems and methods |
CN108983978A (zh) * | 2018-07-20 | 2018-12-11 | 北京理工大学 | 虚拟手控制方法及装置 |
US10650604B1 (en) * | 2018-09-21 | 2020-05-12 | Immersive Touch, Inc. (Delaware Corporation) | Method, device and system for volume visualization and interaction in a virtual reality environment |
Non-Patent Citations (2)
Title |
---|
张剑 等: "VR/AR中基于贝叶斯预测滤波算法框架的实现", 《第十三届全国图象图形学术会议》, pages 679 - 682 * |
杨帆: "基于B+树存储的AABB包围盒碰撞检测算法", 《计算机科学》, vol. 48, pages 332 - 334 * |
Also Published As
Publication number | Publication date |
---|---|
CN115576424B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11107272B2 (en) | Scalable volumetric 3D reconstruction | |
US11300964B2 (en) | Method and system for updating occupancy map for a robotic system | |
US6809738B2 (en) | Performing memory management operations to provide displays of complex virtual environments | |
US20030117402A1 (en) | Systems and methods for simulating frames of complex virtual environments | |
US20030117397A1 (en) | Systems and methods for generating virtual reality (VR) file(s) for complex virtual environments | |
CN104200031A (zh) | 一种基于距离优先和时空相关性的碰撞检测方法 | |
CN112669434A (zh) | 一种基于网格与包围盒的碰撞检测方法 | |
CN111243094B (zh) | 一种基于点灯法的三维模型精确体素化方法 | |
CN102193837B (zh) | 一种基于前线的包围盒碰撞检测方法 | |
WO2003071488A1 (en) | Collision detection method for deformable objects in a scene | |
Kirsanov et al. | Discoman: Dataset of indoor scenes for odometry, mapping and navigation | |
JP2826138B2 (ja) | 移動体の干渉チェック装置 | |
CN115018992B (zh) | 发型模型的生成方法、装置、电子设备及存储介质 | |
US20030117398A1 (en) | Systems and methods for rendering frames of complex virtual environments | |
CN102393826A (zh) | 一种基于多核并行处理的柔性场景连续碰撞检测方法 | |
Chao et al. | Improved hybrid bounding box collision detection algorithm | |
Dietrich et al. | Probabilistic multi-sensor fusion based on signed distance functions | |
CN104318601B (zh) | 一种流体环境下人体运动仿真方法 | |
CN115576424A (zh) | 一种增强vr教学交互操作实时性的方法 | |
CN114091271A (zh) | 一种设备模型的简化方法、装置、电子设备及存储介质 | |
Weller et al. | Kinetic Separation Lists for Continuous Collision Detection of Deformable Objects. | |
CN117422810B (zh) | 结构与参数引导的室内要素规则化与关系推理方法及终端 | |
Zhao et al. | Collision detection research for deformable objects | |
Liu et al. | 3D collision detection algorithm based on composite balanced binary bounding box tree | |
Cheng et al. | Key Issues of Real-time Collision Detection in Virtual Reality |
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 |