一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

结合关系图谱的三维展馆浏览方法

2022-07-13 17:28:11 来源:中国专利 TAG:


1.本技术涉及三维展馆浏览技术领域,特别是一种结合关系图谱的三维展馆浏览方法。


背景技术:

2.近年来,随着图形学领域的研究发展和硬件设备性能提升,基于三维虚拟空间的应用越来越广泛。相较于二维图文展示形式,三维虚拟空间能够向用户展示更丰富的对象信息,提供更好的沉浸感和真实感。
3.现有展览馆展示展品多为实物,或采用vr技术合成虚拟立体视频进行展示,展示手段较单一,难以有效激发参观者的游览兴趣,现有技术中缺乏可用于展览馆的三维展示方法。
4.现有技术1的技术方案:使用超高像素扫描仪和谷歌街景技术再现博物馆的内部场景。如谷歌艺术项目(gap)联合世界上许多著名的艺术博物馆共同推出的谷歌数字博物馆项目,其交互界面如图1所示,用户可以在线观看全景视频,得到身临其境的体验,下方缩略图列举了可选的观察视角,点击即可实现观察场景的切换。
5.现有技术1的缺点:
6.1.观察点固定,不能由用户仅需灵活调节,用户点击缩略图切换视点的切换方式易导致浏览过程不连续,影响用户体验。
7.2.这种浏览方案无法体现展品之间的关联关系,场馆之间及展品之间的割裂感非常明显,不利于用户获取前、后相关联展品的知识,导致浏览展品后无法获取全方面的知识。
8.现有技术2的技术方案:在小地图导航场景中,交互界面通过在展馆中以ui的方式提供主要展品清单,用户点击感兴趣的展品后跳转到模型前并显示展品的详细介绍。漫游时的导航实现方案是,在屏幕局部位置提供场景地图缩略版,并以可旋转的扇形表示虚拟替身的视野范围,从而使用户能够据此判断替身在场景中的方位和朝向。如图2所示,用户通过旋转视角对照小地图的信息和扇形角度变化,找到正确的移动路径。
9.现有技术2的缺点:
10.1.场馆中虽提供了展品清单,但其中的展品作为独立个体呈现,没有表现出展品之间的关联关系,且用户每次只能选择一个感性趣的展品浏览。
11.2.小地图占用屏幕较多空间,破坏画面完整性,对此主要的解决方式是设置小地图隐藏功能,但寻路和观赏时需要切换小地图状态导致操作比较麻烦。
12.3.小地图导航模式将导航信息通过小地图和视野图的方式间接表示,需要用户自己对照场景俯视图找到正确的前进路线,导航效率较低。
13.现有技术3的技术方案:针对三维场景的导航现有技术还包括在画面中放置3d书签,3d书签可包含多种样式,如直线箭头形状、带有角度的箭头形状,类似三角形状的其它标识等。提示在当前位置可选择的移动方向。如图3所示。
14.现有技术3的缺点:
15.1.在场景中的位置固定,难以兼容用户从不同角度观看书签时书签指示方向的准确性。场景结构复杂时更容易引起理解上的多义性。
16.2.一个3d书签只能指向一个方向,用于在一个位置标明下一步的移动方向。当路线复杂时,就需要在场景中密集地摆放导航书签,增加程序开发成本,遮挡场景内容,影像美观性,用户使用时感受到的灵活性也较低。
17.现有技术4的技术方案:针对三维场景导航的技术方案还包括在三维场景地面绘制推荐浏览路线的路径图,如图4所示,用户跟随地面路线进行漫游,到达预定的目标位置,路线轨迹由每次导航的起始位置决定,路线生成后漫游过程中不可更改。
18.现有技术4的缺点:
19.1.在场景地面采用绘制路线的方式添加了大量除场景内容外的信息,对场景内容造成了遮挡,且提示方式较生硬,影响用户漫游的沉浸感。
20.2.路线图不能全方位覆盖场景,用户位于场景角落或面向墙壁时,无法随时观察身后地面的路线信息,需要先调整自身朝向,使地面路线出现在视野中才能继续导航,降低漫游效率,影响用户体验。


技术实现要素:

21.本技术提供了一种结合关系图谱的三维展馆浏览方法,用于解决现有技术中三维展馆对展品间关联性展示不充分问题;三维展馆中展品信息与场景信息的有效结合问题;目前三维场景导航方案中引导信息占用屏幕过多空间的问题;目前已有方案存在的方向提示不确定性,本发明通过采用对称轴指向目标方位的方式提高用户对提示信息理解的准确性;目前已有方案存在的场景兼容性较差情况,本发明通过将导航信息作为固定ui形式显示于屏幕部分区域的方式,解决当人物位于场景角落或面向墙壁时导航信息不可见的技术问题。
22.本技术提供了一种结合关系图谱的三维展馆浏览方法,包括以下步骤:
23.步骤s10:展品关系的抽取和图谱构建:
24.步骤s11:采用正则匹配方式,抽取文物数据中所包含的所有以
‘“’

‘”’


《’、

》’等符号包含的专有名字或书录名称,并加入自定义词典;
25.步骤s12:采用中文nlp处理工具,结合自定义词典,对文物展品详情进行文物关键词抽取;
26.步骤s13:对上述步骤中所得处理结果进行数据清洗,得到关键词集,记录展品与关键词集的对应关系;
27.步骤s14:采用编辑距离算法进行展品之间的文本相似度计算,得到任意多个文本间的关联指数,以由高到低的顺序为每个展品选取若干项的推荐展品;
28.步骤s15:根据交互需求设计图形数据库中用于存储数据的图结构;
29.步骤s16:基于以上抽取结果,通过脚本批量生成neo4j引擎的cypher 语句生成图;
30.步骤s20:三维场景中图谱的渲染和交互:步骤s23:选取三维场景中的图谱元素展示样式,设定数据库查询语句,根据所获得的用户交互需求,使用在线访问的方式连接
neo4j数据库,进行关键词相关展品查询和查询所得展品的相关推荐展品推荐两项功能,采用数据库查询语句对 neo4j数据库进行查询;
31.步骤s24:解析neo4j数据库返回的查询结果,根据三维场景中图谱元素的展示样式采用fr算法实现空间中节点位置的布局计算,布局算法保证图谱节点每次移动后都能及时达到平衡态;
32.步骤s25:为图谱对象设置子相机,选择正交投影方式,将图谱渲染到canvas界面;
33.步骤s26:用户通过坐标系转换实现与图谱节点的交互操作;
34.步骤s28:将展品节点信息和场景信息相结合,用户对图谱节点进行操作后,实现场景导航;采用该操作能减少场景导航交互界面对图面的干扰,获得较大面积的图谱界面,提高操作顺畅性。
35.步骤s30:用户自定义浏览路线的导航:将导航信息与ui样式相绑定,以当前用户所处位置为起点,以选定的文物目标所处位置为终点通过路径规划算法计算完整路径;不限制寻路算法,以unity引擎中自带的 navmesh寻路框架为例,根据此框架得到的寻路结果进行导航;
36.所用ui样式为由一个空心的圆环和一个张角大小与旋转角度都可变的弧环段组成,以圆环为主要载体,通过弧环段的不同状态和改变趋势向用户提示正确的移动方式。
37.优选的,步骤s30以下步骤:
38.步骤s31:获取路径信息中所有路径节点p
set
、当前用户替身的位置 p
cur
、阶段导航位置点p
target
,用户替身朝向的法相向量n
per
,以p
cur
为起点, p
target
为终点的向量n
dir
,选择导航对象并计算导航路径,根据用户浏览需求输入指令更新导航目标点;
39.步骤s32:获取实时向量信息更新导航ui的张角_waver,导航ui的旋转角度_rotate;
40.步骤s33:分别计算x的tan值、sin值和cos值,通过旋转矩阵计算像素坐标,利用tan值生成对称着色区域后,根据像素坐标返回对应颜色;
41.步骤s34:根据步骤s33计算结果在交互界面上实时显示更新后的导航ui。
42.优选的,所述步骤s30包括以下步骤:
43.步骤s31:根据用户在交互界面上选取的待浏览展品清单,使用 navmesh框架进行路径规划,获取完整的路径信息,根据目标展品的切换规则进行多个待浏览展品切换,将r
in
和r
out
范围内的像素设为白色,范围外像素返回透明颜色,在交互界面中获得白色圆环,根据自适应ui获取路径信息算法获取导航目标。
44.优选的,所述步骤s31中根据自适应ui获取路径信息算法获取导航目标包括以下步骤:
45.1、得到路径节点集合p
set

46.2、循环判断经过的节点数量;
47.3、是否即将走到最后一个节点;
48.4、如果到达最后节点;
49.5、计算向量v,v:=场景中目标在xz平面坐标-虚拟相机在xz平面坐标;
50.6、如果未到达最后节点;
51.7、计算向量v,v:=下一个路径拐点的平面坐标-虚拟相机在xz轴平面坐标;
52.8、与当前节点距离低于阈值时,经过节点数 1;
53.9、根据向量v信息调整ui状态。
54.优选的,所述步骤s32包括以下步骤:步骤s321:根据当前用户替身位置p
cur
与阶段导航位置点p
target
的距离大小,经过系数换算得到0~90 范围内的数值,以张角度数_waver参数定义,表示圆环中高亮区域的弧度大小;渲染时根据张角度数_waver的tan值进行换算处理,并使uv坐标处于张角度数_waver范围内像素返回当前的_color颜色,同时uv坐标位于_waver范围外的像素依然保持白色;设定坐标规则使得高亮区域的颜色由中心向两侧延伸,由两侧向中心收缩,得到张角度数变化的弧环段。
55.优选的,所述步骤s32包括以下步骤:步骤s322:获取当前阶段的导航位置p
target
后,计算n
per
和n
dir
,利用两个向量夹角的sin值和cos值得到计算uv坐标的旋转角度_rotate,_rotate的取值范围为0~360
°

56.优选的,所述步骤s33包括以下步骤:
57.步骤s331:为uv坐标添加偏移实现将交互界面上导航ui图标从画面中心移至交互界面的角落上;
58.步骤s332:当替身在场景中位置改变时,将ui图标操作区域的color 设为第一种颜色;当替身在三维展馆场景内的朝向发生改变时,color设为第二种颜色;当替身在三维展馆内已行进到路径上最后节点时,ndir以导航目标的场景位置为终点,表示已到达展品附近,此时color设为第三种特定颜色。
59.优选的,所述步骤s33包括以下步骤:
60.步骤s333:在用户到达最终的目标位置之前,系统根据设定的目标展品切换规则实时更新导航ui所有参数,绘制新的圆环图形,并向用户输出提示导航信息。
61.优选的,包括:步骤s27:设置图谱节点设计辅助交互组件,交互组件为圆环结构,圆环上分别设置“选择”、“展开”、“删除”选项。
62.优选的,所用ui样式以圆形为主要载体,以圆形中部分扇形的圆心角变换提示用户正确移动方向;以扇形半径的大小表示与目标的距离;当扇形的半径向圆心收缩,表示替身正靠近目标展品;当扇形半径向圆周方向延伸表示替身在向远离目标展品的方向移动;圆型ui的透明度大于50%。
63.本技术涉及专业术语解释:
64.图形数据库:图形数据库是nosql数据库的一种类型,它应用图形理论存储实体之间的关系信息。图形数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息。最常见例子就是社会网络中人与人之间的关系。
65.关系型数据库:用于存储“关系型”数据的效果并不好,其查询复杂、缓慢、超出预期,而图形数据库的独特设计恰恰弥补了这个缺陷。
66.着色器(shader):用来实现图像渲染的,用来替代固定渲染管线的可编辑程序。
67.vertex shader(顶点着色器):主要负责顶点的几何关系等的运算。
68.pixel shader(像素着色器):主要负责片源颜色等的计算。
69.navmesh:unity引擎自身拥有一款功能十分强大的导航寻路系统。
70.uv坐标:uv坐标是指所有的图象文件都是二维的一个平面。水平方向是u,垂直方向是v,通过这个平面的,二维的uv坐标系。我们可以定位图象上的任意一个像素。
71.深度优先搜索dfs(depth first search):是从初始结点开始扩展,扩展顺序总是先扩展最新产生的结点。这就使得搜索沿着状态空间某条单一的路径进行下去,直到最后的结点不能产生新结点或者找到目标结点为止。当搜索到不能产生新的结点的时候,就沿着结点产生顺序的反方向寻找可以产生新结点的结点,并扩展它,形成另一条搜索路径。
72.广度优先搜索bfs(breadth first search):也称为宽度优先搜索,它是一种先生成的结点先扩展的策略。解答树上结点的扩展是按它们在树中的层次进行的。首先生成第一层结点,同时检查目标结点是否在所生成的结点中,如果不在,则将所有的第一层结点逐一扩展,得到第二层结点,并检查第二层结点是否包含目标结点,
……
,对层次为n 1的任一结点进行扩展之前,必须先考虑层次完层次为n的结点的每种可能的状态。因此,对于同一层结点来说,求解问题的价值是相同的,可以按任意顺序来扩展它们。通常采用的原则是先生成的结点先扩展。
73.neo4j:neo4j是一个高性能的,nosql图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。
74.弹簧布局算法:也称为力导引布局算法,力导引布局的方法可以产生相当优美的网络布局,并充分展现网络的整体结构及其自同构特征。该方法最早由eades在1984年提出。基本思想是将网络看成一个顶点为钢环,边为弹簧的物理系统,系统被赋予某个初始状态以后,弹簧弹力(引力和斥力)的作用会导致钢环移动,这种运动直到系统总能量减少到最小值停止。每次循环都要计算任意一对点的斥力和相邻两个点的引力,计算复杂度为o(n2)。
75.fruchterman-reingold(fr)算法:基于弹簧算法的优化算法,是现在用途最为广泛的布点算法。在弹簧布局算法的基础上提出使用原子引力模型代替弹簧模型。该模型针对每个节点,计算其与相连节点间的吸引力,与非相连节点之间的排斥力,得到节点的最终平衡态位置。
76.shaderlab:unity中的所有shaders文件都使用名为“shaderlab”的声明性语言编写。unity中创建的shader文件是surface shader,是对vertex and fragment shaders的包装,最后的编译到底层的时候也是以vertex and fragment shaders的形式输入的。
77.本技术中涉及的背景技术包括:文本信息抽取技术、关系图谱构建技术、三维空间图谱布局与绘制技术、三维空间路径规划技术、图形渲染技术。其中文本信息抽取算法、关系图谱数据存储平台、三维空间图谱布局算法、三维空间路径规划算法均有多种可选方案,实际使用中可依据不同项目的需求选择对应算法。
78.本技术能产生的有益效果包括:
79.1)本技术所提供的结合关系图谱的三维展馆浏览方法,为有效满足用户通过导览高效获取信息,提出了一种将展品间的关联性与三维场景的优势相结合的信息展示方案。通过将关系图谱引入三维数字展馆,与场景交互进行充分关联,结合路径规划算法获取导航信息,设计并实现新的ui 套件,进行自适应导航信息的显示。
80.2)本技术所提供的结合关系图谱的三维展馆浏览方法,将知识图谱技术与三维数字展馆相结合,实现用户在场馆中与图谱的流畅交互。本技术提供方法经实验证明可大幅
提升用户在博物馆内的参观效率并在一定程度增加用户交互的趣味性,提升整体使用体验。
81.3)本技术所提供的结合关系图谱的三维展馆浏览方法,将相关展品推荐功能和场景导航机制相结合。实现展品关联性展示的同时保护了用户在三维场景中漫游的沉浸感,更大限度地模拟线下实体博物馆的参观体验。将用于传递导航信息的标识以ui形式固定于屏幕画面的角落,用户漫游过程中时刻都能看到,兼容所有场景情况。解决目前三维场景中方向提示信息形式单一、刻板、存在视线死角的问题实现用户漫游路线自定义功能。通过与图谱的交互,用户可选择个人感兴趣的展品进行浏览,而不是按照固定路线进行漫游。
82.4)本技术所提供的结合关系图谱的三维展馆浏览方法,采用唯一的空心的圆环作为导航信息的全部载体,有效解决传统导航提示载体冗余,占用屏幕较多空间的问题。本发明提出的导航ui改善了目前导航方案中信息提示方式多义性问题,本发明采用对称轴原理指向目标方向,用户能够更加准确地判断移动方向。
83.5)本技术所提供的结合关系图谱的三维展馆浏览方法,选用textrank 和tf-idf算法针对展馆中的展品说明文字进行关键词抽取,采用编辑距离算法执行展品之间的相似度计算分析;选用neo4j图形数据库作为存储关系图谱的数据库引擎;选用三维空间中的fr算法实现图谱基础元素(边和节点)的绘制;选用unity内置navmesh寻路框架实现路径规划,在以上技术的基础上实现本技术技术方案。
附图说明
84.图1为现有技术1中谷歌数字博物馆项目浏览界面截图;
85.图2为现有技术2中小地图导航场景交互界面截图;
86.图3为现有技术3中场景放置的导航3d书签截图;
87.图4为现有技术4中场景放置的导航3d书签截图;
88.图5为本技术提供的展品关联图谱构建与应用流程图;
89.图6为本技术提供的图谱对象生命周期示意图;
90.图7为本技术提供的图谱节点交互组件示意图;
91.图8为本技术提供的图谱节点交互效果图;a)具体实施方式中宋高宗展品关联状态主视示意图;b)具体实施方式中记载西周“乡举里选”的史料关联节点交互效果示意图;c)锁厅试操作交互效果图;
92.图9为本技术提供的导航ui样式示意图;a)为操作环导航状态一示意图;其中环上深色区域为浏览走向;b)为操作环导航状态二示意图;c) 为操作环导航状态三示意图;
93.图10为本技术提供的用户替身在场景中位置变化示意图;
94.图11为本技术提供的弧环段张角变化与提示方向判断示意图;a)为弧环段张角状态一;b)为弧环段张角状态二;
95.图12为本技术提供的导航ui绘制流程图;
96.图13为本技术具体实施例中自适应ui对用户位移操作反馈状态一的对比图;其中a)为该实施例的反馈状态一;b)为该实施例的反馈状态二;
97.图14为本技术具体实施例中自适应ui对用户旋转操作反馈状态二的对比图;a)为该实施例的反馈状态一;b)为该实施例的反馈状态二;
具体实施方式
98.为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。通常在此处附图中描述和示出的本发明实施方式的组件可以以各种不同的配置来布置和设计。
99.因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
100.本技术中未详述的且并不用于解决本技术技术问题的技术手段,均按本领域公知常识进行设置,且多种公知常识设置方式均可实现。
101.参见图5~12,本技术提供的结合关系图谱的三维展馆浏览方法,包括以下步骤:
102.步骤s10:展品关系的抽取和图谱构建:
103.步骤s11:采用正则匹配方式,抽取文物数据中所包含的所有以
‘“’

104.‘”’


《’、

》’等符号包含的专有名字或书录名称,并加入自定义词典;
105.步骤s12:采用中文nlp处理工具,结合自定义词典,对文物展品详情进行文物关键词抽取;
106.步骤s13:对上述步骤中所得处理结果进行数据清洗,得到关键词集,记录展品与关键词集的对应关系;
107.步骤s14:采用编辑距离算法进行展品之间的文本相似度计算,得到任意多个文本间的关联指数,以由高到低的顺序为每个展品选取若干项的推荐展品;
108.步骤s15:根据交互需求设计图形数据库中用于存储数据的图结构;
109.步骤s16:基于以上抽取结果,通过脚本批量生成neo4j引擎的cypher 语句生成图;
110.展品关系的抽取和图谱构建模块所得结果,将用于通过在线访问的方式作为unity查询的后端数据库,用于支持用户在场景漫游时实时返回关联词查询和相似展品查询两项交互功能。步骤s10的流程图如图5所示。
111.步骤s20:三维场景中图谱的渲染和交互:
112.步骤s23:选取三维场景中的图谱元素展示样式,设定数据库查询语句,根据所获得的用户交互需求,使用在线访问的方式连接neo4j数据库,进行关键词相关展品查询和查询所得展品的相关推荐展品推荐两项功能,采用数据库查询语句对neo4j数据库进行查询;
113.步骤s24:解析neo4j数据库返回的查询结果,根据三维场景中图谱元素的展示样式采用fr算法实现空间中节点位置的布局计算,布局算法保证图谱节点每次移动后都能及时达到平衡态;
114.本技术中图谱对象生命周期示意图如图6所示。
115.步骤s25:为图谱对象设置子相机,选择正交投影方式,将图谱渲染到canvas界面;
116.步骤s26:用户通过坐标系转换实现与图谱节点的交互操作;
117.步骤s28:将展品节点信息和场景信息相结合,用户对图谱节点进行操作后,实现场景导航;采用该操作能减少场景导航交互界面对图面的干扰,获得较大面积的图谱界面,
提高操作顺畅性。
118.采用上述方法所能得到的图谱节点交互效果如图8所示。
119.步骤s30:用户自定义浏览路线的导航:将导航信息与ui样式相绑定,以当前用户所处位置为起点,以选定的文物目标所处位置为终点通过路径规划算法计算完整路径;不限制寻路算法,以unity引擎中自带的 navmesh寻路框架为例,根据此框架得到的寻路结果进行导航;
120.所用ui样式为由一个空心的圆环和一个张角大小与旋转角度都可变的弧环段组成,以圆环为主要载体,通过弧环段的不同状态和改变趋势向用户提示正确的移动方式。
121.本技术通过上述方法,用户在交互界面上进行查询时即可获得三维展馆中各展品及其关联推荐展品信息,提高展品信息获取全面性,避免片面性,有效解决现有技术中存在的问题。
122.采用上述方法能将所获取的展品信息在场景上进行全面展示,增强浏览的互动性,便于用户在三维展馆中导航至对应展品区域进行浏览,还能减少导航界面对浏览界面的侵占,获得较大面积的浏览界面。
123.采用上述方法中所用ui界面,用户既能获得准确的前进方向,又能获得朝向角度,增大导航信息的获取量,同时避免现有标签导航中存在的各项问题,提高方向提示的准确性,便于用户理解导航方向,采用该ui 还能解决用户投影至场景中部分区域存在的导航信息不可见的问题,有效改善用户在三维场景内的浏览体验。
124.步骤s20具体实现步骤采用实时绘制片元的方式,由于开发平台为 unity引擎,参照内置的着色器编写标准shaderlab,实现导航ui的实时生成。
125.步骤s30中包括完整的路径信息中所有路径节点p
set
、当前用户替身位置p
cur
、阶段导航位置点p
target
,用户替身朝向的法相向量n
per
,以p
cur
为起点,p
target
为终点的向量n
dir

126.绘制导航ui涉及的主要参数包括外侧圆半径r
out
,内侧圆半径r
in
,表示张角度数_waver,表示旋转角度_rotate,表示颜色的_color。
127.优选的,步骤s30以下步骤:
128.步骤s31:获取路径信息中所有路径节点p
set
、当前用户替身的位置 p
cur
、阶段导航位置点p
target
,用户替身朝向的法相向量n
per
,以p
cur
为起点, p
target
为终点的向量n
dir
,选择导航对象并计算导航路径,根据用户浏览需求输入指令更新导航目标点;
129.步骤s32:获取实时向量信息更新导航ui的张角_waver,导航ui的旋转角度_rotate;
130.步骤s33:分别计算x的tan值、sin值和cos值,通过旋转矩阵计算像素坐标,利用tan值生成对称着色区域后,根据像素坐标返回对应颜色;
131.步骤s34:根据步骤s33计算结果在交互界面上实时显示更新后的导航ui。
132.优选的,步骤s30包括以下步骤:
133.步骤s31:根据用户在交互界面上选取的待浏览展品清单,使用 navmesh框架进行路径规划,获取完整的路径信息,根据目标展品的切换规则进行多个待浏览展品切换,将r
in
和r
out
范围内的像素设为白色,范围外像素返回透明颜色,在交互界面中获得白色圆环,根据自适应ui获取路径信息算法获取导航目标。
134.优选的,步骤s31中根据自适应ui获取路径信息算法获取导航目标包括以下步骤:
135.1、得到路径节点集合p
set

136.2、循环判断经过的节点数量;
137.3、是否即将走到最后一个节点;
138.4、如果到达最后节点;
139.5、计算向量v,v:=场景中目标在xz平面坐标-虚拟相机在xz平面坐标;
140.6、如果未到达最后节点;
141.7、计算向量v,v:=下一个路径拐点的平面坐标-虚拟相机在xz轴平面坐标;
142.8、与当前节点距离低于阈值时,经过节点数 1;
143.9、根据向量v信息调整ui状态。
144.优选的,步骤s321:根据当前用户替身位置p
cur
与阶段导航位置点 p
target
的距离大小,经过系数换算得到0~90范围内的数值,以张角度数 _waver参数定义,表示圆环中高亮区域的弧度大小;渲染时根据张角度数_waver的tan值进行换算处理,并使uv坐标处于张角度数_waver范围内像素返回当前的_color颜色,同时uv坐标位于_waver范围外的像素依然保持白色;设定坐标规则使得高亮区域的颜色由中心向两侧延伸,由两侧向中心收缩,得到张角度数变化的弧环段;
145.本技术提供上述步骤,将弧环段导航环中心对称轴始终指向正确的移动方向,能有效改善用户在三维展馆中浏览文物的导向准确性,便于操作,提高操作准确性。
146.优选的,所述步骤s30包括以下步骤:步骤s322:获取当前阶段的导航位置p
target
后,计算n
per
和n
dir
,利用两个向量夹角的sin值和cos值得到计算uv坐标的旋转角度_rotate,_rotate的取值范围为0~360
°

147.从而通过矩阵乘法将步骤s321中得到的弧环段有色区域旋转到正确位置,旋转后弧环段对称轴指向的方向即为正确的前进方向。本技术具体实施例中以相机表示用户替身由位置1移动到位置2示意图如图10所示,导航ui样式由图10左变为图10右,同时辅助线突出弧形区域指向方向的变化。图11所示为具体实施例中,用户通过ui环径向从位置1到位置 2操作时,ui环上角度前后变化结果示意图。
148.采用本技术提供方法能使用户在操作替身时获取准确的导航方向,提高操作导向可靠性和准确性。
149.优选的,步骤s33包括以下步骤:
150.步骤s331:为uv坐标添加偏移实现将交互界面上导航ui图标从画面中心移至交互界面的角落上;
151.步骤s332:当替身在场景中位置改变时,将ui图标操作区域的color 设为第一种颜色,例如可以设为红色;当替身在三维展馆场景内的朝向发生改变时,color设为第二种颜色,例如可以设定为黄色;当替身在三维展馆内已行进到路径上最后节点时,ndir以导航目标的场景位置为终点,表示已到达展品附近,此时color设为第三种特定颜色,例如可设为绿色;
152.上述步骤中通过采用不同的颜色表示替身在三维展馆场景中的状态、所处位置,能有效提示用户在浏览界面中所处状态,有效改善用户使用体验,增强提示效果,避免用户移动超过目标展品所处位置。不同的颜色表现可帮助用户明确各种交互操作对完成导航任务的影响。
153.优选的,所述步骤s33包括以下步骤:
154.步骤s333:在用户到达最终的目标位置之前,系统根据设定的目标展品切换规则实时更新导航ui所有参数,绘制新的圆环图形,并向用户输出提示导航信息。
155.采用环形ui导航图标,既能在三维展馆中展示前进方向和朝向角度,由能通过路径规划实现对展品的准确定向导航,提高用户在三维展馆场景内的准确导航,同时还能获取各展品相关展品信息,便于用户获取多个相关展品,增强用户获得展品的全面信息。从而全面多方面的改善用户在三维展馆内的浏览、操作体验。
156.优选的,包括:步骤s27:设置图谱节点设计辅助交互组件,交互组件为圆环结构,圆环上分别设置“选择”、“展开”、“删除”选项。如图7 所示,设置辅助交互组件后,用户可通过操作辅助交互组件节点将展品加入/移出感兴趣的展品清单,或以当前展品为根节点展开递进查询。这一步骤得到的展品清单将用作之后寻路的主要依据,用户也可选择对清单中展品分别寻路。
157.优选的,所用ui样式以圆形为主要载体,以圆形中部分扇形的圆心角变换提示用户正确移动方向;以扇形半径的大小表示与目标的距离;当扇形的半径向圆心收缩,表示替身正靠近目标展品;当扇形半径向圆周方向延伸表示替身在向远离目标展品的方向移动;圆型ui的透明度大于50%。
158.通过调节圆型ui的透明度可降低对画面的遮挡。通过采用圆形ui替代环形ui增大用户识别区域面积,提高用户对前进方向和角度的识别效果,从而提高用户在三维展馆中的前进用户体验。
159.实施例
160.本发明的开发平台:
[0161][0162][0163]
该方法包括以下步骤:
[0164]
本发明主要包含三部分:展品关系的抽取和图谱构建、三维场景中图谱的渲染和交互、用户自定义浏览路线的导航。
[0165]
第一部分:展品信息的抽取:
[0166]
step1.采用正则匹配方式对所有以
‘“’

‘”’


《’、

》’等符号包含的专有名字或书录名称进行抽取并加入自定义词典。
[0167]
step2.采用中文nlp处理工具并结合自定义词典,针对文物展品详情进行文物关键词抽取。
[0168]
step3.对处理结果进行数据清洗得到关键词集,记录展品与关键词集的对应关系。
[0169]
step4.采用编辑距离算法进行展品之间的文本相似度计算,得到任意文本间的关联指数,以由高到低的顺序为每个展品选取若干项推荐展品。
[0170]
step5.根据交互需求设计图形数据库中用于存储数据的图结构。
[0171]
step6.基于以上抽取结果通过脚本批量生成neo4j引擎的cypher语句,生成图。
[0172]
这一模块所得结果将用于通过在线访问的方式作为unity查询的后端数据库,用于支持用户在场景漫游时实时返回关联词查询和相似展品查询两项交互功能。
[0173]
这部分的完整流程图如所示。
[0174]
第二部分:三维场景中图谱的渲染和交互
[0175]
step1.设计三维场景中的图谱元素的展示样式
[0176]
step2.使用在线访问的方式连接neo4j数据库
[0177]
step3.根据交互需求,关键词相关展品查询和展品相关展品推荐两项功能,设计设计数据库查询语句。
[0178]
step4.解析数据库返回的查询结果,采用fr算法实现空间中节点位置布局计算,布局算法保证图谱节点每次移动后能及时达到平衡态。图谱对象生命周期示意图如下:
[0179]
step5.为图谱对象设置子相机,选择正交投影方式,将图谱渲染到 canvas界面。
[0180]
step6.通过坐标系转换实现用户与图谱节点的交互操作。
[0181]
step7.为图谱节点设计辅助的交互组件,如图所示,用户支持用户通过操作节点将展品加入/移出感兴趣的展品清单,或以当前展品为根节点展开递进查询。这一步骤得到的展品清单将用作之后寻路的主要依据,用户也可选择对清单中展品分别寻路。
[0182]
step8.将展品节点信息和场景信息相结合,使用户对图谱节点的操作与场景导航机制相连接。
[0183]
第三部分:用户自定义浏览路线的导航
[0184]
本发明提出了将导航信息与ui样式相绑定的交互界面。首先介绍导航ui的构成,ui的样式主要由一个空心的圆环和一个张角大小与旋转角度都可变的弧环段组成。具体实施例中所得图谱节点图,以圆环为主要载体,通过弧环段的不同状态和改变趋势向用户提示正确的移动方式。
[0185]
技术方案的完整流程如下:首先通过路径规划算法计算以当前位置为起点,以选定的目标对象为终点的完整路径。此处对寻路算法没有限制,应用中可依据多种衡量标准分别选择对应的最优方案。本发明中以unity 引擎中自带的navmesh寻路框架为例,接着根据此框架得到的寻路结果开展导航机制的设计方案说明。
[0186]
具体实现步骤采用实时绘制片元的方式,由于开发平台为unity引擎,参照内置的着色器编写标准shaderlab,实现导航ui的实时生成。
[0187]
方案主要用到的信息包括完整的路径信息中所有路径节点p
set
、当前用户替身的位置p
cur
、阶段导航位置点p
target
,用户替身朝向的法相向量n
per
,以p
cur
为起点,p
target
为终点的向量n
dir
。绘制导航ui涉及的主要参数包括外侧圆半径r
out
,内侧圆半径r
in
,表示张角大小的_waver,表示旋转角度的 _rotate,表示颜色的_color。详细渲染步骤如下:
[0188]
step1.根据用户选择的感兴趣展品清单使用navmesh框架进行路径规划,获取完整的路径信息。
[0189]
step2.设计目标展品的切换规则。1
[0190]
step3.将r
in
和r
out
范围内的像素设为白色,范围外像素返回透明颜色,即可在屏幕中得到一个白色的圆环。
[0191]
step4.根据如下算法获取的导航目标。
[0192]
algorithm 3自适应ui获取路径信息算法
[0193]
1:得到路径节点集合pset;
[0194]
2、循环判断经过的节点数量:
[0195]
3、是否即将走到最后一个节点:
[0196]
4、如果到达最后节点:
[0197]
5、计算向量v,v:=场景中目标在xz平面坐标-虚拟相机在xz平面坐标
[0198]
6、如果未到达最后节点:
[0199]
7、计算向量v,v:=下一个路径拐点的平面坐标-虚拟相机在xz轴平面坐标;
[0200]
8、与当前节点距离低于阈值时,经过节点数 1
[0201]
9、根据向量v信息调整ui状态
[0202]
step5.根据p
cur
到p
target
的距离大小,经过系数换算,得到一个在0到90 范围内的数值,以_waver参数定义,表示圆环中高亮区域的弧度大小。渲染时根据_waver的tan值进行换算处理,使uv坐标处于_waver范围内的像素返回当前的_color颜色,同时uv坐标位于_waver范围外的像素依然保持白色。同时通过设定坐标规则使得高亮区域的颜色由中心向两侧延伸,由两侧向中心收缩,得到张角大小灵活变化的弧环段。本发明使用这个特性,
[0203]
将弧环段中心的对称轴始终指向正确的移动方向。
[0204]
step6.获取当前阶段的导航位置p
target
后,计算n
per
和n
dir
,利用两个向量夹角的sin值和cos值得到计算uv坐标的旋转角度_rotate,_rotate的取值范围是0到360度。从而通过矩阵乘法将step5.后得到的弧环段有色区域旋转到正确位置,旋转后弧环段对称轴指向的方向即为正确的前进方向。图中以相机表示用户替身由位置1移动到位置2,导航ui样式由图10左变为图 10右,同时辅助线突出弧环段区域指向方向的变化。
[0205]
step7.将绘制的导航图标从画面中心移动到角落,通过为uv坐标添加偏移实现。
[0206]
step8.当用户替身在场景中的位置发生改变时,color设为第一种特定颜色,此处暂设为红色;当用户替身在场景中的朝向发生改变时,color 设为第二种特定颜色,此处暂设为黄色;当用户已行进到路径的最后节点时,n
dir
以导航目标的场景位置而非路径中的拐点坐标为终点,表示已到达展品附近,导航即将结束,此时color设为第三种特定颜色,此处暂设为绿色。不同的颜色表现可帮助用户明确各种交互操作对完成导航任务的影响。
[0207]
step9.在用户到达最终的目标位置之前,系统根据step2.中的逻辑规则实时更新导航ui的所有参数,绘制新的圆环图形,向用户提示导航信息。
[0208]
完整开发步骤的流程图12所示:
[0209]
导航ui的使用说明:
[0210]
导航ui对用户的提示方式包括静态和动态两种形式。当用户未进行交互操作时,可通过导航ui中弧环段的旋转角度判断目标相对于自身的方位和距离;当用户进行移动操作时,导航ui的弧环段张角变化可及时向用户反馈当前移动方向是否正确。
[0211]
自适应导航ui在用户只发生位置移动,未发生旋转时的样式调整对比如图所示,图中弧环段为红色,表示用户正在进行移动操作,弧环段对称轴几乎为垂直状态,表示目标位于正前方,弧环段张角减小表示用户当前移动方向为靠近目标方向。
[0212]
自适应导航ui在用户只发生旋转,未发生位置移动时的样式调整对比如图所示,图中弧环段为黄色,表示用户正在进行旋转操作,弧环段张角大小没有发生改变,表示用户距离目标的距离没有改变,以垂直方向为0 度参照,初始弧环段对称轴约指向顺时针45度方向,表示目标为与用户当前面向方向的右前方45度方向,改变后弧环段对称轴约指向逆时针20度方向,表示用户转向了右侧,目标位于用户当前面向方向的左前方20度左右方向。
[0213]
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献