[发明专利]一种基于Modelica实现三维仿真动画的渲染方法在审
申请号: | 202211262196.2 | 申请日: | 2022-10-14 |
公开(公告)号: | CN115526979A | 公开(公告)日: | 2022-12-27 |
发明(设计)人: | 李晓轩;郭俊峰;周凡利;陈立平 | 申请(专利权)人: | 苏州同元软控信息技术有限公司 |
主分类号: | G06T15/20 | 分类号: | G06T15/20;G06T13/20 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 聂俊伟 |
地址: | 215000 江苏省苏州市(江苏)自由贸易试验区苏州片区若水路3*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 modelica 实现 三维 仿真 动画 渲染 方法 | ||
1.一种基于Modelica实现三维仿真动画的渲染方法,其特征在于,包括:
前端调用仿真服务,所述仿真服务读取Modelica求解器生成的动画文件后,根据所述动画文件得到动画造型;
前端开启基于传输控制协议TCP的全双工通信协议,向后端发送请求指令获取动画帧数据,后端根据所述请求指令访问数据库中的动画帧数据;
数据库向所述后端返回查询到的动画帧数据,后端将所述动画帧数据进行组装后,将所述动画帧数据发送到前端;
前端根据所述动画帧数据驱动所述动画造型的位置以及形态的改变,以实现动画渲染。
2.根据权利要求1所述的方法,其特征在于,所述根据所述动画文件得到动画造型,具体包括:
对所述动画文件进行解析后得到各动画组件的名称;
根据所述动画组件的名称在所述数据库中查询各动画组件的动画信息;
将所述动画文件和所述动画信息进行组装后得到动画组件数据;
通过预设三维动画引擎根据所述动画组件数据得到动画造型数据。
3.根据权利要求1所述的方法,其特征在于,前端开启基于TCP的全双工通信协议,向后端发送请求指令获取动画帧数据后,所述方法还包括:
在前端引入的缓存队列存放动画帧数据,建立动画播放线程持续从所述缓存队列中读取动画帧数据;
建立定时线程从后端定时获取动画帧数据,当所述缓存队列中内容小于初始容量的一半时,从后端获取动画帧数据并写入所述缓存队列;
前端根据所述缓存队列中动画帧数据,匹配动画模型并且更新所述动画造型的几何体信息,实现前端在线动画效果。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当动画模型初始化动画造型时,异步获取动画帧数据,并将所述动画帧数据的步长信息缓存到远程字典服务Redis中;
根据所述动画模型的大小以及动画播放速度确定采样频率;
根据所述采样频率从所述Redis中获取动画帧数据。
5.根据权利要求4所述的方法,其特征在于,所述根据所述采样频率从所述Redis中获取动画帧数据,具体包括:
若动画播放速度为第一播放速度,则使用与所述第一播放速度对应的第一采样频率获取动画帧数据;
若动画播放速度为第二播放速度,则使用比所述第一采样频率低的第二采样频率采集动画帧数据;
其中,所述第二播放速度比第一播放速度慢,所述第二采样频率与所述第二播放速度相对应。
6.根据权利要求1所述的方法,其特征在于,前端根据所述动画帧数据驱动所述动画造型的位置以及形态的改变,具体包括:
根据预设三维动画引擎中的动画变量确定几何体的位置和姿态信息,所述几何体的位置和姿态信息用数组表示;
通过矩阵的旋转以及矩阵缩放获得几何体在空间坐标系中的四维变换矩阵;
根据所述四维变换矩阵对动画造型的位置以及形态进行改变。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过本地缓存存储从所述动画文件中解析出的动画组件信息;
当缓存满时,通过采用最近最少使用LRU的缓存淘汰策略,根据预设的过期时间筛除缓存中的动画组件信息。
8.根据权利要求2所述的方法,其特征在于,所述预设三维动画引擎为Three.js引擎。
9.根据权利要求2所述的方法,其特征在于,所述方法还包括:
对所述动画文件进行解析后得到几何体类型;
所述几何体类型由预设三维动画引擎中的动画变量表示。
10.根据权利要求3所述的方法,其特征在于,所述方法还包括:
控制每一单位时间内刷新的动画帧数量在预设帧数以上。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州同元软控信息技术有限公司,未经苏州同元软控信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211262196.2/1.html,转载请声明来源钻瓜专利网。