[发明专利]一种基于粒子系统的三维流体标矢量统一动态表示方法有效
申请号: | 201110391542.2 | 申请日: | 2011-12-01 |
公开(公告)号: | CN102521863A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 邵振峰;王毓乾;刘军 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06T13/20 | 分类号: | G06T13/20 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 薛玲 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于粒子系统的三维流体标矢量统一动态表示方法,包括以下步骤:基于显示的视觉效果制定涉及三维数据动态显示的空间密度、时间密度和显示帧数的动态表示规则;根据动态表示规则进行数据预处理,采用八叉树模型对数据进行存储和管理,结合流体的最大速度和动态表示规则设置表示的时间密度,采用粒子模型进行三维动态表示。本发明方法利用粒子系统,将流体的流速和其它标量属性统一地进行三维动态表示;基于视觉显示效果,根据流体自身的流速快慢设置三维动态表示的时间间隔和空间间隔参数,使得粒子在空间分布比较均匀,动态效果更加明显,并且避免了不同粒子前后帧数据的混淆。 | ||
搜索关键词: | 一种 基于 粒子 系统 三维 流体 矢量 统一 动态 表示 方法 | ||
【主权项】:
1.一种基于粒子系统的三维流体标矢量统一表示方法,其特征在于,包括以下步骤:步骤1,设定流体的动态表示规则,所述动态表示规则如下,a,粒子的生命周期为3帧数据的时间间隔; b,三维流体数据通过三维规则格网数据表示,三维规则数据格网由三维空间网格点组成,三维空间网格点是三维空间中分布的采样点,采样点在三维空间呈规则分布,相邻采样点在在各个方向上的空间间隔相等,空间间隔记为空间密度参数
;粒子初始时刻在空间中的位置为三维空间网格点的位置; c,三维动态表示的前后帧的时间间隔记为时间密度参数
,设置时间密度参数
数值,使得所有粒子在
、
时间内的位移总是小于
的最大值;步骤2,根据步骤1所述动态表示规则,通过插值,将表示流体本身属性的标量数据和表示流体流速的矢量数据转化成同一时空基准下的三维规则格网数据;步骤3,将步骤2转化后的标量数据和矢量数据按照时间的先后顺序分别存储,某一时刻标量数据和矢量数据在空间上采用八叉树模型对数据进行存储和管理; 步骤4,根据待显示流体的区域、显示的尺度、显示的时间段,确定需要的标量数据和矢量数据,提取三维规则数据格网的空间间隔记为空间密度参数
,时间间隔记为
;步骤5,依据步骤1所述动态表示规则设置时间密度参数
,分为以下2个步骤:步骤5.1,标量数据的格式是
,其中
是三维空间网格点的坐标,
是该三维空间网格点的标量值,矢量数据的格式是
,其中
是三维空间点的坐标,
是该三维空间网格点的矢量值,表示流体的速度矢量;计算步骤4所读取标量数据和矢量数据中的所有不同时间三维空间格网点上流体速度的大小,如以下公式(1):
,将最大值记为
;步骤5.2,分以下2种情况设置时间密度参数
:当
时,令
,进入步骤6;当
时,令
,进入步骤7,其中
,表示取
整数部分;步骤6,采用粒子系统对流体进行三维动态表示,包括以下步骤:步骤6.1,根据步骤4所确定需要的标量数据和矢量数据,按照时间先后顺序读取其中某一时刻的数据,设置相应的粒子系统,并赋予初始属性值,粒子的初始属性值作为粒子系统的第一帧显示;赋予初始属性值的实现方式如下,所读取数据中的每个三维空间格网点,用一个粒子表示,粒子的初始属性值包括空间位置坐标、速度和颜色属性值,粒子的空间位置坐标是三维空间格网点坐标
,粒子的速度
是三维空间格网点的矢量值
,粒子的颜色属性值是三维空间格网的标量值
,每一个粒子的生命周期为3帧数据的时间间隔0~2
;步骤6.2,计算粒子在
时刻和
时刻的属性值,粒子在
时刻的属性值,作为粒子系统的第二帧显示;粒子在
时刻的属性值,作为粒子系统的第三帧显示,进入步骤8;计算粒子在
时刻和
时刻的属性值实现方式如下,对于粒子系统中的任何一个粒子,记为
,粒子
在初始时刻的空间位置坐标记为
,在初始时刻的速度记为
,在初始时刻的颜色属性值记为
;在
时刻,粒子
的空间位置坐标记为
,按照下面的公式(2)得到:
;在
时刻,粒子
速度和颜色属性值保持不变,分别为
和
;在
时刻,粒子
的空间位置坐标记为
,按照下面的公式(3)得到:
;在
时刻,粒子
的速度和颜色属性值保持不变,分别为
和
;步骤7,采用粒子系统对流体进行三维动态表示,包括以下步骤:步骤7.1,根据步骤4所确定需要的标量数据和矢量数据,按照时间先后顺序读取其中总共
个时刻的数据,如果步骤4中所确定需要的标量数据和矢量数据总共只有
个时刻,并且
时,则按照时间先后顺序读取所有
个时刻的数据;设置相应的粒子系统,并赋予初始属性值,粒子的初始属性值作为粒子系统的第一帧显示;当
时,进入步骤7.2,当
时,进入步骤7.3;赋予初始属性值的实现方式如下,将所读取第一个时刻数据中的每个三维空间格网点,用一个粒子表示,粒子的初始属性值包括空间位置坐标、速度和颜色属性值,粒子的空间位置坐标是三维空间格网点坐标
,粒子的速度
是三维空间格网点的矢量值
,粒子的颜色属性值是三维空间格网的标量值
,每一个粒子的生命周期为3帧数据的时间间隔0~2
;步骤7.2,计算粒子在
时刻和
时刻的属性值,粒子在
时刻的属性值,作为粒子系统的第二帧显示;粒子在
时刻的属性值,作为粒子系统的第三帧显示;对于粒子系统中的任何一个粒子,记为
,粒子
在初始时刻的空间位置坐标记为
,在初始时刻的速度记为
,在初始时刻的颜色属性值记为
;计算粒子在
时刻和
时刻的属性值通过以下迭代过程实现,步骤7.2.1,令n=1;步骤7.2.2,按照以下公式(4)、(5)、(6)计算第n步粒子
的空间位置坐标
,该坐标的位置记为
:
;
;
;其中
表示第n-1步粒子
的空间位置坐标标,
表示第n-1步粒子
的速度;步骤7.2.3,在
时刻,位置
处于一个以三维空间网格点为顶点组成的立方体中,若位置
处于多个立方体的交界处时,选择读入的第一个立方体;立方体的顶点记为
,其中
;在
时刻,三维空间网格点
的速度记为
,三维空间网格点
的空间位置坐标记为
,利用立方体的8个顶点
,采用以下线性插值公式(7),拟合粒子
在位置
处的速度
:
,其中
;步骤7.2.4,当n小于
时,令n=n+1, 返回步骤7.2.2求取下一步粒子
的空间位置坐标和速度,直到
时,结束迭代过程,进入步骤7.2.5;粒子
在
时刻的属性值等于位置
的属性值,位置
的空间位置坐标为
,速度为
,颜色属性值
通过以下线性插值公式(8)得到:
,其中
,
为顶点
的颜色属性值;步骤7.2.5,将粒子
的属性值用位置
的属性值代替,返回步骤7.2.1得到粒子
在
时刻的属性值后,进入步骤8;步骤7.3,当
时,进行步骤7.2的过程直到步骤7.2.4中
,结束迭代过程;如果
是整数,将粒子
在位置
处的属性值作为粒子系统第二帧显示的粒子属性值,否则将粒子
在位置
处的属性值作为粒子系统第二帧显示的粒子属性值;将粒子
在位置
处的属性值作为第三帧显示的粒子属性值,进入步骤8;当
时,进行步骤7.2的过程直到步骤7.2.4中
,得到粒子
在
时刻的属性值,作为粒子系统的第二帧显示;再将粒子
的属性值用位置
的属性值代替,重复迭代过程步骤7.2.1到步骤7.2.4直到
,结束迭代过程;将粒子
在位置
处的属性值作为第三帧显示的粒子属性值,进入步骤8;步骤8,依次读取步骤6或者步骤7所得粒子在三帧的属性值,进行数据映射绘制并可视化;步骤9,若步骤4所确定需要的标量数据和矢量数据中剩下有未读取的数据,返回到步骤6或者步骤7,直到步骤4所确定需要的标量数据和矢量数据都表示和可视化完毕。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110391542.2/,转载请声明来源钻瓜专利网。