CN110008387A - 流场可视化实现方法、装置及电子设备 - Google Patents

流场可视化实现方法、装置及电子设备 Download PDF

Info

Publication number
CN110008387A
CN110008387A CN201910304984.5A CN201910304984A CN110008387A CN 110008387 A CN110008387 A CN 110008387A CN 201910304984 A CN201910304984 A CN 201910304984A CN 110008387 A CN110008387 A CN 110008387A
Authority
CN
China
Prior art keywords
vertex
particle
derivative
vector
flow
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
Application number
CN201910304984.5A
Other languages
English (en)
Other versions
CN110008387B (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.)
Chengdu Sefon Software Co Ltd
Original Assignee
Chengdu Sefon Software Co Ltd
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 Chengdu Sefon Software Co Ltd filed Critical Chengdu Sefon Software Co Ltd
Priority to CN201910304984.5A priority Critical patent/CN110008387B/zh
Publication of CN110008387A publication Critical patent/CN110008387A/zh
Application granted granted Critical
Publication of CN110008387B publication Critical patent/CN110008387B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请实施例提供一种流场可视化实现方法、装置及电子设备,通过计算流场模型中各个顶点的导数得到顶点的矢量数据,在流场模型随机产生的多个粒子中,根据各粒子当前时刻的位置信息以及与该粒子相邻的顶点的矢量数据计算得到该粒子下一时刻的位置信息。根据计算出的位置信息移动粒子,并记录粒子的移动轨迹。根据各个粒子的移动轨迹得到基于流场模型的粒子流场。如此,通过计算各顶点的矢量数据的方式,获得各个顶点的偏向,后续粒子在模型表面移动时,则可根据与粒子相邻的顶点的矢量数据确定粒子的偏向,从而移动粒子。该方案基于流场模型的顶点的矢量数据实现粒子的移动,可适用于任意形状的流场模型。

Description

流场可视化实现方法、装置及电子设备
技术领域
本申请涉及可视化技术领域,具体而言,涉及一种流场可视化实现方法、装置及电子设备。
背景技术
在流场可视化的科学数据可视化当中,可视化方法越来越多,针对流场数据的应用场景也越来越复杂。应用场景的复杂化也导致对流场可视化的要求越来越高,其实现难度也越来越大。目前流场可视化大多针对形状比较规则且能够通过数学建模的方式计算出当前空间模型的流场模型,通过其数学模型来映射当前的流场格点数据。当前应用场景在常规二维平面、三维球面以及三维体素空间体内,其空间结构通过简单的二维平面和三维球面数学模型即可计算。而对于不规则曲面的模型,由于其没有固定的数学模型,则传统的方式难以实现基于不规则曲面模型的流场可视化。
发明内容
有鉴于此,本申请的目的在于,提供一种流场可视化实现方法、装置及电子设备以改善上述问题。
本申请实施例提供一种流场可视化实现方法,所述方法包括:
获取模型数据,根据所述模型数据建立流场模型,其中,所述模型数据包括多个顶点数据,所述流场模型包括多个顶点;
根据各所述顶点数据计算对应顶点的导数,根据所述导数得到该顶点的矢量数据;
在所述流场模型中随机产生多个粒子,针对各所述粒子,根据所述粒子当前时刻的位置信息以及与所述粒子相邻的顶点的矢量数据计算得到所述粒子下一时刻的位置信息;
根据每个粒子下一时刻的位置信息移动所述粒子,并记录所述粒子的移动轨迹;
根据各所述粒子的移动轨迹得到基于所述流场模型的粒子流场。
可选地,所述流场模型的表面包括多条网格线,任意两条相交的网格线的交点形成一个所述顶点,所述根据各所述顶点数据计算对应顶点的导数的步骤,包括:
针对每个所述顶点,获得所述顶点所在的网格线上的相邻顶点;
根据所述顶点的坐标信息及所述相邻顶点的坐标信息计算得到所述顶点的导数。
可选地,所述多条网格线包括第一方向上的网格线及第二方向上的网格线,所述第一方向与所述第二方向垂直,所述根据所述顶点的坐标信息及所述相邻顶点的坐标信息计算得到所述顶点的导数的步骤,包括:
获得所述顶点及所述相邻顶点在所在网格线的方向上的第一坐标;
获得所述顶点及所述相邻顶点在第三方向上的第二坐标,其中,所述第三方向垂直于所述第一方向及第二方向所在的平面;
根据所述顶点的第一坐标和第二坐标,以及所述相邻顶点的第一坐标和第二坐标,计算得到所述顶点的导数。
可选地,所述第一坐标包括所述第一方向上的第一坐标及所述第二方向上的第一坐标,所述顶点的导数包括所述第一方向上的导数及所述第二方向上的导数,所述根据所述导数得到该顶点的矢量数据的步骤,包括:
对所述顶点的第一方向的导数和第二方向的导数进行归一化处理;
根据归一化处理得到的第一方向的导数及第二方向的导数构成方向向量,该方向向量为所述顶点的矢量数据。
可选地,所述多条网格线相交形成多个网格,所述根据所述粒子当前时刻的位置信息以及与所述粒子相邻的顶点的矢量数据计算得到所述粒子下一时刻的位置信息的步骤,包括:
获取所述粒子所在的网格,并获得所述网格的多个顶点,该多个顶点为与所述粒子相邻的顶点;
根据所述多个顶点中各所述顶点的矢量数据计算得到所述粒子当前时刻所处位置对应的矢量数据;
根据所述粒子当前时刻的位置信息以及计算得到的所述矢量数据计算得到所述粒子下一时刻的位置信息。
可选地,所述根据所述多个顶点中各所述顶点的矢量数据计算得到所述粒子当前时刻所处位置对应的矢量数据的步骤,包括:
根据所述粒子当前时刻所处位置及所述多个顶点中各所述顶点的位置,获得所述粒子与各所述顶点的相对距离;
根据所述粒子与各所述顶点的相对距离计算得到插值系数;
根据所述插值系数以及各所述顶点的矢量数据计算得到所述粒子当前时刻所处位置对应的矢量数据。
可选地,所述方法还包括:
获得所述顶点在所述第一方向上的相邻顶点,以及所述顶点在所述第二方向上的相邻顶点;
获得连接所述顶点及所述第一方向上的相邻顶点的第一向量,以及连接所述顶点及所述第二方向上的相邻顶点的第二向量;
计算所述第一向量和所述第二向量的叉积,得到包含所述第一向量和所述第二向量的平面的法向量。
可选地,所述方法还包括:
针对各所述粒子,统计所述粒子从产生时刻开始的移动时长;
在所述移动时长超过预设时长时,删除所述粒子。
本申请另一实施例还提供一种流程可视化实现装置,所述装置包括:
建立模块,用于获取模型数据,根据所述模型数据建立流场模型,其中,所述模型数据包括多个顶点数据,所述流场模型包括多个顶点;
第一计算模块,用于根据各所述顶点数据计算对应顶点的导数,根据所述导数得到该顶点的矢量数据;
第二计算模块,用于在所述流场模型中随机产生多个粒子,针对各所述粒子,根据所述粒子当前时刻的位置信息以及与所述粒子相邻的顶点的矢量数据计算得到所述粒子下一时刻的位置信息;
记录模块,用于根据每个粒子下一时刻的位置信息移动所述粒子,并记录所述粒子的移动轨迹;
粒子流场获得模块,用于根据各所述粒子的移动轨迹得到基于所述流场模型的粒子流场。
本申请另一实施例还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法。
本申请实施例提供的流场可视化实现方法、装置及电子设备,通过计算流场模型中各个顶点的导数得到顶点的矢量数据,在流场模型中随机产生的多个粒子中,根据各粒子当前时刻的位置信息以及与该粒子相邻的顶点的矢量数据计算得到该粒子下一时刻的位置信息。根据计算出的位置信息移动粒子,并记录粒子的移动轨迹。根据各个粒子的移动轨迹得到基于流场模型的粒子流场。如此,通过计算各顶点的矢量数据的方式,获得各个顶点的偏向,后续粒子在模型表面移动时,则可根据与粒子相邻的顶点的矢量数据确定粒子的偏向,从而移动粒子。该方案基于流场模型的顶点的矢量数据实现粒子的移动,可适用于任意形状的流场模型。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的电子设备的示意性结构框图。
图2为本申请实施例提供的流场可视化实现方法的流程图。
图3为图2中步骤220的子步骤的流程图。
图4为本申请实施例提供的流场可视化实现方法的另一流程图。
图5为图2中步骤230的子步骤的流程图。
图6为图5中步骤232的子步骤的流程图。
图7为本申请实施例提供的流场可视化实现装置的功能模块框图。
图标:10-电子设备;110-处理器;120-存储器;130-存储控制器;140-流场可视化实现装置;141-建立模块;142-第一计算模块;143-第二计算模块;144-记录模块;145-粒子流场获得模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
请参照图1,是本申请较佳实施例提供的电子设备10的示意性结构框图。如图1所示,所述电子设备10包括流场可视化实现装置140、存储器120、存储控制器130以及处理器110。这些组件通过一条或多条通信总线/信号线相互通信。
存储器120可以用于存储软件程序以及模块,如本申请实施例中的流场可视化实现装置140中对应的程序指令/模块,处理器110通过运行存储在存储器120内的软件程序以及模块,从而执行各种功能应用以及数据处理,如本申请实施例提供的流场可视化实现方法。
所述存储器120可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。处理器110以及其他可能的组件对存储器120的访问可在存储控制器130的控制下进行。
所述处理器110可能是一种集成电路芯片,具有信号的处理能力。上述处理器110可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等,以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
于本申请实施例中,所述电子设备10可以是服务器、个人电脑(personalcomputer,PC)、平板电脑、智能手机。
可以理解,图1所示的结构仅为示意,电子设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
结合图2,本申请实施例还提供一种可应用于上述电子设备10的流场可视化实现方法。其中,所述方法有关的流程所定义的方法步骤可以由所述处理器110实现。下面将对图2所示的具体流程进行详细阐述。
步骤210,获取模型数据,根据所述模型数据建立流场模型,其中,所述模型数据包括多个顶点数据,所述流场模型包括多个顶点。
本实施例中,可通过自模拟的方式建立流场模型,也可以通过接入外部真实矢量场数据的方式来建立流场模型。其中,通过自模拟的方式建立流场模型时,可构建模型数据,其中该模型数据中包括多个顶点数据。根据获得的模型数据建立流场模型,则构建的流场模型包括多个顶点。本实施例中建立的流场模型可以包括,但不限于曲面、平面、不规则曲面等任意形状的流场模型。而采用接入外部真实矢量场数据的方式时,可获得以数据文件格式所输入的模型数据,其中,该数据文件格式可以是NC、TXT、GRIB2等格式。通过对接入的数据文件进行解析获得其中的模型数据,并根据获得的模型数据建立流场模型。
步骤220,根据各所述顶点数据计算对应顶点的导数,根据所述导数得到该顶点的矢量数据。
本实施例中,所述流场模型的表面包括多条网格线,任意两条网格线之间的交点形成一个所述顶点。可通过各个顶点数据计算顶点的导数,确定顶点的矢量数据,从而获得顶点的偏向。请参阅图3,在本实施例中,可通过以下步骤计算得到各个顶点的矢量数据:
步骤221,针对每个所述顶点,获得所述顶点所在的网格线上的相邻顶点。
步骤222,根据所述顶点的坐标信息及所述相邻顶点的坐标信息计算得到所述顶点的导数。
由上述可知,流场模型的表面划分有多条网格线,而任意两条相交的网格线的交点形成一个顶点。其中,该多条网格线中包括第一方向上的网格线及第二方向上的网格线,第一方向和第二方向垂直。可以理解为,第一方向为三维坐标系中的X方向,第二方向为三维坐标系中的Z方向。在X方向上,每相邻两条网格线的间距相等,在Z方向上每相邻两条网格线的间距相等,多条网格线相交将形成多个网格。
针对每个顶点,则获得该顶点所在的网格线上的相邻顶点,例如获得该顶点所在的X方向上的网格线上的左、右两个相邻顶点,以及获得该顶点所在的Z方向上的网格线上的上、下两个相邻顶点。再根据该顶点的坐标信息以及获得的相邻顶点的坐标信息计算得到该顶点的导数。
可选地,获得待计算的顶点及获得的相邻顶点在所在网格线的方向上的第一坐标。获得该顶点及相邻顶点在第三方向上的第二坐标,其中,第三方向垂直于第一方向及第二方向所在的平面。可以理解为,第三方向为三维坐标系中的Y方向。根据该顶点的第一坐标和第二坐标,以及相邻顶点的第一坐标和第二坐标,计算得到该顶点的导数。
本实施例中,针对顶点所在的X方向上的网格线的相邻顶点而言,可获得该顶点在X方向的网格线的左、右两个顶点,例如可将待计算的顶点标记为Acenter,左、右两个相邻顶点分别标记为Aleft、Aright,获得相邻顶点Aleft在X方向上的坐标值Xleft以及在Y方向上的坐标值Yleft,并获得相邻顶点Aright在X方向上的坐标值Xright以及在Y方向上的坐标值Yright。再根据获得的X方向的坐标值及Y方向的坐标值,按以下公式获得待计算的顶点Acenter基于X方向的导数:
而针对顶点所在的Z方向上的网格线的相邻顶点而言,和上述计算该顶点在X方向上的导数的方式相同,可按上述方式计算得到待计算的顶点基于Z方向的导数。
通过以上过程,可获知第一坐标包括第一方向(X方向)上的第一坐标以及第二方向(Z方向)上的第一坐标。计算得到的顶点的导数包括第一方向上的导数及第二方向上的导数。根据得到的第一方向上的导数及第二方向上的导数即可获得顶点的矢量数据。
可选地,对所述顶点的第一方向上的导数和第二方向上的导数进行归一化处理。如此,可避免由于第一方向和第二方向上的坐标轴的数据标准不一而造成的计算结果误差的问题。再根据归一化处理得到的第一方向的导数及第二方向的导数构成方向向量,该方向向量为所述顶点的矢量数据。
即所述顶点的矢量数据由该顶点基于X方向的导数以及基于Z方向上的导数所构成。
由上述可知,本实施例中所构建的流场模型可以是基于自模拟的模型数据所构建的,也可以是基于接入的外部真实矢量数据所构建的。无论基于何种数据所构建的流场模型,在经过上述步骤计算得到流场模型中各个顶点的矢量数据之后,则可将计算得到的矢量数据保存至相应的数据表中,后续需要使用时,则可直接从对应的数据表中调用对应数据。
请参阅图4,可选地,本实施例提供的流场可视化实现方法还可包括以下步骤:
步骤410,获得所述顶点在所述第一方向上的相邻顶点,以及所述顶点在所述第二方向上的相邻顶点。
步骤420,获得连接所述顶点及所述第一方向上的相邻顶点的第一向量,以及连接所述顶点及所述第二方向上的相邻顶点的第二向量。
步骤430,计算所述第一向量和所述第二向量的叉积,得到包含所述第一向量和所述第二向量的平面的法向量。
针对流场模型中的各个顶点,获得顶点在第一方向上的相邻顶点及第二方向上的相邻顶点,即获得顶点在X方向上的左、右两个相邻顶点,以及在Z方向上的上、下两个相邻顶点。连接X方向上的两个相邻顶点则可获得连接该两相邻顶点的第一向量,并且连接Z方向上的两个相邻顶点则可获得连接该相邻顶点的第二向量。
其中,包含第一向量和第二向量的平面可以视为所述顶点处斜率切平面的近似值。计算所述第一向量和第二向量的叉积,计算得到的结果即为包含该第一向量和第二向量的平面的法向量。在流场模型初始建立的时候,各个顶点的法向量是根据预设算法计算得到,该预设算法为现有技术中的基于平面模型的法向量计算方法,在针对不规则曲面模型中的点的法向量计算时存在误差。因此,本实施例通过上述的法向量计算方式计算得到准确度较高的法向量,对初始计算得到的法向量进行重置。
步骤230,在所述流场模型中随机产生多个粒子,针对各所述粒子,根据所述粒子当前时刻的位置信息以及与所述粒子相邻的顶点的矢量数据计算得到所述粒子下一时刻的位置信息。
步骤240,根据每个粒子下一时刻的位置信息移动所述粒子,并记录所述粒子的移动轨迹。
步骤250,根据各所述粒子的移动轨迹得到基于所述流场模型的粒子流场。
本实施例中,通过以上步骤获得流场模型以及流场模型中各个顶点的矢量数据之后,可在流场模型中随机产生多个粒子,该多个粒子随机分布在流场模型的各个顶点之间。由于先前只是计算了各个顶点的矢量数据,而产生的粒子所处的位置不一定刚好处于流场模型的顶点位置处,并且粒子的运动也不仅限于顶点与顶点之间,因此,需要借助顶点的矢量数据获得粒子所处位置的矢量数据,从而确定粒子的运动方向及大小。
可选地,请参阅图5,在本实施例中,针对各个粒子,可基于粒子当前时刻的位置信息以及与粒子相邻的顶点的矢量数据计算得到粒子下一时刻的位置信息,具体步骤如下:
步骤231,获取所述粒子所在的网格,并获得所述网格的多个顶点,该多个顶点为与所述粒子相邻的顶点。
步骤232,根据所述多个顶点中各所述顶点的矢量数据计算得到所述粒子当前时刻所处位置对应的矢量数据。
步骤233,根据所述粒子当前时刻的位置信息以及计算得到的所述矢量数据计算得到所述粒子下一时刻的位置信息。
由上述可知,流场模型上的多条网格线相交形成多个网格,而针对随机产生的各个粒子,一般是处于某个网格之中或者是刚好处于某个顶点处。若处于某个顶点处,则可直接根据该顶点的矢量数据获得粒子的矢量数据,从而实现粒子的移动。而处于某个网格之中时,则需要通过计算得到粒子所处位置的矢量数据。
可获得粒子所在的网格,并获得该网格的多个顶点,该多个顶点即为与该粒子相邻的顶点。其中,应当理解,与粒子相邻的顶点的数量为四个。可根据该多个顶点中各个顶点的矢量数据计算得到粒子当前时刻所处位置对应的矢量数据,可选地,请参阅图6,具体可通过以下步骤实现:
步骤2321,根据所述粒子当前时刻所处位置及所述多个顶点中各所述顶点的位置,获得所述粒子与各所述顶点的相对距离。
步骤2322,根据所述粒子与各所述顶点的相对距离计算得到插值系数。
步骤2323,根据所述插值系数以及各所述顶点的矢量数据计算得到所述粒子当前时刻所处位置对应的矢量数据。
本实施例中,在确定粒子所处的网格后,由于粒子不一定处于该网格的正中间位置,因此,该粒子相对于各个相邻顶点而言,其相对距离并不相等。则在根据各个相邻的顶点的矢量数据计算该粒子所处位置的矢量数据时,各个顶点对该粒子的计算结果的贡献度也不相等。因此,本实施例中,可根据粒子当前时刻所处位置及多个顶点中各个顶点的位置,获得粒子与各个顶点的相对距离。
根据粒子相对于各个顶点的相对距离计算得到对应的插值系数,再根据计算得到的插值系数以及各顶点的矢量数据计算得到粒子当前时刻所处位置对应的矢量数据。其中,该过程采用现有常用的线性插值法实现,具体过程在此不作赘述。
在计算得到粒子当前时刻所处位置的矢量数据之后,则可确定粒子下一时刻(即下一帧)的偏移量。可根据粒子当前时刻的位置信息以及计算得到的矢量数据计算得到粒子下一时刻的位置信息。具体地,可利用粒子当前时刻的位置信息加上计算得到的矢量数据及时间t之间的乘积,得到的和即为下一时刻的位置信息。其中,时间t为当前时刻和下一时刻之间的时间差。
根据每个粒子下一时刻的位置信息对粒子进行移动,并记录下粒子的运动轨迹,例如,可通过在粒子运动轨迹上添加绘制尾迹,则在粒子的运动过程中将产生流线。通过粒子的不断运动,形成的尾迹越来越长,对当前流场模型中的所有粒子均作相同处理,则形成一个基于流场模型的流线场,即可实现不规则曲面的粒子流场。
在本实施例中,每个粒子均具有生命周期,在不断加入新的粒子的同时也会淘汰部分粒子,以避免粒子陷入某些区域停滞不前,影响流场形成。可选地,针对各个粒子,统计该粒子从产生时刻开始的移动时长,在其移动时长超过预设时长时,则删除粒子。如此,将一些投入时长较长的粒子淘汰,并不断投入新的粒子,有利于形成效果更好的流线场。
请参阅图7,本申请另一实施例还提供一种应用于上述电子设备10的流场可视化实现装置140,所述装置包括建立模块141、第一计算模块142、第二计算模块143、记录模块144以及粒子流场获得模块145。
建立模块141,用于获取模型数据,根据所述模型数据建立流场模型,其中,所述模型数据包括多个顶点数据,所述流场模型包括多个顶点。具体地,所述建立模块141可以用于执行图2中所示的步骤210,具体的操作方法可以参考步骤210的详细描述。
第一计算模块142,用于根据各所述顶点数据计算对应顶点的导数,根据所述导数得到该顶点的矢量数据。具体地,所述第一计算模块142可以用于执行图2中所示的步骤220,具体的操作方法可以参考步骤220的详细描述。
第二计算模块143,用于在所述流场模型中随机产生多个粒子,针对各所述粒子,根据所述粒子当前时刻的位置信息以及与所述粒子相邻的顶点的矢量数据计算得到所述粒子下一时刻的位置信息。具体地,所述第二计算模块143可以用于执行图2中所示的步骤230,具体的操作方法可以参考步骤230的详细描述。
记录模块144,用于根据每个粒子下一时刻的位置信息移动所述粒子,并记录所述粒子的移动轨迹。具体地,所述记录模块144可以用于执行图2中所示的步骤240,具体的操作方法可以参考步骤240的详细描述。
粒子流场获得模块145,用于根据各所述粒子的移动轨迹得到基于所述流场模型的粒子流场。具体地,所述粒子流场获得模块145可以用于执行图2中所示的步骤250,具体的操作方法可以参考步骤250的详细描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
综上所述,本申请实施例提供的流场可视化实现方法、装置及电子设备10,通过计算流场模型中各个顶点的导数得到顶点的矢量数据,在流场模型中随机产生的多个粒子中,根据各粒子当前时刻的位置信息以及与该粒子相邻的顶点的矢量数据计算得到该粒子下一时刻的位置信息。根据计算出的位置信息移动粒子,并记录粒子的移动轨迹。根据各个粒子的移动轨迹得到基于流场模型的粒子流场。如此,通过计算各顶点的矢量数据的方式,获得各个顶点的偏向,后续粒子在模型表面移动时,则可根据与粒子相邻的顶点的矢量数据确定粒子的偏向,从而移动粒子。该方案基于流场模型的顶点的矢量数据实现粒子的移动,可适用于任意形状的流场模型。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种流场可视化实现方法,其特征在于,所述方法包括:
获取模型数据,根据所述模型数据建立流场模型,其中,所述模型数据包括多个顶点数据,所述流场模型包括多个顶点;
根据各所述顶点数据计算对应顶点的导数,根据所述导数得到该顶点的矢量数据;
在所述流场模型中随机产生多个粒子,针对各所述粒子,根据所述粒子当前时刻的位置信息以及与所述粒子相邻的顶点的矢量数据计算得到所述粒子下一时刻的位置信息;
根据每个粒子下一时刻的位置信息移动所述粒子,并记录所述粒子的移动轨迹;
根据各所述粒子的移动轨迹得到基于所述流场模型的粒子流场。
2.根据权利要求1所述的流场可视化实现方法,其特征在于,所述流场模型的表面包括多条网格线,任意两条相交的网格线的交点形成一个所述顶点,所述根据各所述顶点数据计算对应顶点的导数的步骤,包括:
针对每个所述顶点,获得所述顶点所在的网格线上的相邻顶点;
根据所述顶点的坐标信息及所述相邻顶点的坐标信息计算得到所述顶点的导数。
3.根据权利要求2所述的流场可视化实现方法,其特征在于,所述多条网格线包括第一方向上的网格线及第二方向上的网格线,所述第一方向与所述第二方向垂直,所述根据所述顶点的坐标信息及所述相邻顶点的坐标信息计算得到所述顶点的导数的步骤,包括:
获得所述顶点及所述相邻顶点在所在网格线的方向上的第一坐标;
获得所述顶点及所述相邻顶点在第三方向上的第二坐标,其中,所述第三方向垂直于所述第一方向及第二方向所在的平面;
根据所述顶点的第一坐标和第二坐标,以及所述相邻顶点的第一坐标和第二坐标,计算得到所述顶点的导数。
4.根据权利要求3所述的流场可视化实现方法,其特征在于,所述第一坐标包括所述第一方向上的第一坐标及所述第二方向上的第一坐标,所述顶点的导数包括所述第一方向上的导数及所述第二方向上的导数,所述根据所述导数得到该顶点的矢量数据的步骤,包括:
对所述顶点的第一方向的导数和第二方向的导数进行归一化处理;
根据归一化处理得到的第一方向的导数及第二方向的导数构成方向向量,该方向向量为所述顶点的矢量数据。
5.根据权利要求2所述的流场可视化实现方法,其特征在于,所述多条网格线相交形成多个网格,所述根据所述粒子当前时刻的位置信息以及与所述粒子相邻的顶点的矢量数据计算得到所述粒子下一时刻的位置信息的步骤,包括:
获取所述粒子所在的网格,并获得所述网格的多个顶点,该多个顶点为与所述粒子相邻的顶点;
根据所述多个顶点中各所述顶点的矢量数据计算得到所述粒子当前时刻所处位置对应的矢量数据;
根据所述粒子当前时刻的位置信息以及计算得到的所述矢量数据计算得到所述粒子下一时刻的位置信息。
6.根据权利要求5所述的流场可视化实现方法,其特征在于,所述根据所述多个顶点中各所述顶点的矢量数据计算得到所述粒子当前时刻所处位置对应的矢量数据的步骤,包括:
根据所述粒子当前时刻所处位置及所述多个顶点中各所述顶点的位置,获得所述粒子与各所述顶点的相对距离;
根据所述粒子与各所述顶点的相对距离计算得到插值系数;
根据所述插值系数以及各所述顶点的矢量数据计算得到所述粒子当前时刻所处位置对应的矢量数据。
7.根据权利要求3所述的流场可视化实现方法,其特征在于,所述方法还包括:
获得所述顶点在所述第一方向上的相邻顶点,以及所述顶点在所述第二方向上的相邻顶点;
获得连接所述顶点及所述第一方向上的相邻顶点的第一向量,以及连接所述顶点及所述第二方向上的相邻顶点的第二向量;
计算所述第一向量和所述第二向量的叉积,得到包含所述第一向量和所述第二向量的平面的法向量。
8.根据权利要求1-7任意一项所述的流场可视化实现方法,其特征在于,所述方法还包括:
针对各所述粒子,统计所述粒子从产生时刻开始的移动时长;
在所述移动时长超过预设时长时,删除所述粒子。
9.一种流程可视化实现装置,其特征在于,所述装置包括:
建立模块,用于获取模型数据,根据所述模型数据建立流场模型,其中,所述模型数据包括多个顶点数据,所述流场模型包括多个顶点;
第一计算模块,用于根据各所述顶点数据计算对应顶点的导数,根据所述导数得到该顶点的矢量数据;
第二计算模块,用于在所述流场模型中随机产生多个粒子,针对各所述粒子,根据所述粒子当前时刻的位置信息以及与所述粒子相邻的顶点的矢量数据计算得到所述粒子下一时刻的位置信息;
记录模块,用于根据每个粒子下一时刻的位置信息移动所述粒子,并记录所述粒子的移动轨迹;
粒子流场获得模块,用于根据各所述粒子的移动轨迹得到基于所述流场模型的粒子流场。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-8任意一项所述的方法。
CN201910304984.5A 2019-04-16 2019-04-16 流场可视化实现方法、装置及电子设备 Active CN110008387B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910304984.5A CN110008387B (zh) 2019-04-16 2019-04-16 流场可视化实现方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910304984.5A CN110008387B (zh) 2019-04-16 2019-04-16 流场可视化实现方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN110008387A true CN110008387A (zh) 2019-07-12
CN110008387B CN110008387B (zh) 2020-09-01

Family

ID=67172380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910304984.5A Active CN110008387B (zh) 2019-04-16 2019-04-16 流场可视化实现方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN110008387B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112270732A (zh) * 2020-11-17 2021-01-26 Oppo广东移动通信有限公司 粒子动画的生成方法、处理装置、电子设备和存储介质
CN113159117A (zh) * 2021-03-11 2021-07-23 中国科学院计算机网络信息中心 流线生成方法及装置
CN115859755A (zh) * 2023-02-17 2023-03-28 中国空气动力研究与发展中心计算空气动力研究所 一种定常流场矢量数据的可视化方法、装置、设备及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003091738A (ja) * 2001-09-17 2003-03-28 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
CN103226804A (zh) * 2013-04-12 2013-07-31 山东大学 一种基于流线重心Voronoi图的流场可视化方法
US8793105B2 (en) * 2011-03-31 2014-07-29 The Procter & Gamble Company Systems and methods for airborne particle contamination control
CN104318591A (zh) * 2014-10-16 2015-01-28 南京师范大学 一种带边界平面流场的动态绘制方法
CN104881510A (zh) * 2015-02-13 2015-09-02 南京航空航天大学 一种直升机旋翼/尾桨气动干扰数值仿真方法
CN105844036A (zh) * 2016-03-30 2016-08-10 中国科学院地理科学与资源研究所 一种基于随机粒子的涡旋流场动态可视化方法
CN107871337A (zh) * 2016-09-26 2018-04-03 中国空气动力研究与发展中心高速空气动力研究所 一种超音速二维流场数据的可视化方法
CN109063279A (zh) * 2018-07-16 2018-12-21 南京信息工程大学 基于粒子流轨迹追踪算法的三维空间风场动态模拟方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003091738A (ja) * 2001-09-17 2003-03-28 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
US8793105B2 (en) * 2011-03-31 2014-07-29 The Procter & Gamble Company Systems and methods for airborne particle contamination control
CN103226804A (zh) * 2013-04-12 2013-07-31 山东大学 一种基于流线重心Voronoi图的流场可视化方法
CN104318591A (zh) * 2014-10-16 2015-01-28 南京师范大学 一种带边界平面流场的动态绘制方法
CN104881510A (zh) * 2015-02-13 2015-09-02 南京航空航天大学 一种直升机旋翼/尾桨气动干扰数值仿真方法
CN105844036A (zh) * 2016-03-30 2016-08-10 中国科学院地理科学与资源研究所 一种基于随机粒子的涡旋流场动态可视化方法
CN107871337A (zh) * 2016-09-26 2018-04-03 中国空气动力研究与发展中心高速空气动力研究所 一种超音速二维流场数据的可视化方法
CN109063279A (zh) * 2018-07-16 2018-12-21 南京信息工程大学 基于粒子流轨迹追踪算法的三维空间风场动态模拟方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张海超: "基于特征的复杂流场可视化方法研究与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112270732A (zh) * 2020-11-17 2021-01-26 Oppo广东移动通信有限公司 粒子动画的生成方法、处理装置、电子设备和存储介质
CN113159117A (zh) * 2021-03-11 2021-07-23 中国科学院计算机网络信息中心 流线生成方法及装置
CN115859755A (zh) * 2023-02-17 2023-03-28 中国空气动力研究与发展中心计算空气动力研究所 一种定常流场矢量数据的可视化方法、装置、设备及介质

Also Published As

Publication number Publication date
CN110008387B (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
CN109451532B (zh) 一种基站位置的核查方法及装置
CN110008387A (zh) 流场可视化实现方法、装置及电子设备
CN106484692B (zh) 一种三维模型检索方法
CN101799836B (zh) 电路模拟和分析中的自适应网格分解
CN103793178B (zh) 一种移动设备触摸屏中矢量图形编辑方法
CN110163087A (zh) 一种人脸姿态识别方法及系统
CN106846490B (zh) 一种弧面模型用于在3d场景进行展示的展示方法及装置
CN107741964A (zh) 一种兴趣点显示方法、装置、设备和介质
CN104267940A (zh) 一种基于cpu+gpu的地图切片的快速生成方法
CN115830010B (zh) 输电导线交叉跨越距离检测方法、装置和计算机设备
CN110503718A (zh) 三维工程模型轻量化显示方法
CN108074237A (zh) 图像清晰度检测方法、装置、存储介质及电子设备
CN109544702A (zh) 三维变换处理方法、装置、电子设备及存储介质
CN110689598A (zh) 一种多层道路三维建模方法及系统
CN107316298A (zh) 一种焊接间隙的实时测量方法、装置及电子设备
KR20230163921A (ko) 목표 대상의 상호작용적 재구성을 위한 제어 방법, 장치, 기기 및 저장 매체
CN108664860A (zh) 房间平面图的识别方法及装置
CN112465141A (zh) 模型压缩方法、装置、电子设备及介质
CN110530375A (zh) 机器人自适应定位方法、定位装置、机器人及存储介质
CN110309240A (zh) 去除动态目标的方法和装置
CN107992495A (zh) 数据分析方法及装置
CN108053464A (zh) 粒子特效处理方法及装置
CN109493423B (zh) 三维地球模型表面两点的中点位置的计算方法和装置
CN107393019B (zh) 一种基于粒子的布料模拟方法与装置
CN107657663A (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