CN108665524B - 一种基于gpu的大范围离散流场体绘制方法 - Google Patents

一种基于gpu的大范围离散流场体绘制方法 Download PDF

Info

Publication number
CN108665524B
CN108665524B CN201810401943.3A CN201810401943A CN108665524B CN 108665524 B CN108665524 B CN 108665524B CN 201810401943 A CN201810401943 A CN 201810401943A CN 108665524 B CN108665524 B CN 108665524B
Authority
CN
China
Prior art keywords
data
flow field
volume
discrete flow
range
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
CN201810401943.3A
Other languages
English (en)
Other versions
CN108665524A (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.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
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 Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN201810401943.3A priority Critical patent/CN108665524B/zh
Publication of CN108665524A publication Critical patent/CN108665524A/zh
Application granted granted Critical
Publication of CN108665524B publication Critical patent/CN108665524B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

本发明提出了一种基于GPU的大范围离散流场体绘制方法。本发明方法首先进行数据体变量拆分和多级数据索引;然后根据相机姿态和离散流场外包计算在视野内的数据体行列数,根据相机到数据体中心的距离进行数据抽稀或插值,将立方体形式的离散流场数据体转换为弧形数据体载入;接着在GPU上通过垂直于相机到地球中心的射线对弧形数据体进行切片,并计算射线切割特征点及切面采样点的几何坐标;最后在GPU上基于预积分分类操作查询切片之间数据体的颜色和透明度值,实现离散流场的精细化体渲染。与现有技术相比,本发明提高了渲染率,且图像可视化效果更加精细平滑。

Description

一种基于GPU的大范围离散流场体绘制方法
技术领域
本发明涉及计算机可视化领域,特别是涉及一种基于GPU的大范围离散流场体绘制方法。
背景技术
近年来,全球极端气候事件导致重特大水文气象灾害频繁发生,严重威胁人民生命财产安全。水文气象离散数据构成一个动态变化的三维流场,具有覆盖范围广泛、数据量庞大、结构复杂和动态变化等特点。大范围离散流场数据通常是TB级的“空间维+时间维+要素维”的多维数据,时空上存在从全局到局部及不同时间跨度的多尺度特征。虚拟地球是海量三维数据的重要可视化平台,基于虚拟地球研究流场三维动态可视化方法是水文气象等灾害预报应用的重要组成部分,通过逼真的三维动态模拟和可视化,不仅可以让用户直观地了解流场的运动状态,更能展现流场的运动过程,分析流场的内部结构,从而为灾害预报提供支持,在防灾减灾过程中发挥着重要作用。
体绘制是计算机图形学和可视化领域中极为重要的一部分,它是在二维图像上展示空间体细节的技术。体绘制的优点是能从所产生的图像中观察到三维数据场的整体和全貌,而不是仅仅显示等值面。基于体绘制的离散流场可视化方法包括光线投射法、抛雪球法、错切—变形法和三维纹理映射法等。其中三维纹理映射法由于具备GPU加速硬件支持及对密集体数据的高效绘制能力而成为当今较实用的体绘制方法。
对于大范围离散流场,由于数据量庞大且数据体形状复杂,目前基于三维纹理体绘制的研究主要是通过剖分流场体数据,运用八叉树分层分块的组织方法将体数据划分成多块小的数据体,并在绘制的过程中根据相机姿态调度八叉树数据,运用LOD技术绘制每个小立方体。这种方法能够实现大范围离散流场数据体绘制,但具有以下缺点为立方体形式的流场不符合现实中流场的地理形态,与地表曲面不够贴合容易出现缝隙,影响可视化效果;离散流场被剖分为多个小的数据体分别进行绘制,增加了载入和渲染批次,降低了离散流场的渲染效率;基于八叉树调度和LOD技术渲染数据体,不同的数据块分辨率不同,导致了相邻数据块之间衔接较差,容易产生线状边界,影响了渲染效果。
发明内容
本发明针对现有技术的不足,提出了一种基于GPU的大范围离散流场体绘制方法。
本发明的技术方案为一种基于GPU的大范围离散流场体绘制方法,具体包括以下步骤:
步骤1:将大范围离散流场体数据变量按时间拆分,并建立多级数据索引;
步骤2:将建立多级数据索引的大范围离散流场体数据进一步进行数据体筛选、数据体采样以及数据体转换得到数据处理后的大范围离散流场体数据;
步骤3:在GPU上根据相机的位置计算相机到地球中心的射线,根据射线以及数据处理后的大范围离散流场体数据计算切片范围,根据切片范围沿着该射线方向基于一定的步长垂直等间距切割弧形数据体得到特征点,以特征点为中心垂直于射线进行切片,以特征点为中心并以切片与数据处理后的大范围离散流场体数据构建二维局部坐标系,并计算切片特征点的球面坐标;
步骤4:在GPU上根据切片特征点球面坐标计算切片特征点纹理坐标,根据预积分分类方法计算相邻切片中间的颜色和透明度值,并进行纹理贴图;
作为优选,步骤1中所述将大范围离散流场体数据变量按时间拆分为:
{T1,T2,…,TN}
其中,N为时序的数量,第n时序为Tn
每个时序中对应存储M个类型的变量{W1,W2,…,WM};
步骤1中所述多级数据索引可以表示为:
{Vn,m,Cn,m|n∈[1,N],m∈[1,M]}
其中,Vn,m为第n时序第m个类型的观测值体数据,且Vn,m由Row行Column列Level层的矩阵构成,Vn,m(i,j,l)表示第n时序第m个类型的体数据中第j行i列l层体元的观测值,i∈[1,Column],j∈[1,Row],l∈[1,Level];
Cn,m为第n时序第m个类型的几何位置体数据,且Cn,m由Row行Column列Level层的矩阵构成,Cn,m(i,j,l)表示第n时序第m个类型的体数据中第j行i列l层体元的几何位置,i∈[1,Column],j∈[1,Row],l∈[1,Level];
作为优选,步骤2中所述数据体筛选为根据建立多级数据索引的大范围离散流场体数据的范围、建立多级数据索引的大范围离散流场体数据的采样间距以及相机判断视野范围,从而筛选落在视野内的建立多级数据索引的大范围离散流场体数据行列数为:
Figure BDA0001645926360000031
其中,建立多级数据索引的大范围离散流场体数据的经度范围为(Lon0,Lon1),建立多级数据索引的大范围离散流场体数据的经度采样间距为LonInterval,建立多级数据索引的大范围离散流场体数据的纬度范围为(Lat0,Lat1),建立多级数据索引的大范围离散流场体数据的纬度采样间距为LatInterval,建立多级数据索引的大范围离散流场体数据的高度范围为(Alt0,Alt1),建立多级数据索引的大范围离散流场体数据的高度采样间距为AltInterval,相机视野与大范围离散流场体外包的交集经度范围为(longitude0,longitude1),相机视野与大范围离散流场体外包的交集经度范围为(latitude0,latitude1),StartColumn为视野内建立多级数据索引的大范围离散流场体数据的起始列,endColumn为建立多级数据索引的大范围离散流场体数据的结束列,StartRow为建立多级数据索引的大范围离散流场体数据的起始行,endRow为建立多级数据索引的大范围离散流场体数据的结束行;
建立多级数据索引的大范围离散流场体数据通过数据体筛选后观测值体数据为
Figure BDA0001645926360000032
中第
Figure BDA0001645926360000033
Figure BDA0001645926360000034
Figure BDA0001645926360000035
层体元的观测值为:
Figure BDA0001645926360000036
建立多级数据索引的大范围离散流场体数据通过数据体筛选后几何位置体数据为
Figure BDA0001645926360000037
中第
Figure BDA0001645926360000038
Figure BDA0001645926360000039
Figure BDA00016459263600000310
层体元的几何位置为:
Figure BDA0001645926360000041
然后根据一定的采样间距处理离散流场数据,最后将立方体形状的离散流场数据体转换为贴合地表的弧形数据体;
步骤2中所述数据体采样为空间采样和时间插值;
空间采样中的采样步长为:
Figure BDA0001645926360000042
其中,CameraDistance为相机到大范围离散流场中心的距离,Round为取最接近的整数,distance为距离阈值;
若CameraDistance>distance,根据抽稀方法将原始数据间隔扩大为g倍,建立多级数据索引的大范围离散流场体数据通过数据体筛选后观测值体数据为
Figure BDA0001645926360000043
Figure BDA0001645926360000044
通过数据体抽稀后第
Figure BDA0001645926360000045
Figure BDA0001645926360000046
Figure BDA0001645926360000047
层体元的观测值为:
Figure BDA0001645926360000048
Figure BDA0001645926360000049
Figure BDA00016459263600000410
Figure BDA00016459263600000411
建立多级数据索引的大范围离散流场体数据通过数据体筛选后几何位置体数据为
Figure BDA00016459263600000412
通过数据体抽稀后第
Figure BDA00016459263600000413
Figure BDA00016459263600000414
Figure BDA00016459263600000415
层体元的几何位置为:
Figure BDA00016459263600000416
Figure BDA00016459263600000417
Figure BDA00016459263600000418
Figure BDA00016459263600000419
其中,
Figure BDA00016459263600000420
若CameraDistance≤distance,进行数据插值,根据三线性插值方法,可以插值得到中间点的数据,将建立多级数据索引的大范围离散流场体数据通过数据体筛选后观测值体数据以及几何位置体数据间隔缩小为g分之一;
时间插值为将建立多级数据索引的大范围离散流场体数据通过数据体筛选、数据体采样,进一步对
Figure BDA0001645926360000051
进行线性插值来在时间轴上加密数据,Tn与Tn+1时刻之间的某一时刻Tx的插值为:
Figure BDA0001645926360000052
其中,
Figure BDA0001645926360000053
为通过数据体筛选、数据体采样后的第n时序第m个类型的观测值体数据且Vn,m由Row行Column列Level层的矩阵构成,Vn+1,m为通过数据体筛选、数据体采样后的第n+1时序第m个类型的观测值体数据且Vn+1,m由Row行Column列Level层的矩阵构成,i∈[1,Column],j∈[1,Row],l∈[1,Level];
步骤2中所述数据体转换为将立方体形状的大范围离散流场体数据转换为弧形的体数据,
Figure BDA0001645926360000054
表示通过数据体筛选、数据体采样后的体数据中第j行i列l层体元的几何位置,i∈[1,Column],j∈[1,Row],l∈[1,Level],
Figure BDA0001645926360000055
通过空间矢量分解为几何位置坐标为
Figure BDA0001645926360000056
则该体元的球面坐标为:
Figure BDA0001645926360000057
其中,R为地球半径,latituden,m(i,j,l)为体元的经度,longtituden,m(i,j,l)为体元的纬度,altituden,m(i,j,l)为体元的高度,体元转换后的球面坐标为(latituden,m(i,j,l),longituden,m(i,j,l),altituden,m(i,j,l));
步骤2中所述数据处理后的大范围离散流场体数据为由
Figure BDA0001645926360000058
与Valuex,m组成的观测值体数据以及体元的球面坐标构成;
作为优选,步骤3中所述计算相机到地球中心的射线为设相机点为A,地球中心为O,以相机和地球球心连线AO为射线,分别与步骤2中所述数据处理后的大范围离散流场体数据求交得到数据体外圆交点E和地球表面交点F,设数据处理后的大范围离散流场体数据底面为MNPQ,则可以分别求其与OA的夹角,其中最大角度对应的顶点为四个点中沿着OA方向的最低点,设其为M点,则通过角度来判断:
Figure BDA0001645926360000061
从M点引一条射线垂直于OA为G点,则切片中心范围为线段EG,G点坐标可以计算为:
Figure BDA0001645926360000062
步骤3中所述等间距切割弧形数据体为以E为起点基于某一设定的阈值d依次等间距切割线段EG,得到特征点{Pl|l=1,2,...,L},设地球的半径为R,数据处理后的大范围离散流场体数据的厚度为h=Alt1-Alt0,采样频率为f,则第l个特征点Pl的坐标为:
Figure BDA0001645926360000063
以Pl为中心垂直于射线AO进行切片,切片与数据处理后的大范围离散流场体数据内外弧面相交得到切面,其中切面与外球面相交的圆半径为ORl,切面与内球面相交的圆半径为IRl,则经过Pl的切面的内外半径可以计算为:
Figure BDA0001645926360000064
步骤3中所述构建维局部坐标系为以Pl为中心构建二维局部坐标系,根据切片阈值θ对切片圆进行采样,得到特征点{Qs|s=1,2,...,S},设圆形切面的半径为r,r为外圆半径ORl或内圆半径IRl,对于切片特征点Qs二维平面坐标为:
Figure BDA0001645926360000071
切片特征点Qs根据七参数转换方法可以求得切片特征点Qs的三维笛卡尔几何坐标为:
Figure BDA0001645926360000072
其中,
Figure BDA0001645926360000073
是二维平面坐标系的原点对应的空间几何坐标点,xs和ys是二维平面坐标,
Figure BDA0001645926360000074
Figure BDA0001645926360000075
是纹理坐标方向向量参数,scaleX和scaleY是缩放参数;
根据步骤2中数据体转换将切片特征点Qs的三维笛卡尔几何坐标转换为球面坐标:
s,n,m(i,j,l),βs,n,m(i,j,l),γs,n,m(i,j,l))
其中,n∈[1,N],m∈[1,M],i∈[1,Column],j∈[1,Row],l∈[1,Level];
作为优选,步骤4中所述切片特征点的球面坐标为根据步骤3中获得的特征点球面坐标为(αs,n,m(i,j,l),βs,n,m(i,j,l),γs,n,m(i,j,l)),则特征点的纹理坐标为:
Figure BDA0001645926360000076
其中,(Lon0,Lon1)为步骤2中所述建立多级数据索引的大范围离散流场体数据的经度范围,(Lat0,Lat1)为步骤2中所述建立多级数据索引的大范围离散流场体数据的纬度范围,(Alt0,Alt1)为步骤2中所述建立多级数据索引的大范围离散流场体数据的高度范围;
若当前相机状态下的预积分表不存在则通过预积分转换函数构建颜色和透明度查找表,在当前动画帧状态下,将步骤3中所述线段EG的采样阈值d减半从而增加步骤3中所述采样频率f;
若当前相机状态下的预积分查找表存在,则通过步骤3中所述线段EG的采样阈值d射线EG段进行采样,并通过查找预积分表来获取颜色和透明度值。
与现有技术相比,本方法的创新点为针对大范围离散流场,以相机到地球中心为射线,将离散流场作为一个整体进行切片绘制,相对于分块的方法减少了体数据的载入和渲染批次,提高了渲染效率;由于离散流场整体的数据分辨率相同,不存在分块边界衔接不一致的问题,而且基于预积分分类方法避免木纹效应,可视化效果更加精细平滑;基于GPU加速实现了几何切片绘制和纹理贴图计算,大大地提高了流场的渲染效率。
附图说明
图1:大范围离散流场体绘制流程;
图2:离散流场多级数据索引机制示意图;
图3:实时计算视野范围内的离散数据体示意图;
图4:离散流场数据体采样示意图;
图5:弧形数据体几何切片方法示意图;
图6:弧形数据体几何切片形状示意图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例以台风云娜为对象,下面结合图1至图6介绍本发明的实施例。本发明的具体实施步骤为:
步骤1:将大范围离散流场体数据变量按时间拆分,并建立多级数据索引;
步骤1中所述将大范围离散流场体数据变量按时间拆分为:
{T1,T2,…,TN}
其中,N=54为时序的数量,第n时序为Tn
每个时序中对应存储M=3个类型的变量{W1,W2,…,WM};
步骤1中所述多级数据索引可以表示为:
{Vn,m,Cn,m|n∈[1,N],m∈[1,M]}
其中,Vn,m为第n时序第m个类型的观测值体数据,且Vn,m由Row=267行Column=429列Level=19层的矩阵构成,Vn,m(i,j,l)表示第n时序第m个类型的体数据中第j行i列l层体元的观测值,i∈[1,Column],j∈[1,Row],l∈[1,Level];
Cn,m为第n时序第m个类型的几何位置体数据,且Cn,m由Row行Column列Level层的矩阵构成,Cn,m(i,j,l)表示第n时序第m个类型的体数据中第j行i列l层体元的几何位置,i∈[1,Column],j∈[1,Row],l∈[1,Level];
步骤2:将建立多级数据索引的大范围离散流场体数据进一步进行数据体筛选、数据体采样以及数据体转换得到数据处理后的大范围离散流场体数据;
步骤2中所述数据体筛选为根据建立多级数据索引的大范围离散流场体数据的范围、建立多级数据索引的大范围离散流场体数据的采样间距以及相机判断视野范围,从而筛选落在视野内的建立多级数据索引的大范围离散流场体数据行列数为:
Figure BDA0001645926360000091
其中,建立多级数据索引的大范围离散流场体数据的经度范围为(Lon0,Lon1),建立多级数据索引的大范围离散流场体数据的经度采样间距为LonInterval,建立多级数据索引的大范围离散流场体数据的纬度范围为(Lat0,Lat1),建立多级数据索引的大范围离散流场体数据的纬度采样间距为LatInterval,建立多级数据索引的大范围离散流场体数据的高度范围为(Alt0,Alt1),建立多级数据索引的大范围离散流场体数据的高度采样间距为AltInterval,相机视野与大范围离散流场体外包的交集经度范围为(longitude0,longitude1),相机视野与大范围离散流场体外包的交集经度范围为(latitude0,latitude1),StartColumn为视野内建立多级数据索引的大范围离散流场体数据的起始列,endColumn为建立多级数据索引的大范围离散流场体数据的结束列,StartRow为建立多级数据索引的大范围离散流场体数据的起始行,endRow为建立多级数据索引的大范围离散流场体数据的结束行;
建立多级数据索引的大范围离散流场体数据通过数据体筛选后观测值体数据为
Figure BDA0001645926360000101
中第
Figure BDA0001645926360000102
Figure BDA0001645926360000103
Figure BDA0001645926360000104
层体元的观测值为:
Figure BDA0001645926360000105
建立多级数据索引的大范围离散流场体数据通过数据体筛选后几何位置体数据为
Figure BDA0001645926360000106
中第
Figure BDA0001645926360000107
Figure BDA0001645926360000108
Figure BDA0001645926360000109
层体元的几何位置为:
Figure BDA00016459263600001010
然后根据一定的采样间距处理离散流场数据,最后将立方体形状的离散流场数据体转换为贴合地表的弧形数据体;
步骤2中所述数据体采样为空间采样和时间插值;
空间采样中的采样步长为:
Figure BDA00016459263600001011
其中,CameraDistance为相机到大范围离散流场中心的距离,Round为取最接近的整数,distance为距离阈值;
若CameraDistance>distance,根据抽稀方法将原始数据间隔扩大为g倍,建立多级数据索引的大范围离散流场体数据通过数据体筛选后观测值体数据为
Figure BDA00016459263600001012
Figure BDA00016459263600001013
通过数据体抽稀后第
Figure BDA00016459263600001014
Figure BDA00016459263600001015
Figure BDA00016459263600001016
层体元的观测值为:
Figure BDA00016459263600001017
Figure BDA00016459263600001018
Figure BDA00016459263600001019
Figure BDA00016459263600001020
建立多级数据索引的大范围离散流场体数据通过数据体筛选后几何位置体数据为
Figure BDA00016459263600001021
通过数据体抽稀后第
Figure BDA00016459263600001022
Figure BDA00016459263600001023
Figure BDA00016459263600001024
层体元的几何位置为:
Figure BDA00016459263600001025
Figure BDA0001645926360000111
Figure BDA0001645926360000112
Figure BDA0001645926360000113
其中,
Figure BDA0001645926360000114
若CameraDistance≤distance,进行数据插值,根据三线性插值方法,可以插值得到中间点的数据,将建立多级数据索引的大范围离散流场体数据通过数据体筛选后观测值体数据以及几何位置体数据间隔缩小为g分之一;
时间插值为将建立多级数据索引的大范围离散流场体数据通过数据体筛选、数据体采样,进一步对
Figure BDA0001645926360000115
进行线性插值来在时间轴上加密数据,Tn与Tn+1时刻之间的某一时刻Tx的插值为:
Figure BDA0001645926360000116
其中,
Figure BDA0001645926360000117
为通过数据体筛选、数据体采样后的第n时序第m个类型的观测值体数据且Vn,m由Row行Column列Level层的矩阵构成,Vn+1,m为通过数据体筛选、数据体采样后的第n+1时序第m个类型的观测值体数据且Vn+1,m由Row行Column列Level层的矩阵构成,i∈[1,Column],j∈[1,Row],l∈[1,Level];
步骤2中所述数据体转换为将立方体形状的大范围离散流场体数据转换为弧形的体数据,
Figure BDA0001645926360000118
表示通过数据体筛选、数据体采样后的体数据中第j行i列l层体元的几何位置,i∈[1,Column],j∈[1,Row],l∈[1,Level],
Figure BDA0001645926360000119
通过空间矢量分解为几何位置坐标为
Figure BDA00016459263600001110
则该体元的球面坐标为:
Figure BDA00016459263600001111
其中,R为地球半径,latituden,m(i,j,l)为体元的经度,longtituden,m(i,j,l)为体元的纬度,altituden,m(i,j,l)为体元的高度,体元转换后的球面坐标为(latituden,m(i,j,l),longituden,m(i,j,l),altituden,m(i,j,l));
步骤2中所述数据处理后的大范围离散流场体数据为由
Figure BDA0001645926360000121
与Valuex,m组成的观测值体数据以及体元的球面坐标构成;
步骤3:在GPU上根据相机的位置计算相机到地球中心的射线,根据射线以及数据处理后的大范围离散流场体数据计算切片范围,根据切片范围沿着该射线方向基于一定的步长垂直等间距切割弧形数据体得到特征点,以特征点为中心垂直于射线进行切片,以特征点为中心并以切片与数据处理后的大范围离散流场体数据构建二维局部坐标系,并计算切片特征点的球面坐标;
步骤3中所述计算相机到地球中心的射线为设相机点为A,地球中心为O,以相机和地球球心连线AO为射线,分别与步骤2中所述数据处理后的大范围离散流场体数据求交得到数据体外圆交点E和地球表面交点F,设数据处理后的大范围离散流场体数据底面为MNPQ,则可以分别求其与OA的夹角,其中最大角度对应的顶点为四个点中沿着OA方向的最低点,设其为M点,则通过角度来判断:
Figure BDA0001645926360000122
从M点引一条射线垂直于OA为G点,则切片中心范围为线段EG,G点坐标可以计算为:
Figure BDA0001645926360000123
步骤3中所述等间距切割弧形数据体为以E为起点基于某一设定的阈值d=50依次等间距切割线段EG,得到特征点{Pl|l=1,2,...,L},设地球的半径为R,数据处理后的大范围离散流场体数据的厚度为h=Alt1-Alt0,采样频率为f,则第l个特征点Pl的坐标为:
Figure BDA0001645926360000131
以Pl为中心垂直于射线AO进行切片,切片与数据处理后的大范围离散流场体数据内外弧面相交得到切面,其中切面与外球面相交的圆半径为ORl,切面与内球面相交的圆半径为IRl,则经过Pl的切面的内外半径可以计算为:
Figure BDA0001645926360000132
步骤3中所述构建维局部坐标系为以Pl为中心构建二维局部坐标系,根据切片阈值θ=18°对切片圆进行采样,得到特征点{Qs|s=1,2,...,S},设圆形切面的半径为r,r为外圆半径ORl或内圆半径IRl,对于切片特征点Qs二维平面坐标为:
Figure BDA0001645926360000133
切片特征点Qs根据七参数转换方法可以求得切片特征点Qs的三维笛卡尔几何坐标为:
Figure BDA0001645926360000134
其中,
Figure BDA0001645926360000135
是二维平面坐标系的原点对应的空间几何坐标点,xs和ys是二维平面坐标,
Figure BDA0001645926360000136
Figure BDA0001645926360000137
是纹理坐标方向向量参数,scaleX和scaleY是缩放参数。
根据步骤2中数据体转换将切片特征点Qs的三维笛卡尔几何坐标转换为球面坐标:
s,n,m(i,j,l),βs,n,m(i,j,l),γs,n,m(i,j,l))
其中,n∈[1,N],m∈[1,M],i∈[1,Column],j∈[1,Row],l∈[1,Level];
步骤4:在GPU上根据切片特征点球面坐标计算切片特征点纹理坐标,根据预积分分类方法计算相邻切片中间的颜色和透明度值,并进行纹理贴图;
步骤4中所述切片特征点的球面坐标为根据步骤3中获得的特征点球面坐标为(αs,n,m(i,j,l),βs,n,m(i,j,l),γs,n,m(i,j,l)),则特征点的纹理坐标为:
Figure BDA0001645926360000141
其中,(Lon0,Lon1)为步骤2中所述建立多级数据索引的大范围离散流场体数据的经度范围,(Lat0,Lat1)为步骤2中所述建立多级数据索引的大范围离散流场体数据的纬度范围,(Alt0,Alt1)为步骤2中所述建立多级数据索引的大范围离散流场体数据的高度范围;
若当前相机状态下的预积分表不存在则通过预积分转换函数构建颜色和透明度查找表,在当前动画帧状态下,将步骤3中所述线段EG的采样阈值d减半从而增加步骤3中所述采样频率f;
若当前相机状态下的预积分查找表存在,则通过步骤3中所述线段EG的采样阈值d射线EG段进行采样,并通过查找预积分表来获取颜色和透明度值。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

Claims (5)

1.一种基于GPU的大范围离散流场体绘制方法,其特征在于,包括以下步骤:
步骤1:将大范围离散流场体数据变量按时间拆分,并建立多级数据索引;
步骤2:将建立多级数据索引的大范围离散流场体数据进一步进行数据体筛选、数据体采样以及数据体转换得到数据处理后的大范围离散流场体数据;
步骤3:在GPU上根据相机的位置计算相机到地球中心的射线,根据射线以及数据处理后的大范围离散流场体数据计算切片范围,根据切片范围沿着该射线方向基于一定的步长垂直等间距切割弧形数据体得到特征点,以特征点为中心垂直于射线进行切片,以特征点为中心并以切片与数据处理后的大范围离散流场体数据构建二维局部坐标系,并计算切片特征点的球面坐标;
步骤4:在GPU上根据切片特征点球面坐标计算切片特征点纹理坐标,根据预积分分类方法计算相邻切片中间的颜色和透明度值,并进行纹理贴图。
2.根据权利要求1所述的基于GPU的大范围离散流场体绘制方法,其特征在于:步骤1中所述将大范围离散流场体数据变量按时间拆分为:
{T1,T2,…,TN}
其中,N为时序的数量,第n时序为Tn
每个时序中对应存储M个类型的变量{W1,W2,…,WM};
步骤1中所述多级数据索引可以表示为:
{Vn,m,Cn,m|n∈[1,N],m∈[1,M]}
其中,Vn,m为第n时序第m个类型的观测值体数据,且Vn,m由Row行Column列Level层的矩阵构成,Vn,m(i,j,l)表示第n时序第m个类型的体数据中第j行i列l层体元的观测值,i∈[1,Column],j∈[1,Row],l∈[1,Level];
Cn,m为第n时序第m个类型的几何位置体数据,且Cn,m由Row行Column列Level层的矩阵构成,Cn,m(i,j,l)表示第n时序第m个类型的体数据中第j行i列l层体元的几何位置,i∈[1,Column],j∈[1,Row],l∈[1,Level]。
3.根据权利要求1所述的基于GPU的大范围离散流场体绘制方法,其特征在于:步骤2中所述数据体筛选为根据建立多级数据索引的大范围离散流场体数据的范围、建立多级数据索引的大范围离散流场体数据的采样间距以及相机判断视野范围,从而筛选落在视野内的建立多级数据索引的大范围离散流场体数据行列数为:
Figure FDA0002996124940000021
其中,建立多级数据索引的大范围离散流场体数据的经度范围为(Lon0,Lon1),建立多级数据索引的大范围离散流场体数据的经度采样间距为LonInterval,建立多级数据索引的大范围离散流场体数据的纬度范围为(Lat0,Lat1),建立多级数据索引的大范围离散流场体数据的纬度采样间距为LatInterval,建立多级数据索引的大范围离散流场体数据的高度范围为(Alt0,Alt1),建立多级数据索引的大范围离散流场体数据的高度采样间距为AltInterval,相机视野与大范围离散流场体外包的交集经度范围为(longitude0,longitude1),相机视野与大范围离散流场体外包的交集经度范围为(latitude0,latitude1),StartColumn为视野内建立多级数据索引的大范围离散流场体数据的起始列,endColumn为建立多级数据索引的大范围离散流场体数据的结束列,StartRow为建立多级数据索引的大范围离散流场体数据的起始行,endRow为建立多级数据索引的大范围离散流场体数据的结束行;
建立多级数据索引的大范围离散流场体数据通过数据体筛选后观测值体数据为
Figure FDA0002996124940000022
中第
Figure FDA0002996124940000023
Figure FDA0002996124940000024
Figure FDA0002996124940000025
层体元的观测值为:
Figure FDA0002996124940000026
建立多级数据索引的大范围离散流场体数据通过数据体筛选后几何位置体数据为
Figure FDA0002996124940000027
中第
Figure FDA0002996124940000028
Figure FDA0002996124940000029
Figure FDA00029961249400000210
层体元的几何位置为:
Figure FDA00029961249400000211
然后根据一定的采样间距处理离散流场数据,最后将立方体形状的离散流场数据体转换为贴合地表的弧形数据体;
步骤2中所述数据体采样为空间采样和时间插值;
空间采样中的采样步长为:
Figure FDA0002996124940000031
其中,CameraDistance为相机到大范围离散流场中心的距离,Round为取最接近的整数,distance为距离阈值;
若CameraDistance>distance,根据抽稀方法将原始数据间隔扩大为g倍,建立多级数据索引的大范围离散流场体数据通过数据体筛选后观测值体数据为
Figure FDA0002996124940000032
Figure FDA0002996124940000033
通过数据体抽稀后第
Figure FDA0002996124940000034
Figure FDA0002996124940000035
Figure FDA0002996124940000036
层体元的观测值为:
Figure FDA0002996124940000037
Figure FDA0002996124940000038
Figure FDA0002996124940000039
Figure FDA00029961249400000310
建立多级数据索引的大范围离散流场体数据通过数据体筛选后几何位置体数据为
Figure FDA00029961249400000311
通过数据体抽稀后第
Figure FDA00029961249400000312
Figure FDA00029961249400000313
Figure FDA00029961249400000314
层体元的几何位置为:
Figure FDA00029961249400000315
Figure FDA00029961249400000316
Figure FDA00029961249400000317
Figure FDA00029961249400000318
其中,
Figure FDA00029961249400000319
若CameraDistance≤distance,进行数据插值,根据三线性插值方法,可以插值得到中间点的数据,将建立多级数据索引的大范围离散流场体数据通过数据体筛选后观测值体数据以及几何位置体数据间隔缩小为g分之一;
时间插值为将建立多级数据索引的大范围离散流场体数据通过数据体筛选、数据体采样,进一步对
Figure FDA00029961249400000320
进行线性插值来在时间轴上加密数据,Tn与Tn+1时刻之间的某一时刻Tx的插值为:
Figure FDA0002996124940000041
其中,
Figure FDA0002996124940000042
为通过数据体筛选、数据体采样后的第n时序第m个类型的观测值体数据且Vn,m由Row行Column列Level层的矩阵构成,Vn+1,m为通过数据体筛选、数据体采样后的第n+1时序第m个类型的观测值体数据且Vn+1,m由Row行Column列Level层的矩阵构成,i∈[1,Column],j∈[1,Row],l∈[1,Level];
步骤2中所述数据体转换为将立方体形状的大范围离散流场体数据转换为弧形的体数据,
Figure FDA0002996124940000043
表示通过数据体筛选、数据体采样后的体数据中第j行i列l层体元的几何位置,i∈[1,Column],j∈[1,Row],l∈[1,Level],
Figure FDA0002996124940000044
通过空间矢量分解为几何位置坐标为
Figure FDA0002996124940000045
则该体元的球面坐标为:
Figure FDA0002996124940000046
其中,R为地球半径,latituden,m(i,j,l)为体元的经度,longtituden,m(i,j,l)为体元的纬度,altituden,m(i,j,l)为体元的高度,体元转换后的球面坐标为(latituden,m(i,j,l),longituden,m(i,j,l),altituden,m(i,j,l));
步骤2中所述数据处理后的大范围离散流场体数据为由
Figure FDA0002996124940000047
与Valuex,m组成的观测值体数据以及体元的球面坐标构成。
4.根据权利要求1所述的基于GPU的大范围离散流场体绘制方法,其特征在于:步骤3中所述计算相机到地球中心的射线为设相机点为A,地球中心为O,以相机和地球球心连线AO为射线,分别与步骤2中所述数据处理后的大范围离散流场体数据求交得到数据体外圆交点E和地球表面交点F,设数据处理后的大范围离散流场体数据底面为MNPQ,则可以分别求其与OA的夹角,其中最大角度对应的顶点为四个点中沿着OA方向的最低点,设其为M点,则通过角度来判断:
Figure FDA0002996124940000051
从M点引一条射线垂直于OA为G点,则切片中心范围为线段EG,G点坐标可以计算为:
Figure FDA0002996124940000052
步骤3中所述等间距切割弧形数据体为以E为起点基于某一设定的阈值d依次等间距切割线段EG,得到特征点{Pl|l=1,2,...,L},设地球的半径为R,数据处理后的大范围离散流场体数据的厚度为h=Alt1-Alt0,采样频率为f,则第l个特征点Pl的坐标为:
Figure FDA0002996124940000053
以Pl为中心垂直于射线AO进行切片,切片与数据处理后的大范围离散流场体数据内外弧面相交得到切面,其中切面与外球面相交的圆半径为ORl,切面与内球面相交的圆半径为IRl,则经过Pl的切面的内外半径可以计算为:
Figure FDA0002996124940000054
步骤3中所述构建二 维局部坐标系为以Pl为中心构建二维局部坐标系,根据切片阈值θ对切片圆进行采样,得到特征点{Qs|s=1,2,...,S},设圆形切面的半径为r,r为外圆半径ORl或内圆半径IRl,对于切片特征点Qs二维平面坐标为:
Figure FDA0002996124940000055
切片特征点Qs根据七参数转换方法可以求得切片特征点Qs的三维笛卡尔几何坐标为:
Figure FDA0002996124940000061
其中,
Figure FDA0002996124940000062
是二维平面坐标系的原点对应的空间几何坐标点,xs和ys是二维平面坐标,
Figure FDA0002996124940000063
Figure FDA0002996124940000064
是纹理坐标方向向量参数,scaleX和scaleY是缩放参数;
根据步骤2中数据体转换将切片特征点Qs的三维笛卡尔几何坐标转换为球面坐标:
s,n,m(i,j,l),βs,n,m(i,j,l),γs,n,m(i,j,l))
其中,n∈[1,N],m∈[1,M],i∈[1,Column],j∈[1,Row],l∈[1,Level]。
5.根据权利要求4所述的基于GPU的大范围离散流场体绘制方法,其特征在于:步骤4中所述切片特征点的球面坐标为根据步骤3中获得的特征点球面坐标为(αs,n,m(i,j,l),βs,n,m(i,j,l),γs,n,m(i,j,l)),则特征点的纹理坐标为:
Figure FDA0002996124940000065
其中,(Lon0,Lon1)为步骤2中所述建立多级数据索引的大范围离散流场体数据的经度范围,(Lat0,Lat1)为步骤2中所述建立多级数据索引的大范围离散流场体数据的纬度范围,(Alt0,Alt1)为步骤2中所述建立多级数据索引的大范围离散流场体数据的高度范围;
若当前相机状态下的预积分表不存在则通过预积分转换函数构建颜色和透明度查找表,在当前动画帧状态下,将步骤3中所述线段EG的采样阈值d减半从而增加步骤3中所述采样频率f;
若当前相机状态下的预积分查找表存在,则通过步骤3中所述线段EG的采样阈值d射线EG段进行采样,并通过查找预积分表来获取颜色和透明度值。
CN201810401943.3A 2018-04-28 2018-04-28 一种基于gpu的大范围离散流场体绘制方法 Active CN108665524B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810401943.3A CN108665524B (zh) 2018-04-28 2018-04-28 一种基于gpu的大范围离散流场体绘制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810401943.3A CN108665524B (zh) 2018-04-28 2018-04-28 一种基于gpu的大范围离散流场体绘制方法

Publications (2)

Publication Number Publication Date
CN108665524A CN108665524A (zh) 2018-10-16
CN108665524B true CN108665524B (zh) 2021-09-24

Family

ID=63781331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810401943.3A Active CN108665524B (zh) 2018-04-28 2018-04-28 一种基于gpu的大范围离散流场体绘制方法

Country Status (1)

Country Link
CN (1) CN108665524B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109741436B (zh) * 2018-12-04 2023-06-06 北京世纪高通科技有限公司 一种渲染矢量数据的方法及装置
CN109684431B (zh) * 2018-12-18 2019-10-22 中国气象局气象探测中心 一种可交互的气象探测能力三维可视化展示系统
CN113421336B (zh) * 2021-08-23 2021-11-09 武汉幻城经纬科技有限公司 动态水域的体绘制方法及装置、存储介质、电子设备
CN116630567B (zh) * 2023-07-24 2023-09-29 中国电子科技集团公司第十五研究所 面向数字地球的椭球路线型切片的几何建模及渲染方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129711A (zh) * 2011-03-24 2011-07-20 南昌航空大学 基于gpu构架的点线光流场三维重建方法
CN102999936A (zh) * 2012-11-19 2013-03-27 北京中海新图科技有限公司 一种海洋流场数据的三维流线体绘制算法
CN103761761A (zh) * 2014-01-21 2014-04-30 中国科学院遥感与数字地球研究所 基于地球球体模型的海洋标量场体绘制方法
CN104599311A (zh) * 2013-10-31 2015-05-06 镇江华扬信息科技有限公司 基于gpu的三维医学图像混合可视化系统
CN104867186A (zh) * 2015-04-29 2015-08-26 中国海洋大学 基于gpu的可交互海洋三维流场动态可视化算法
CN107481312A (zh) * 2016-06-08 2017-12-15 腾讯科技(深圳)有限公司 一种基于体绘制的图像渲染及装置
CN107633546A (zh) * 2017-09-14 2018-01-26 中国海洋大学 基于gpu的可交互三维流场自适应分辨率动态可视化算法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8780122B2 (en) * 2009-09-16 2014-07-15 Nvidia Corporation Techniques for transferring graphics data from system memory to a discrete GPU
US8885885B2 (en) * 2012-10-05 2014-11-11 International Business Machines Corporation Multi-cue object association

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129711A (zh) * 2011-03-24 2011-07-20 南昌航空大学 基于gpu构架的点线光流场三维重建方法
CN102999936A (zh) * 2012-11-19 2013-03-27 北京中海新图科技有限公司 一种海洋流场数据的三维流线体绘制算法
CN104599311A (zh) * 2013-10-31 2015-05-06 镇江华扬信息科技有限公司 基于gpu的三维医学图像混合可视化系统
CN103761761A (zh) * 2014-01-21 2014-04-30 中国科学院遥感与数字地球研究所 基于地球球体模型的海洋标量场体绘制方法
CN104867186A (zh) * 2015-04-29 2015-08-26 中国海洋大学 基于gpu的可交互海洋三维流场动态可视化算法
CN107481312A (zh) * 2016-06-08 2017-12-15 腾讯科技(深圳)有限公司 一种基于体绘制的图像渲染及装置
CN107633546A (zh) * 2017-09-14 2018-01-26 中国海洋大学 基于gpu的可交互三维流场自适应分辨率动态可视化算法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于时空一致性的非结构化网格时变流场高效体绘制方法;马千里;《计算机辅助设计与图形学学报》;20111130;第1816-1824页 *
大规模数据快速体绘制方法的设计与实现;周琳娜;《计算机工程与设计》;20091231;第5437-5461页 *

Also Published As

Publication number Publication date
CN108665524A (zh) 2018-10-16

Similar Documents

Publication Publication Date Title
CN108665524B (zh) 一种基于gpu的大范围离散流场体绘制方法
US7123260B2 (en) System and method for synthetic vision terrain display
Kaufman et al. Volume graphics
CN109410307A (zh) 一种场景点云语义分割方法
Ruzinoor et al. A review on 3D terrain visualization of GIS data: techniques and software
JPH09504388A (ja) 気象シミュレーションシステム
CN113436308B (zh) 一种三维环境空气质量动态渲染方法
Hwa et al. Adaptive 4-8 texture hierarchies
CN115115797B (zh) 大场景稀疏光场语义驱动智能重建方法、系统与装置
CN111028335B (zh) 一种基于深度学习的点云数据的分块面片重建方法
CN108717729A (zh) 一种面向虚拟地球的地形多尺度tin在线可视化方法
CN109544683A (zh) 基于倾斜摄影数据的城市建筑群地震反应动态可视化方法
CN110084740B (zh) 一种基于规格化结构的球面图像生成及转换方法
Westerteiger et al. Spherical Terrain Rendering using the hierarchical HEALPix grid
Zhang et al. An efficient dynamic volume rendering for large-scale meteorological data in a virtual globe
CN116402973A (zh) 一种基于lod重构的倾斜摄影模型优化方法、系统
Boudon et al. Survey on computer representations of trees for realistic and efficient rendering
Anderson et al. Voyager: an interactive software for visualizing large, geospatial data sets
CN102364522B (zh) 一种基于全球划分的大规模气象体数据绘制方法
Hibbard 4-d display of meteorological data
CN113327314B (zh) 一种基于层次的覆盖全空域的云表示与实时绘制方法
Kaufman State-of-the-art in volume graphics
CN114549714A (zh) 基于WebGL三维风向图可视化的渲染方法
US20110074777A1 (en) Method For Displaying Intersections And Expansions of Three Dimensional Volumes
CN116310226B (zh) 三维对象层级模型生成方法、装置、设备和存储介质

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
GR01 Patent grant
GR01 Patent grant