CN104732582A - 基于gpu的三维海洋矢量场动态脉面可视化算法 - Google Patents
基于gpu的三维海洋矢量场动态脉面可视化算法 Download PDFInfo
- Publication number
- CN104732582A CN104732582A CN201510066037.9A CN201510066037A CN104732582A CN 104732582 A CN104732582 A CN 104732582A CN 201510066037 A CN201510066037 A CN 201510066037A CN 104732582 A CN104732582 A CN 104732582A
- Authority
- CN
- China
- Prior art keywords
- data
- gpu
- ocean
- vector field
- visual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于GPU的三维海洋矢量场动态脉面可视化算法。该算法针对海洋数据特点,将海洋三维矢量场数据以三维纹理方式存储在GPU中,利用ping-pong fashion驱动矢量场中粒子流动,并结合GPU的geometry shader(几何元着色器),进行三维脉面的粒子间粗化及细化。针对海洋Z坐标数据的特点,在GPU中采样成均匀的等深的三维矢量场数据,以此进行三维时变矢量场数据的可视化,辅助海洋科研人员进行科学研究与分析。
Description
技术领域
本发明属于信息技术和海洋技术领域,尤其涉及基于GPU的三维海洋矢量场动态脉面可视化算法。
背景技术
流场可视化是可视化研究的一个重要方向,在科学计算和工程分析中占据着非常重要的地位,其对海洋的科学研究与分析也具有十分重要的意义和价值。
在交互性流场可视化中,对流线的积分以及可视化从开始就已经成为一种标准工具。在时变流场中,因为迹线和脉线能够反映出流场的重要特征已经成为了研究的关注点。迹线可以表现流体质点的运动轨迹,脉线可以表现某指定时刻所有那些曾经过某定点的流体质点所组成的曲线。
在流线可视化的基础上,积分曲面的可视化也已经证实了其有效性。流面以及轨迹面的的构建是易于理解的,主要思想就是对面最前的线进行积分,并且会在适当的时候进行对线的自适应的精细或粗化。随着线的生长,产生的面并不会产生变化。而脉面可视化却要复杂许多,每一个时间帧都要对流场所有数据进行重新计算绘制,这对于算法以及计算机性能有了很大要求。
在计算机辅助的流场可视化领域,几种不同的可视化方法也存在着类比,但是脉面可视化也因为它计算的复杂性,很少被海洋流场可视化所应用。脉面可视化可能会在任何地方改变形状,并且每个空间点,每个时刻都在进行着积分运算,脉面的每个部分在每个时间都在进行粗化或细分策略的执行。这在一方面可能会受计算机运算效率的限制,另一方面可能会对数据进行一定限制。
国内外在脉面的可视化方面也做了许多相关的研究,并且分别在CPU上或者GPU上进行脉面可视化的实现,但是针对海洋三维流场可视化的应用并没有相关实际使用及实现,并且也没有针对海洋数据的特点进行相关的实验及进展,而脉面可视化却有对海洋科研人员进行海洋数据的处理以及更深入了的理解有巨大的帮助。
发明内容
本发明提供一种基于GPU的三维海洋矢量场动态脉面可视化算法。其在海洋三维矢量场进行脉面可视化是完全基于GPU进行可视化架构的构建,并且针对海洋z坐标数据特点进行在GPU中的数据处理,本方案最终形成原型验证***。
为实现上述目的,本发明采用如下技术方案,其包括以下步骤:
(1)基于GPU的海洋三维矢量场动态脉面可视化架构构建;
(2)针对海洋矢量场Z坐标数据进行直接地可视化。
本发明旨在研究基于GPU的三维海洋矢量场动态脉面可视化算法。
本发明的设计思路是:建立基于GPU的海洋三维矢量场动态脉面可视化架构,将三维流场数据以纹理的方式存储在GPU中,并且在GPU中的Geometry Shader(几何元着色器)中进行细化或粗化策略的执行,在Vertex Shader(顶点着色器)中进行粒子的积分,通过GPU的ping-pong Fashion特性进行粒子的不断驱动。
所述步骤(1)中,针对海洋数据的特点,海洋三维矢量场数据以三维纹理的方式存储在GPU中,并提前存储t1,t2两个时间点的数据在GPU,CPU中用来进行多个时间点矢量场数据的保存并可以根据时间t进行与GPU之间数据的交换,同时,CPU中也可以通过文件读取的方式进行CPU中数据的交换。
所述步骤(2)中,针对海洋Z坐标数据的特点,将海洋变量场数据存储于三维纹理中,并在GPU中通过对同一张纹理采样多次将不同深度的数据进行插值,采样成均匀的等深的三维矢量场数据,以此进行三维时变矢量场数据的可视化。
本发明的创新之处主要体现在:
(1)进行了针对海洋z坐标数据特点的,基于GPU的脉面可视化的架构的搭建;
(2)针对海洋矢量场Z坐标数据,通过将数据传输到GPU中,在GPU中进行数据的处理,将数据处理成均匀等深的数据,以此在构建好的可视化架构基础上进行三维时变矢量场数据的可视化。
本发明的有益效果在于:使用力学中脉线发展出来的脉面来进行海洋三维时变矢量场数据的可视化,以一种新的海洋流场可视化方法来帮助海洋科研工作者进行相关的科研活动。
具体实施方式
本发明的基于GPU的三维海洋矢量场动态脉面可视化算法,包括以下步骤:
(1) 基于GPU的海洋三维矢量场动态脉面可视化架构构建。
每个表面块是由四个顶点组成,并且还存储两个值,一个计算积分步的值,一个计算细化深度的值来表示。这些数据都在顶点数组缓存中存在一个连续的数据块中。因为GPU中不是动态实时的改变存储在其中数据的大小,因此对于粒子的数据需要提前申请好,这对表现数据的大小及范围就有了一定的限制。通过用户选择表面块的数据n,最大细化深度n,还有最大积分步m,缓存申请的存储表面块的数目是n×2d×(m-d+1)。时间线为在同一时刻释放的粒子。具体的算法流程如下。
1. 时间线释放,每条时间线是粒子的集合(xi,0….,xi,n)。
2. 将每条时间线计算成表面块,每个表面块由四个顶点组成,而且分开重复存储。
3. 首先存储n个空的表面块 p0j (j= 0,1,2…n-1)。
4. 每个时间步重复释放新的表面块到流水线中。
5. 在积分前,会进行细化策略。会判断是否分成两个表面块。设定一个阈值s2,s是两相邻粒子的距离,当一个表面块的面积大于αs2时,就将表面块的最长边与最短边从中点相连进行细分。其中α是一个大于1的数用来控制细分程度。这样两个新的表面块进行存储,删除原来的表面块。
6. 每个积分步,所有的缓存元素传递到Geometry Shader中然后按下面方法处理:传递前n/2个 元素 p0j (j= 0,1,2…n/2-1),同时将p0j *2和p0(j*2)+1放到输出缓存中。剩下的每n/2个元素shader会添加2个 块元素到缓存中,来存储存储他们积分后的新位置。
7.粒子的积分采用四阶龙格库塔积分,并且通过GPU的ping-pong Fashion进行粒子的更新。
(2) 针对海洋矢量场Z坐标数据进行直接地可视化。
海洋Z坐标数据为每层等深但层间间隔分布不均匀的数据,在本算法中,针对此类数据,将数据存储于三维纹理中,并在GPU中通过对同一张纹理采样多次,每次采样分别采样其所在深度的相邻两层的深度值,并根据所需数据的深度间隔进行线性差值,以此进行三维时变矢量场数据的可视化。
Claims (3)
1.基于GPU的海洋三维矢量场脉面动态可视化算法,其特征在于,包括以下设计思路:
(1) 基于GPU的海洋三维矢量场脉面动态可视化架构构建;
(2) 针对海洋矢量场z坐标数据进行直接地可视化。
2.根据权利要求1所述的基于GPU的海洋三维矢量场脉面动态可视化算法,其特征在于,所述步骤(1)中,针对海洋数据的特点,海洋三维矢量场数据以三维纹理的方式存储在GPU中,并提前存储t1,t2两个时间点的数据在GPU,CPU中用来进行多个时间点矢量场数据的保存并可以根据时间t进行与GPU之间数据的交换,同时,CPU中也可以通过文件读取的方式进行CPU中数据的交换。
3.根据权利要求1所述的基于GPU的海洋三维矢量场脉面动态可视化算法,其特征在于,所述步骤(2)中,针对海洋Z坐标数据的特点,将海洋变量场数据存储于三维纹理中,并在GPU中通过对纹理进行采样,并将数据进行线性插值,处理成均匀的等深的三维矢量场数据,以此进行三维时变矢量场数据的可视化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510066037.9A CN104732582B (zh) | 2015-02-07 | 2015-02-07 | 基于gpu的三维海洋矢量场动态脉面可视化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510066037.9A CN104732582B (zh) | 2015-02-07 | 2015-02-07 | 基于gpu的三维海洋矢量场动态脉面可视化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104732582A true CN104732582A (zh) | 2015-06-24 |
CN104732582B CN104732582B (zh) | 2019-01-04 |
Family
ID=53456450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510066037.9A Active CN104732582B (zh) | 2015-02-07 | 2015-02-07 | 基于gpu的三维海洋矢量场动态脉面可视化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104732582B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299343A (zh) * | 2018-09-05 | 2019-02-01 | 上海彩虹鱼海洋科技股份有限公司 | 一种面向多源全球海洋大数据的动态可视化方法及*** |
CN114638912A (zh) * | 2022-03-16 | 2022-06-17 | 广州博进信息技术有限公司 | 海洋科学矢量数据的时空可视化与交互方法、介质及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103700143A (zh) * | 2013-12-30 | 2014-04-02 | 四川九洲电器集团有限责任公司 | 一种基于gpu多遍绘制的三维动态海洋模拟方法 |
CN103714574A (zh) * | 2013-12-19 | 2014-04-09 | 浙江大学 | 一种基于gpu加速的海中场景建模与实时交互绘制方法 |
WO2014130044A1 (en) * | 2013-02-23 | 2014-08-28 | Hewlett-Packard Development Company, Lp | Three dimensional data visualization |
-
2015
- 2015-02-07 CN CN201510066037.9A patent/CN104732582B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014130044A1 (en) * | 2013-02-23 | 2014-08-28 | Hewlett-Packard Development Company, Lp | Three dimensional data visualization |
CN103714574A (zh) * | 2013-12-19 | 2014-04-09 | 浙江大学 | 一种基于gpu加速的海中场景建模与实时交互绘制方法 |
CN103700143A (zh) * | 2013-12-30 | 2014-04-02 | 四川九洲电器集团有限责任公司 | 一种基于gpu多遍绘制的三维动态海洋模拟方法 |
Non-Patent Citations (3)
Title |
---|
KAI B¨URGER 等: "Interactive Streak Surface Visualization on the GPU", 《IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS》 * |
MATT EDMUNDS 等: "Surface-Based Flow Visualization", 《COMPUTERS & GRAPHICS》 * |
李久松 等: "海洋和大气数据多模式动态可视化***的设计和实现", 《海洋科学》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299343A (zh) * | 2018-09-05 | 2019-02-01 | 上海彩虹鱼海洋科技股份有限公司 | 一种面向多源全球海洋大数据的动态可视化方法及*** |
CN114638912A (zh) * | 2022-03-16 | 2022-06-17 | 广州博进信息技术有限公司 | 海洋科学矢量数据的时空可视化与交互方法、介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104732582B (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101937425B (zh) | 基于gpu众核平台的矩阵并行转置方法 | |
CN104317768B (zh) | 面向cpu+dsp异构***的矩阵乘加速方法 | |
CN103744935A (zh) | 一种计算机快速海量数据聚类处理方法 | |
CN104851126A (zh) | 基于广义圆柱体的三维模型分割方法及装置 | |
CN104732582A (zh) | 基于gpu的三维海洋矢量场动态脉面可视化算法 | |
WO2014032008A3 (en) | Method and system for generating mesh from images | |
CN104281490B (zh) | 一种基于多gpu的高速计算全息图的方法 | |
EP3182299A3 (en) | Methods and systems for estimating the number of points in two-dimensional data | |
CN104657333A (zh) | 基于gpu的动态二维矢量场流线可视化算法 | |
CN102096940B (zh) | 影像物件的隐藏面移除的预先拣选方法及*** | |
CN105205206B (zh) | 一种复杂平面片交线段的求取方法 | |
JP7410961B2 (ja) | 演算処理装置 | |
Lawrence | Beyond thimbles: Sign-optimized manifolds for finite density | |
CN104036552B (zh) | 基于最远点优化的蓝噪声网格生成方法 | |
Rahim et al. | Evaluation of adaptive subdivision method on mobile device | |
Motovilov | Progress in methods to solve the Faddeev and Yakubovsky differential equations | |
CN202736078U (zh) | 一种用于数字图像处理的特征提取模块 | |
Ang et al. | Evolutionary Computation Automated Design of Ship Hull Forms for the Industry 4.0 Era | |
Barina et al. | Accelerating discrete wavelet transforms on GPUs | |
CN103338373B (zh) | 一种相邻边界长度导出方法及装置 | |
CN102447898A (zh) | 用fpga实现klt变换的方法 | |
WO2015009294A3 (en) | System and method for histogram computation using a graphics processing unit | |
CN203366317U (zh) | 一种影像波束形成装置 | |
CN110825803B (zh) | 一种基于并查集和并行计算的海流可视化方法 | |
CN102117326A (zh) | 一种用于图像特征查找的遍历方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |