一种基于Unity3D知识森林虚拟现实系统实现的方法与流程

文档序号:14571937发布日期:2018-06-01 22:46阅读:1328来源:国知局
一种基于Unity3D知识森林虚拟现实系统实现的方法与流程

本发明属于虚拟现实领域,具体涉及一种基于Unity3D知识森林虚拟现实系统实现的方法。



背景技术:

科学技术的高速发展导致知识爆炸现象日益严重,多源、片面、无序的知识碎片加剧了人类的认知过载问题与学习迷航问题。知识森林是一种全新的知识聚合模式,能够将知识碎片聚合成符合人类认知特点的形式,缓解上述问题。但知识森林数据量巨大且结构复杂,用户难以直接理解,需要应用数据可视化相关技术实现其可视化展示。

虚拟现实技术作为数据可视化技术中目前发展比较快的技术,它将复杂和抽象的数据以直观的形式呈现给用户,同时以最自然的方式实现与场景的交互。使用虚拟现实技术可视化知识森林可以突破二维可视化技术在森林规模、布局、交互上存在的局限,同时给用户以强烈的真实感,使用户更易掌握。

由于现有技术不支持依据分面数量通过脚本生成知识主题分面树模型,需要使用分块拼接建模方法。针对三维树模型的建模方法,现有的方法是:对已有的三维树木模型进行部分截取,获取到多个模型组件;对获取到的所述多个模型组件进行参数设置,以使所述多个模型组件之间相互匹配;对相互匹配好的所述多个模型组件进行插值处理,生成相邻所述模型组件之间的连接组件。该专利主要通过从已有的树木模型中截取若干模型组件进行调整、组合,并通过插值算法生成不同模型组件之间的连接部分,从而生成新的三维树木模型,该建模过程不涉及三维数据的采集,大大简化了建模过程中的数据处理环节,提高了三维树木建模的效率。

现有技术中,将现有的树模型进行截取,获得多个模型组件后拼接生成新的三维树木模型,但该模型不支持依据分面数量通过脚本生成树模型,无法实现知识主题分面树的建模。



技术实现要素:

本发明提供了一种基于Unity3D知识森林虚拟现实系统实现的方法,该方法突破了二维可视化技术在森林规模、布局和交互上存在的局限,同时给用户强烈的真实感,使用户更容易掌握。

本发明的技术方案是:一种基于Unity3D知识森林虚拟现实系统实现的方法,包括以下步骤:

步骤S1,获取数据;该数据包括多个知识领域主题,知识领域主题之间的认知关系,知识领域主题对应分面以及分面对应知识碎片;

步骤S2,使用步骤S1中知识领域主题及其对应的分面数据构建该知识领域主题分面树;

步骤S3,使用步骤S1中知识领域主题之间的认知关系,并且利用层次布局算法生成每个知识领域主题的坐标数据;并且在该坐标数据上,通过数值微分法生成每条边上点的坐标数据;

步骤S4,构建知识森林虚拟场景;具体的将步骤S1中获得的知识领域主题对应分面数据输入到步骤S2中生成的知识领域主题分面树中,然后将该知识领域主题分面树放置在步骤S3中对应的知识领域主题坐标中,然后生成知识森林虚拟场景;

步骤S5,根据步骤S4中的知识森林虚拟场景定制虚拟现实控制器的交互。

更进一步的,本发明的特点还在于:

其中步骤S1中知识领域主题之间的认知关系的数据包括知识领域主题名以及每条知识领域主题认知关系的起始主题名以及终止主题名,认知关系包括上下位关系,学习依赖关系和因果关系;知识领域主题对应分面包括分面的总层数,每层分面的数量,每个分面下知识碎片的数量;知识碎片包括知识碎片类型和知识碎片内容。

其中步骤S2中构建知识领域主题分面树的具体过程是:对树干和树枝进行建模;然后统计主题分面树具有最多一级分面的数量N;在树干模型上添加N个树枝模型,调整每个树枝模型在树干模型中的平衡,从而得到知识领域主题树模型。

其中步骤S3中利用层次布局算法生成每个知识领域主题的坐标数据的具体过程是:消除知识领域主题间认知关系构成的有向环;然后确定每个知识领域主题的坐标;最小化交叉边,使知识领域主题每层的交叉边数最少,按边的总长度和中间节点引入的弯曲数最少的原则给每个节点分配坐标。

其中步骤S3中生成每条边上点的坐标数据的具体过程是:获取知识领域主题之间认知关系的起始节点坐标和终止节点坐标,并且初始化步进方向上的间隔参数delta和当前坐标;获取x和y轴方向上变化量较大的方向作为步进方向,重复数值微分法直到当前坐标与终点坐标步进方向距离小于步进方向间隔;然后返回起始节点和终止节点之间连线上一组点的坐标数据。

其中步骤S4的具体过程是:根据步骤S3获得的所有知识领域主题之间的认知关系,建立认知路径;然后根据步骤S3获取每个知识领域主题的坐标;在每个知识领域主题坐标上生成对应知识主题的分面树模型。

其中虚拟现实控制器交互操作包括控制镜头移动速度和方向的触摸板,控制镜头上升或下降的紧握和菜单按钮,触发虚拟场景中模型确认操作的扳机按钮。

其中虚拟场景中模型确认操作包括用户位置跳转、知识碎片展示板显示和知识碎片切换显示。

与现有技术相比,本发明的有益效果是:该方法为分块拼接建模方法,其解决了现有技术不能依据分面数量通过脚本生成树模型的问题,并且通过对知识森林交互操作的设计,实现了对知识森林从“森林-知识领域主题分面树-分面碎片化知识”多个维度进行展示,体现出知识森林多维性的特点,同时方便了用户学习和使用。

附图说明

图1为本发明的流程示意图;

图2为本发明中知识森林场景构建的流程示意图;

图3位本发明中虚拟现实控制器与知识森林虚拟场景的交互示意图。

具体实施方式

下面结合附图和具体实施例对本发明的技术方案进一步说明。

本发明中提到的技术术语解释如下:

知识森林:是一种全新的碎片化知识聚合模式,将碎片化知识聚合过程看作是“知识主题分面树生成—碎片化知识装配—认知关系挖掘”三阶段的知识森林生成过程,能够将多源、片面、无序的碎片化知识如中英文的文本以及图片、视频等多媒体资源聚合成符合人类认知学习多维性、关联性、整合性等特点的模式。

知识主题分面树:指描述某一知识主题组织结构的层次结构树,知识主题分面树的数据主要包括分枝数据。

认知关系:指在学习过程中知识主题间由于认知需要而形成的依赖关系。

本发明提供了一种基于Unity3D知识森林虚拟现实系统实现的方法,如图1所示,包括以下步骤:

步骤S1,首先获取数据;该数据包括知识领域主题、知识领域主题之间的认知关系、知识领域主题对应分面以及该分面对应知识碎片数据。其中知识领域主题之间的认知关系包括知识领域主题名以及每条知识领域主题认知关系的起始主题名以及终止主题名,认知关系包括上下位关系,学习依赖关系和因果关系;知识领域主题对应分面包括分面的总层数,每层分面的数量,每个分面下知识碎片的数量;知识碎片包括知识碎片类型和知识碎片内容。

步骤S2,知识领域主题分面树模型的构建;通过利用步骤S1中获得的知识领域主题以及主题对应的分面数据构成主题分面树,其通过分块拼接建模方法实现知识领域主题分面树的构建;具体过程是,首先建立树枝和树干模型,然后统计知识领域主题分面树拥有最多一级分面的数量N,然后在树干模型上添加N个树枝模型,并且调整N个树枝模型在树干模型上的平衡性,同时将N个树枝模型的空间坐标、空间转向和大小缩放数据按照树干模型从上至下进行保存;从而得到N个分枝的知识领域主题分面树模型模板。

步骤S3,利用步骤S1中获得的知识主题间认知关系的数据,通过层次布局算法生成每个知识领域主题的坐标数据,其具体过程是:首先消除知识主题认知关系构成的有向环,通过将具有有向环的边进行反转,从而实现消除有向环;然后确定分布在各层节点的坐标,同一条边的起始节点坐标层次小于终止节点坐标层次;对每层节点最小化交叉边,使每层的交叉边数量最少;然后按照边的总长度和中间节点引入的弯曲数最少的原则赋予每个节点坐标,从而生成知识领域主题的坐标数据。

然后通过上述知识领域主题的坐标数据通过数值微分法生成每条边上节点的坐标数据;其具体过程是:首先获取知识领域主题之间认知关系的起始节点坐标(sx,sy)和终止节点坐标(tx,ty),初始化步进方向行的间隔参数delta,初始化当前坐标(xi,yi)为(sx,sy);然后进行步进方向的计算,其过程是,计算x和y上的变化量比较|dx|和|dy|的的大小,取其中较大的作为步进方向。

若|dx|>|dy|,则步进方向为x方向,增率k=dy/dx,通过以下公式由当前坐标(xi,yi)计算在步进方向间隔delta下一个点的坐标(xi+1,yi+1):其中sgn是取符号函数,即输入为正数,则函数值为1,输入为负数,则函数值为-1,输入为0,则函数值为0;同理,若|dx|<|dy|,则步进方向为y方向,增率m=dx/dy,通过以下公式由当前坐标(xi,yi)计算在步进方向间隔delta下一个点的坐标(xi+1,yi+1):将计算得到的(xi+1,yi+1)进行保存,并使当前坐标(xi,yi)为(xi+1,yi+1);重复该步骤直到当前坐标与终点坐标步进方向上的距离小于间隔参数delta。

然后返回起始节点和终止节点之间连线上的一组点的坐标数据。

步骤S4,构建知识森林虚拟场景;如图2所示,具体包括将步骤S1中获得的知识领域主题对应分面数据输入到步骤S2中生成的知识领域主题分面树中,然后将该知识领域主题分面树放置在步骤S3中对应的知识领域主题坐标中,然后生成知识森林虚拟场景。。

步骤S5,根据步骤S4中的知识森林虚拟场景,定制虚拟现实控制器的交互。如图3所示,该控制器包括触摸板、握紧按钮、菜单按钮和扳机按钮。其中触摸板用于感知触摸的速度和方向,用于调整镜头的速度和方向;握紧按钮使镜头上升;菜单按钮使镜头下降;扳机按钮用于出发虚拟场景中模型添加的确认操作,模型的确认操作具体包括点击主题分面树模型上方的按钮,然后移动到对应主题分面树模型的正前方,点击分面按钮会弹出显示分面下知识碎片内容,并且切换至该分面对应的知识碎片。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1