CN110825803B - 一种基于并查集和并行计算的海流可视化方法 - Google Patents

一种基于并查集和并行计算的海流可视化方法 Download PDF

Info

Publication number
CN110825803B
CN110825803B CN201910958363.9A CN201910958363A CN110825803B CN 110825803 B CN110825803 B CN 110825803B CN 201910958363 A CN201910958363 A CN 201910958363A CN 110825803 B CN110825803 B CN 110825803B
Authority
CN
China
Prior art keywords
streamline
seed
sub
seed point
parallel
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.)
Active
Application number
CN201910958363.9A
Other languages
English (en)
Other versions
CN110825803A (zh
Inventor
刘厂
刘天舜
高峰
何忠杰
陈国安
李佳讯
张志强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Engineering University
Original Assignee
Harbin Engineering University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin Engineering University filed Critical Harbin Engineering University
Priority to CN201910958363.9A priority Critical patent/CN110825803B/zh
Publication of CN110825803A publication Critical patent/CN110825803A/zh
Application granted granted Critical
Publication of CN110825803B publication Critical patent/CN110825803B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)

Abstract

本发明提出一种基于并查集和并行计算的海流可视化方法。该方法首先对海流数据随机生成的种子点根据区域划分为n个均等的种子点集,其次将这些种子点集进行并行积分,最后利用并查集结构将这n个种子点集合并后呈现出图像。此种方法很好的解决了大数据的情况下处理流线数据生成流线速度变慢的问题,在数据量较大的情况下,加快了绘制流线的速度并保证了图像显示效果。

Description

一种基于并查集和并行计算的海流可视化方法
技术领域
本发明属于流场可视化领域,涉及一种海流可视化方法,特别是一种基于并查集和并行计算的海流可视化方法。
背景技术
随着人们认识海洋的深入,海洋观测资料、海洋数值模式产生的数据日益增多,如何有效的利用这些数据成为学术界的重大问题。科学计算可视化(Visualization inScientific Computing)是指运用计算机图形学、图像处理技术和辅助设计的方法,将抽象、复杂的数据转换成人们容易理解的、具有特定含义的图形与图像在屏幕上显示出来并进行交叉处理的理论、方法和技术。
矢量场通常用来表示一些物理特性,如粒子速度或磁场横跨某个领域。矢量场的可视化对于在诸如天文学,航空学,气象学和医学等领域进行定性分析非常重要。基于流线的矢量场可视化方法作为矢量场的稀疏表示,流线的质量高度依赖于它们的放置,其中包括每个流线的种子位置和长度。其中,最常用的方法是基于使用密集的高度局部积分的线积分回归法和使用具有更加离散的全局风格的更长的积分曲线的流线法。
随着大数据的发展,计算机要处理的数据量越来越大,在海流的粒子流可视化中要处理10G以上的数据等待的时间是很不乐观的,为了提高运算速度,保证软件的可交互性,在粒子流的种子点集中进行栅格划分,使用计算机并行计算出每个栅格内所有子种子点集,并将子点集返回给总集合。这种做法虽然很大程度的解决了运算速度的问题,但是也带来了一个新的问题,栅格化处理的每个子种子点集原本应该在呈现在一个种子点上的数据会被栅格切分成两个或多个子种子点呈现出来,这是不希望看到的,针对此问题,本发明提出了一种利用并查集算法的方式聚合被切分的粒子流种子点集。
并查集在计算机科学中应用广泛,如Kruskal算法的优化,二值图像的扫描算法,电力系统结线动态分析算法,信息编码处理等。与并查集相关的论文如陈宇的“实时海洋水质数据的三维可视化平台设计与实现”中利用并查集算法解决了海洋地图上对重叠的浮标进行合并的问题,目前已有的海流可视化相关专利,如吴文周、张宇、苏奋振发明的“一种面向流向特种的基于角度跟踪的海流矢量场可视化方法”专利和苏奋振、吴文周、董成虎、武芳发明的“一种海流矢量场的远程可视化方法”中,实现了海流基于网络的远程可视化,但是以上的论文及专利对于如何快速高效的显示海流图像却并没有涉及,本专利针对大数据下的矢量场数据的高速运算提供了改进算法。
发明内容
针对上述现有技术,本发明要解决的技术问题是提供一种能够快速高效显示海流图像的基于并查集和并行计算的海流可视化方法。
为解决上述技术问题,本发明的一种基于并查集和并行计算的海流可视化方法,包括以下步骤:
步骤一:读入海流数据,生成指定数量的种子点:
步骤1.1:在将要绘制图像的矢量数据场中的播撒随机种子点进行采样,根据种子点所在区域划分为n个种子点集,n的值由数据量的大小和电脑中CPU的核数决定,取值范围2到48之间;
步骤1.2:形成1到n个子种子点集,并将每一个子种子点集进行步骤二处理。
步骤二:利用计算机的多线程并行的将每个区域的种子点集向后积分,生成预处理流线:
步骤2.1:通过四阶龙格-库塔积分算法将每个区域的种子点集向前和向后迭代地增加流线;
步骤2.2:当生成流线后,如果子种子集产生的流线到达区域的边界,暂时中止流线的生长并记录中止生长的种子点和当前中止的位置;
步骤2.3:所有种子点集流线生成完毕,进行步骤三。
步骤三:检索每一个步骤二处理后的流线图,将每个上下左右临界线上上的相邻流线合并成一个种子点生成的流线:
步骤3.1:将每一个子流线图中初始种子点生成一个初始并查集结构,这里的并查集结构为一个有指向自己的指针和一个存放流线临界点坐标的类:
步骤3.2:将每个区域的种子点集放入一个指针容器中,任意容器与相邻的容器进行比较,直至任意两个容器进行过比较,依次比较之后将每个区域中的临界坐标相同的种子点进行合并;
步骤3.3:当两条流线匹配上,将两个并查集结构的流线中链表长度较短的一方连接长度较长的一方,实现流线的合并,若有n个子种子点集合并,则将n-1个种子点的指针指向最长的那个子种子点的结构上。
本发明的有益效果:
1.可以有效地降低并行计算后的海流生成图像时流线被切割的情况。
2.利用并查集算法有效的降低查询时间,使得软件的交互性更强。
3.数据量很大的情况下,并行计算后运行的时间比原来的运行时间快很多,并在降低可视化效果的情况下,速度得到大幅度提升。
附图说明
图1为本发明并查集查询方法的流程示意图。
具体实施方式
下面结合附图对本发明具体实施方式做进一步说明。
本发明提出一种基于并查集和并行计算算法的海流高速可视化方法。为并行积分后的流线之间的邻边断线提供了一种聚合方法,此种方法很好的解决了大数据的情况下处理流线数据生成流线速度变慢的问题,并且在数据量较大的情况下,此方法生成的图像与不划分区域直接生成的图像没有差别。针对在大数据量海流数据的并行计算导致的种子点集被切分的问题中,本发明提出一种基于并查集的方法来实现将切分的种子点集聚合,是一种将矢量场数据切分后并行积分种子点,并基于并查集的方法来实现将切分的种子点集聚合的方法。该方法首先对海流数据随机生成的种子点根据区域划分为n个均等的种子点集,其次将这些种子点集进行并行积分,最后利用并查集结构将这n个种子点集合并后呈现出图像。此种方法很好的解决了大数据的情况下处理流线数据生成流线速度变慢的问题,在数据量较大的情况下,加快了绘制流线的速度并保证了图像显示效果。
如图1所示,具体步骤如下:
步骤一:读入txt格式的海流数据,生成指定数量的种子点(种子点的数量由数据密度和绘制窗口的大小而定,取值范围100到1000000个,这里默认取10000个)。
具体为:
步骤1.1、在将要绘制图像的矢量数据场中的播撒10000个随机种子点进行采样,根据种子点所在区域划分为n个种子点集(n的值根据数据量的大小和电脑中CPU的核数而定,取值范围2到48之间,n取太大反而会导致计算时间增加,这里取9)。
步骤1.2、形成1到n个子种子点集,并将每一个子种子点集进行步骤二处理。
步骤二:利用计算机的多线程并行的将每个区域的种子点集向后积分,生成预处理流线。
具体为:
步骤2.1、通过四阶龙格-库塔积分算法将每个区域的种子点集向前和向后迭代地增加流线。
步骤2.2、当生成流线后,如果子种子集产生的流线到达区域的边界,暂时中止流线的生长并记录中止生长的种子点和当前中止的位置。
步骤2.3、所有种子点集流线生成完毕,返回进行步骤三。
步骤三:检索每一个步骤二处理后的流线图,将每个上下左右临界线上上的相邻流线合并成一个种子点生成的流线;
具体为:
步骤3.1、将每一个子流线图中初始种子点生成一个初始并查集结构,这里的并查集结构为一个有指向自己的指针和一个存放流线临界点坐标的类:
Figure GDA0003089388260000041
其中,node为并查集结构中的指针,初始时指向自己,x[],y[]分别为存放种子点生成流线后在临界边上的坐标,因流线与矩形区域相交点最大为2,所以数组x和y的容量均为2。
步骤3.2、将每个区域的种子点集放入一个vector<Element_Set*>的容器中,将容器v1与其相邻的v2和v4比较,v2与v3和v5比较,由于v2与v1比较过一次,所以无需重复比较(这里n取值为9),依次比较之后将每个区域中的临界坐标相同的种子点进行合并,其中比较过程的流程为:
Figure GDA0003089388260000042
Figure GDA0003089388260000051
其中flag[i][j]是为了防止递归过程中相同的流线进行重复计算设计的标志位数组,当flag[i][j]等于1时跳过该次递归过程,Element_Merge为基于并查集算法设计的流线融合函数。
步骤3.3、当两条流线匹配上,将两个并查集结构的流线中链表长度较短的一方连接长度较长的一方,实现流线的合并,为了提高算法效率,若有n个子种子点集合并,则将n-1个种子点的指针指向最长的那个子种子点的结构上。函数的具体实现如下:
Figure GDA0003089388260000052
引入并查集函数之后时间复杂度降为O(N*M)显著提高了运行效率。步骤3.2和3.3中,遍历每个子种子集合,并通过并查集结构实现流线的合并。

Claims (1)

1.一种基于并查集和并行计算的海流可视化方法,其特征在于,包括以下步骤:
步骤一:读入海流数据,生成指定数量的种子点:
步骤1.1:在将要绘制图像的矢量数据场中的播撒随机种子点进行采样,根据种子点所在区域划分为n个子种子点集,n的值由数据量的大小和电脑中CPU的核数决定,取值范围2到48之间;
步骤1.2:形成1到n个子种子点集,并将每一个子种子点集进行步骤二处理;
步骤二:利用计算机的多线程并行的将每个区域的子种子点集向后积分,生成预处理流线:
步骤2.1:通过四阶龙格-库塔积分算法将每个区域的子种子点集向前和向后迭代地增加流线;
步骤2.2:当生成流线后,如果子种子点集产生的流线到达区域的边界,暂时中止流线的生长并记录中止生长的种子点和当前中止的位置;
步骤2.3:所有子种子点集流线生成完毕,进行步骤三;
步骤三:检索每一个步骤二处理后的流线图,将每个上下左右临界线上上的相邻流线合并成一个种子点生成的流线:
步骤3.1:将每一个子流线图中初始种子点生成一个初始并查集结构,这里的并查集结构为一个有指向自己的指针和一个存放流线临界点坐标的类:
步骤3.2:将每个区域的子种子点集放入一个指针容器中,任意容器与相邻的容器进行比较,直至任意两个容器进行过比较,依次比较之后将每个区域中的临界坐标相同的种子点进行合并;
步骤3.3:当两条流线匹配上,将两个并查集结构的流线中链表长度较短的一方连接长度较长的一方,实现流线的合并,若有n个子种子点集合并,则将n-1个种子点的指针指向最长的那个子种子点的结构上。
CN201910958363.9A 2019-10-10 2019-10-10 一种基于并查集和并行计算的海流可视化方法 Active CN110825803B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910958363.9A CN110825803B (zh) 2019-10-10 2019-10-10 一种基于并查集和并行计算的海流可视化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910958363.9A CN110825803B (zh) 2019-10-10 2019-10-10 一种基于并查集和并行计算的海流可视化方法

Publications (2)

Publication Number Publication Date
CN110825803A CN110825803A (zh) 2020-02-21
CN110825803B true CN110825803B (zh) 2021-11-09

Family

ID=69548859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910958363.9A Active CN110825803B (zh) 2019-10-10 2019-10-10 一种基于并查集和并行计算的海流可视化方法

Country Status (1)

Country Link
CN (1) CN110825803B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646116A (zh) * 2012-02-17 2012-08-22 中国科学院地理科学与资源研究所 一种海流矢量场的远程可视化方法
CN103226804A (zh) * 2013-04-12 2013-07-31 山东大学 一种基于流线重心Voronoi图的流场可视化方法
CN106875458A (zh) * 2017-03-01 2017-06-20 中国海洋大学 并行化二维流场多元数据动态可视化系统
CN105975437B (zh) * 2016-03-29 2019-04-16 中国海洋大学 二维洋流拉格朗日拟序结构分析算法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646116A (zh) * 2012-02-17 2012-08-22 中国科学院地理科学与资源研究所 一种海流矢量场的远程可视化方法
CN103226804A (zh) * 2013-04-12 2013-07-31 山东大学 一种基于流线重心Voronoi图的流场可视化方法
CN105975437B (zh) * 2016-03-29 2019-04-16 中国海洋大学 二维洋流拉格朗日拟序结构分析算法
CN106875458A (zh) * 2017-03-01 2017-06-20 中国海洋大学 并行化二维流场多元数据动态可视化系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于特征的流线种子点分布并行算法研究与实现;郭雨蒙;《万方数据库》;20170815 *

Also Published As

Publication number Publication date
CN110825803A (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
US11704537B2 (en) Octree-based convolutional neural network
US9396512B2 (en) Fully parallel construction of k-d trees, octrees, and quadtrees in a graphics processing unit
Wang et al. 3D-CenterNet: 3D object detection network for point clouds with center estimation priority
Lu et al. Massive point cloud space management method based on octree-like encoding
CN110751696A (zh) 将BIM模型数据转化为glTF数据的方法、装置、设备及介质
CN112764004B (zh) 一种点云处理方法、装置、设备及存储介质
Ma et al. 3DMAX-Net: A multi-scale spatial contextual network for 3D point cloud semantic segmentation
WO2023247827A1 (en) Method and system for processing point-cloud data
Zhang et al. An efficient dynamic volume rendering for large-scale meteorological data in a virtual globe
Teng et al. IDEAL: a vector-raster hybrid model for efficient spatial queries over complex polygons
US20200098161A1 (en) System and method for executing non-graphical algorithms on a gpu (graphics processing unit)
Zhang et al. JF-YOLO: the jellyfish bloom detector based on deep learning
US11397615B2 (en) Methods and apparatuses for coalescing function calls for ray-tracing
Zhang et al. Efficient Small-Object Detection in Underwater Images Using the Enhanced YOLOv8 Network
CN110825803B (zh) 一种基于并查集和并行计算的海流可视化方法
CN116502303B (zh) 一种基于场景层级实例信息增强的bim模型可视化方法
Doraiswamy et al. Spade: Gpu-powered spatial database engine for commodity hardware
Chen et al. Research on object detection algorithm based on improved Yolov5
CN104992425A (zh) 一种基于gpu加速的dem超分辨率方法
DE102022112488A1 (de) Projektive hash-karten
Pu et al. An automatic method for tree species point cloud segmentation based on deep learning
CN108985306B (zh) 基于改进边界代数法的相交多边形提取方法
Koutroumanis et al. TrajParquet: A trajectory-oriented column file format for mobility data lakes
CN110021059B (zh) 一种无冗余计算的高效Marching Cubes等值面提取方法与系统
JP7327935B2 (ja) 3次元シーンのビジビリティ関数

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Liu Chang

Inventor after: Liu Tianshun

Inventor after: Gao Feng

Inventor after: He Zhongjie

Inventor after: Chen Guoan

Inventor after: Li Jiaxun

Inventor after: Zhang Zhiqiang

Inventor before: Liu Chang

Inventor before: Liu Tianshun

Inventor before: Gao Feng

Inventor before: He Zhongjie

Inventor before: Chen Guoan

GR01 Patent grant
GR01 Patent grant