1.一种响应实时数据的三维模型动态变形方法,其特征在于,包括:S1:在Unity内读取三维模型网格数据,提取模型顶点坐标;S2:在三维模型上确定实际监测变形点位置;S3:根据监测变形点影响的实际变形区域,筛选变形区域内所有发生变形位移的网格顶点;S4:确定变形区域范围内网格顶点变形位移方向;S5:确定变形区域范围内网格顶点变形位移值,根据变形速率控制网格顶点变形位移速度;其中,S4具体包括:S41:确定变形点所处三角形网格位置:遍历所有三角形网格顶点,记监测变形点坐标为P,任一三角形网格顶点坐标为A、B、C,计算向量PA、PB、PC两两叉乘结果,结果同号时变形点位于该三角形网格内;S42:计算三角形网格垂向矢量:根据监测变形点所处三角形网格三个顶点坐标按照顺时针方向计算两个向量,两向量叉乘得到三角网格的垂向矢量,方向指向模型外侧;S43:确定变形区域内各网格顶点变形位移方向:将三角网格垂向矢量做归一化处理;当监测变形点变形值为负,网格顶点沿归一化后的垂向矢量做变形位移,模型变形形式为拉伸;当监测变形点变形值为正,网格顶点的变形位移方向为归一化后的垂向矢量取反,模型变形形式为压缩。
2.根据权利要求1所述的一种响应实时数据的三维模型动态变形方法,其特征在于,S1具体为:将三维模型导入Unity,基于Mesh类获取三维模型的三角形网格数据,提取模型网格顶点局部坐标,将局部坐标与变换矩阵相乘得到模型网格顶点世界坐标;Unity的坐标系统包含两种表达方式:局部坐标和世界坐标;局部坐标系是相对于其父对象而言的坐标系统,用于描述对象内部的位置关系;世界坐标系则对应整个Unity世界空间的坐标系统,不受对象层级结构的影响;转换局部坐标为世界坐标以确定模型在Unity空间中的具体位置,可采用以下计算公式:P w =M parent ·P l +P parentwP w 和P l 分别代表模型的世界坐标和局部坐标,M parent 和P parent 则分别表示模型父物体的坐标转换矩阵和世界坐标。
3.根据权利要求1所述的一种响应实时数据的三维模型动态变形方法,其特征在于,S2具体为:在三维模型中确定实际监测变形点位置,通过射线与模型碰撞输出变形监测点局部坐标,将实际监测变形点局部坐标与变换矩阵相乘得到实际监测变形点世界坐标;其中,确定实际监测变形点位置,是通过真实世界监测点的相应位置,转换到三维模型后相对应的坐标位置;即在真实的隧道边坡每一段间隔设置一个监测点,该监测点传输的变形数据须与三维模型准确对应。
4.根据权利要求1所述的一种响应实时数据的三维模型动态变形方法,其特征在于,S3具体为:遍历网格顶点坐标数组,计算实际变形监测点与网格顶点的欧几里得距离,根据各实际监测变形点影响的实际变形区域,筛选所有处于变形区域范围内的网格顶点;其中,三维模型最终都会以网格的形式导入渲染引擎,而网格又是由一系列顶点,和连接不同顶点间的三角面构成的;网格顶点是有坐标的。
5.根据权利要求1所述的一种响应实时数据的三维模型动态变形方法,其特征在于,S5具体包括:变形监测点变形值基于实际变形监测值给定,变形范围内各网格顶点变形位移值大小随着变形监测点与网格顶点之间距离增大而减小;在变形范围内距监测变形点距离最远的网格顶点变形位移值为零,其他网格顶点变形位移值根据其与监测变形点距离进行线性插值;变形速率基于实际变形监测值给定,将变形速率附加于发生变形位移的网格顶点,变形速率控制网格顶点沿变形位移方向的移动速度;当网格顶点变形位移达到设定值,完成一次三维模型结构变形。
6.根据权利要求1所述的一种响应实时数据的三维模型动态变形方法,其特征在于,S42中,当网格顶点发生变形位移时,三角形网格垂向矢量方向随之发生变化;在网格顶点发生变形位移过程中实时更新网格顶点坐标并计算三角形网格垂向矢量。