装备虚拟现实仿真中场数据可视化的实时剖切交互方法与流程

文档序号:21653660发布日期:2020-07-29 03:07阅读:580来源:国知局
装备虚拟现实仿真中场数据可视化的实时剖切交互方法与流程

本发明涉及了一种实时交互方法,尤其涉及一种用于装备虚拟现实仿真中场数据的实时剖切交互方法,属于图形和图像软件领域。



背景技术:

现代装备是一种复杂系统,涉及相互耦合的多学科规律的作用,如机械、电子、土木、化工、材料、控制等。也正是由于其复杂性,系统所涉及的物理环境也非常多样,如位移场、应变场、速度场、温度场、电磁场等相互耦合的物理场。在复杂而漫长的决策-研发的循环周期中,如何能够对复杂系统进行快速而正确的评估是非常重要的问题。

对应这一需求,数字样机和数字孪生仿真技术逐渐成为加快分析和决策、提升研发效率、缩短研发周期的重要工具。而随着虚拟现实技术的发展助力,使数字样机和数字孪生技术的应用门槛大大降低,应用效果也有了长足进步。

然而,目前基于虚拟现实的装备仿真技术仍然还具有很多不足。一方面是一方面是在虚拟现实场景中,人于复杂物理场之间的交互还不够直观和自然,另一方面是在仿真中所能够涵盖的学科和物理场较为有限。



技术实现要素:

为了解决目前基于虚拟现实的装备仿真技术中存在的问题,本发明提出了一种用于装备虚拟现实仿真中场数据可视化的实时剖切交互方法。

如图1所示,本发明所采用的技术方案是:

s1.在虚拟现实的可视化场景中,一只手使用力反馈手套拾取待剖切模型;

s2.在虚拟现实的可视化场景中,另一只手使用虚拟现实设备的手柄绘制剖切平面,变换剖切平面到待剖切模型所在坐标空间;

s3.传递待剖切模型以及变换后的剖切平面参数到剖切处理模块使用数据集剖切(clipdataset)滤镜剖切待剖切模型的源数据;

s4.提取剖切后的各个模型部分的表面及表面数据,传递回虚拟现实的可视化场景中,更新待剖切模型。

s5.先后加入多个剖切平面,对于实时剖切源数据中的每个模型部分重复上述处理步骤s1-s4进行串联处理。

所述步骤s1中,待剖切模型为带有或引用有时变的场数据,场数据是指待剖切模型的每个位置点均有数据,不仅在于外表面,内部也有数据。

所述步骤s2中的待剖切模型具有碰撞体积,能够与力反馈手套相互作用表现出触感和体积感。

所述步骤s2中的手柄具有在空间中的绝对定位能力,且具有能够操作的按钮。

所述步骤2具体如下:

s21.当按下手柄的操作按钮时,进入剖切平面绘制状态,称此时的帧为初始帧,并记录此时手柄的位置和姿态;

s22.在剖切平面绘制状态时,在虚拟现实可视化场景的空间中,手柄前端保持投射出固定长度的一段直线型指示光线,并于每帧更新直线型指示光线的位置,使其与手柄保持相对静止;

s23.在剖切平面绘制状态时,在虚拟现实可视化场景的空间中,根据手柄在初始帧的位置和姿态以及手柄在当前帧的位置和姿态,处理获得当前帧的全局坐标系平面q,并以半透明的方式可视化;

s24.当松开手柄的操作按钮时,接受最后一次的全局坐标系平面作为剖切平面,退出剖切平面绘制状态。

所述步骤23的平面的计算方法具体如下:

s231.将手柄初始位置的投射光线的起点定为p1,将手柄初始位置的投射光线的终点定位p2,将手柄当前帧位置的投射光线的起点定为p3,将手柄当前帧位置的投射光线的终点定为p4;

s232.以点p1、点p3和点p4三点确定平面q,然后将点p2投射到平面q上的点记为点p2′;

s234.点p1、点p′2、点p4构成的三角形、以及点p′2、点p4、点p3构成的三角形具有公共边且位于平面q上。使用它们对平面q进行可视化,用于可视化。

所述步骤s2中的变换将平面q变换到待剖切物体模型的局部坐标系中。

所述步骤s3,将事先准备好的包含三维场数据的模型数据,以及局部坐标系描述的剖切平面传入剖切处理模块,剖切处理模块使用vtk作为主要的数据处理工具;步骤如下:

s31.读入待剖切模型,生成多个时间步的非结构网格(vtkunstructuredgrid)类型数据;

s32.根据对关键帧数量的要求,对多个时间步的非结构网格类型数据进行重新均匀采样,作为每个关键帧的数据;

s33.对所有关键帧,分别使用数据集剖切(clipdataset)滤镜进行剖切,获得所有关键帧的剖切后的非结构网格(vtkunstructuredgrid)类型数据。

所述步骤s4中,利用几何体(vtkgeometry)滤镜和三角化(vtktrianglefilter)滤镜滤镜提取剖切后的各个模型部分的非结构网格(vtkunstructuredgrid)类型数据的几何及场数据的外表面,生成多边形(vtkpolydata)类型数据,再经过转换生成可视化场景所支持的三角形网格及顶点数据,更新可视化场景中的原模型的外表面。

所述步骤s5的多个剖切平面是通过重复步骤s2~步骤s3,创建多个剖切平面,将多次剖切过程收尾串联,重复步骤进行多次剖切。

本发明方法包括力反馈手套拾取、vr手柄绘制剖切平面、平面变换、vtk场数据剖切、提取剖切后的表面、更新模型等步骤。

本发明的实现分为两个层次,上层和底层。上层的交互模块并不局限于某个特定的虚拟环境框架,在unity、unrealengine或其他支持虚拟现实的图形框架中,都可以应用,在本实现中,是以unity为目标。底层的剖切处理模块借助vtk框架实现主要的几何计算工作,编译为标准的c动态链接库,与上层进行必要的数据交换。

本发明的有益效果是:

本发明方法一方面能够以非常直观的方式在虚拟现实场景中执行场数据剖切的操作,另一方面可将剖切前后的场数据模型进行无缝的替换。同时,使用方法很容易实现多个剖切平面的多次剖切。

本发明可以提高装备虚拟现实仿真的直观性、自然性,提高有限元和流体场数据在装备虚拟现实仿真中的展示效果。

附图说明

图1为本方法的流程图;

图2为步骤s23调整模型姿态和剖切平面时的视觉效果图;

图3为步骤s23的平面计算示意图;

图4为执行一次剖切操作后的视觉效果图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明。

如图1所示,本发明的实施例如下:

具体实施例如一个办公室虚拟现实场景,存在笔记本模型。

或者例如,在工业汽轮机的虚拟现实仿真场景中,存在一个具有时变应力场的汽轮机叶片。需要对该叶片进行剖切,查看其内部应力分布。

s1.在虚拟现实的可视化场景中,右手使用力反馈手套拾取该叶片;

s2.在虚拟现实的可视化场景中,左手使用虚拟现实设备的手柄绘制剖切平面,变换剖切平面到叶片模型所在坐标空间;

s21.当按下手柄的操作按钮时,进入剖切平面绘制状态,称此时的帧为初始帧,并记录此时手柄的位置和姿态;

s22.在剖切平面绘制状态时,在虚拟现实可视化场景的空间中,手柄前端保持投射出固定长度的一段直线型指示光线,并于每帧更新直线型指示光线的位置,使其与手柄保持相对静止;

s23.如图2和图3所示,在剖切平面绘制状态时,在虚拟现实可视化场景的空间中,根据手柄在初始帧的位置和姿态以及手柄在当前帧的位置和姿态,处理获得当前帧的全局坐标系平面q,并以半透明的方式可视化。通过调整叶片的姿态和手柄的姿态,可以把剖切平面放置在期望的位置;

s231.将手柄初始位置的投射光线的起点定为p1,将手柄初始位置的投射光线的终点定位p2,将手柄当前帧位置的投射光线的起点定为p3,将手柄当前帧位置的投射光线的终点定为p4;

s232.以点p1、点p3和点p4三点确定平面q,然后将点p2投射到平面q上的点记为点p2′;

s234.点p1、点p′2、点p4构成的三角形、以及点p′2、点p4、点p3构成的三角形具有公共边且位于平面q上。使用它们对平面q进行可视化,用于可视化。

s24.当松开手柄的操作按钮时,接受最后一次的全局坐标系平面作为剖切平面,退出剖切平面绘制状态。

s3.传递带有时变场数据的叶片模型以及变换后的剖切平面参数到剖切处理模块,使用vtk的数据集剖切(clipdataset)滤镜剖切叶片模型的源数据。

具体是:

s31.读入带有时变场数据的叶片模型,生成多个时间步的非结构网格(vtkunstructuredgrid)类型数据;

s32.根据对关键帧数量的要求,对多个时间步的非结构网格类型数据进行重新均匀采样,作为每个关键帧的数据;

s33.如图4所示,对所有关键帧,分别使用数据集剖切(clipdataset)滤镜进行剖切,获得所有关键帧的剖切后的非结构网格(vtkunstructuredgrid)类型数据。

s4.提取剖切后的叶片模型的表面及表面数据,传递回虚拟现实的可视化场景中,更新待剖切模型。

具体是利用几何体(vtkgeometry)滤镜和三角化(vtktrianglefilter)滤镜滤镜提取剖切后的各个模型部分的非结构网格(vtkunstructuredgrid)类型数据的几何及场数据的外表面,生成多边形(vtkpolydata)类型数据,再经过转换生成可视化场景所支持的三角形网格及顶点数据,更新可视化场景中的原叶片模型的外表面;

s5.可先后加入多个剖切平面,对于上次叶片模型的剖切结果,重复上述处理步骤s2-s3,将剖切后数据进行串联处理。

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