CN115099025A - 在流体模型中计算流体流速的方法、电子设备及存储介质 - Google Patents
在流体模型中计算流体流速的方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115099025A CN115099025A CN202210703762.2A CN202210703762A CN115099025A CN 115099025 A CN115099025 A CN 115099025A CN 202210703762 A CN202210703762 A CN 202210703762A CN 115099025 A CN115099025 A CN 115099025A
- Authority
- CN
- China
- Prior art keywords
- flow velocity
- polyhedron
- fluid
- polygon
- velocity vector
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/08—Fluids
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于游戏开发技术领域,具体公开了一种在封闭的流体模型中计算流体流速的方法。该方法包括:计算待处理流体模型内的任意点P的流速向量Vp,包括:根据任意点P的坐标数据确定任意点P所在的第一多面体或多边形,获取第一多面体或第一多边形的各个顶点Zi的坐标数据,其中i为正整数,用于指示不同的顶点;获取第一多面体或多边形的每个顶点Zi的流速向量V0i;根据任意点P的坐标数据计算任意点P在第一多面体或多边形中的重心坐标M;根据第一多面体或第一多边形的每个顶点Zi的流速向量V0i和重心坐标M计算任意点P的流速向量Vp。本发明的优点在于可以实现游戏场景中的水体部分的流动效果,包括水体中漂浮物的运动效果。
Description
技术领域
本发明涉及游戏开发技术领域,尤其涉及了一种在流体模型中计算流体流速的方法、电子设备、存储介质以及计算机程序产品。
背景技术
电子游戏发展至今,其制作越来越精美,游戏画面的真实感越来越接近实际情况,给游戏用户带来了比较好的使用体验。当然,其中也存在令人感到遗憾的方面。例如,在游戏的3D画面中,水体的模拟效果还不能尽如人意。
在现有的游戏画面中,水体的动态图像普遍存在对水体的流动性特征体现不佳的情况。例如,较为平静的水面上,微澜的波动的通常显示的比较僵硬,令人感受并不逼真;或者,落入流水中的树叶静止在水面上,而不会随水流而流动,显得很违背常识。
虽然在游戏领域以外,也存在一些技术可以精细地模拟液体流动的样子,但是这些技术需要消耗的软硬件性能比较巨大,对于电子游戏,尤其是多人同时在线的大型游戏来说,上述的技术不具备实用性,无法应用。
因此,亟需提出一种可以模拟水体效果,同时又能适应电子游戏行业的特殊性的水体模拟方法。
发明内容
为了解决上述缺陷,设计一种简单有效的、适合游戏环境的流速计算方法,本发明提出了一种在流体模型中计算流体流速的方法,该方法包括:
预处理步骤,选取所述流体模型中的至少一部分并设定为待处理流体模型,设置至少一个多面体或多边形,所述至少一个多面体或多边形的集合将所述待处理流体模型包围在所述至少一个多面体或多边形的集合内,并且,为所述至少一个多面体或多边形的集合中的每一个多面体或多边形的每个顶点配置流速向量V0;
计算步骤,计算所述待处理流体模型内的任意点P的流速向量Vp,包括:
根据所述任意点P的坐标数据确定所述任意点P所在的第一多面体或多边形,获取所述第一多面体或第一多边形的各个顶点Zi的坐标数据,其中i为正整数,用于指示不同的顶点;
获取所述第一多面体或多边形的每个顶点Zi的流速向量V0i;
根据所述任意点P的坐标数据计算所述任意点P在所述第一多面体或多边形中的重心坐标M;
根据所述第一多面体或第一多边形的每个顶点Zi的流速向量V0i和所述重心坐标M计算所述任意点P的流速向量Vp。
上述的计算方法中,所述预处理步骤包括:
获取所述待处理流体模型在世界坐标系中的坐标数据;
设置多个流速探针,所述流速探针所包围的探针空间包含所述待处理流体模型;
以所述流速探针为顶点,构造至少一个多面体或多边形,使得所述待处理流体模型位于所述至少一个多面体或多边形的内部;
配置所述流速探针的流速向量V0,所述流速向量V0指示所述流速探针处的流体的流速以及方向。
上述的计算方法中,所述预处理步骤根据需求能够多次执行,其中包括调整所述流速探针的数量和位置。
上述的计算方法中,所述预处理步骤中,所述探针空间为多个所述流速探针所包围成的最小凸包。
上述的计算方法中,若所述探针空间不能完全包含所述待处理流体模型,则增加所述流速探针的数量,直至所述探针空间能够完全包含所述待处理流体模型。
上述的计算方法中,以四个所述流速探针为一组,将所述探针空间分割为多个四面体。
上述的计算方法中,采用德劳内三角剖分法将所述探针空间分割为多个四面体。
上述的计算方法中,所述流速向量V0为常量或者所述流速向量V0为随时间变化的变量。
基于同一发明构思,本发明还提供了一种电子设备,包括:
至少一个存储器,用于存储计算机指令;
至少一个处理器,当所述至少一个处理器执行所述计算机指令时,实现上述的在流体模型中计算流体流速的方法。
基于同一发明构思,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机指令,所述至少一条指令由处理器加载并执行,以实现上述的在流体模型中计算流体流速的方法。
基于同一发明构思,本发明还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令由处理器执行时,实现上述的在流体模型中计算流体流速的方法。
本申请基于稳定流动的流体中各点的流速不随时间而改变的特点提出了本技术方案。与现有技术相比,本申请所提出的技术方案使用至少一个多面体对选定的一段有限范围(例如,用户端屏幕显示的范围)内的流体模型进行包裹,将所述流体模型完全包围在所述至少一个多面体内部,并为所述至少一个多面体的顶点设置流速向量,然后以多面体的重心坐标作为权值,以该多面体的各顶点的流速向量作为基准流速,来计算该多面体内部的任意一点P的流速向量,从而可以仅通过很小的计算量就得出任意一个点的流速,比较适用于游戏的应用环境。一方面,如果需要知道流体中很多处的流速(不需要计算所有点),可以反复执行上述计算过程,以获得多个任意点P的流速向量;另一方面,如果需要比较精确的任意点P的流速向量数据,可以通过设置更多个用来包裹流体模型的多面体的方式来设置更多更细致的基准流速,从而使得任意点P的流速向量更能体现流体的流动细节。
此外,根据本申请所提出的技术方案,对于并非处在稳定流动状态下的流体,只需改变为各顶点Zi配置的流速向量V0i即可。例如,可以将流速向量V0i设置为随时间变化的函数,则在不同的时刻计算出的同一点P的流速向量Vp也不同,
附图说明
图1示出了根据本申请一些实施例提出的一种电子设备的基本硬件结构示意图;
图2示出了根据本申请一些实施例,在二维空间中利用多个三角形包围选取的一段流体模型的示意图;
图3示出了根据本申请一些实施例提出的用于在三维空间中用来包围流体模型的一个四面体的示意图;
图4示出了根据本申请一些实施例提出的计算流体流速的方法的流程图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点及功效。虽然本发明的描述将结合较佳实施例一起介绍,但这并不代表此发明的特征仅限于该实施方式。恰恰相反,结合实施方式作发明介绍的目的是为了覆盖基于本发明的权利要求而有可能延伸出的其它选择或改造。为了提供对本发明的深度了解,以下描述中将包含许多具体的细节。本发明也可以不使用这些细节实施。此外,为了避免混乱或模糊本发明的重点,有些具体细节将在描述中被省略。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
应注意的是,在本说明书中,相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,默认为同一定义。
通过背景技术的说明已经知道,在游戏的动态图像中,河水、湖水等水体的动态效果的显示比较僵硬,用户的视觉感受不佳。更有甚者,落入水中的物体因为不能准确获得水流的速度而形成静止在流水中的“奇观”。高效率、低成本地改善动态图像中的水体的拟态效果是本发明的目的所在。
本发明的发明构思在于,将流体模型进行合理的分割,针对分割出的每一个小块空间的顶点设置坐标和速度向量。然后根据该设置好的坐标和速度向量设计一种计算模型,用来计算这一小块空间内部的任意一点的速度向量。从而实现对流体模型中任意一点的流速的计算。由于任意一点的速度向量都是可以计算出来的,用来实现动态图像处理(生成)的模块可以在该流速向量的基础上来模拟水流的动态以及模拟水中的物体受水流影响而产生的变化。从而,可以使得动态图像的显示具有更加逼真的效果。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
本发明所提供的有关在流体模型中计算流体流速的方法的实施例可以在多种终端中运行,例如,所述终端可以是手机、电脑、PAD、服务器之类的电子设备,图1给出了根据本申请一些实施例提出的一种电子设备100的基本硬件结构示意图。
如图1所示,电子设备100至少包括主处理器101和存储介质103,根据实际使用需求的不同,电子设备100还可以包括协处理器102、I/O单元104、网络通信单元105和一些其他扩展单元106。其中协处理器102、I/O单元104、网络通信单元105和其他扩展单元106的可选择性用虚线体现在图中。
主处理器101和/或协处理器102用于执行存储在存储介质103中的计算机指令,以实现本发明所提出的方法。主处理器101是电子设备100的控制中心,通常为通用处理器(例如,英特尔各系列的CPU),可以较为均衡地实现逻辑处理和算术计算。主处理器101利用各种接口连接整个电子设备100的各个部分,通过运行或执行存储在存储介质103内的软件程序,以及调用存储在存储介质103内的数据,来实现电子设备100的各种功能。
协处理器102通常是专用处理器(例如,用户可编程的嵌入式微处理器),用来实现某一项单一功能。例如,协处理器102可以是图像处理器(GPU,Graphic Process Unit),专用于处理图形图像的处理。主处理器101此时不直接处理有关图形图像的信息,而是向协处理器102提供来自其他单元的数据或者向协处理器102发送管理指令,以指示协处理器102从其他单元获取数据,并且,在协处理器102处理完数据后,主处理器101从协处理器102接收处理结果,以便后续根据该处理结果做出其他判决。对于不同专业领域来说,协处理器102还可以是信号处理器、网络通信处理器、复杂计算处理器等。通常,协处理器102的硬件实现基础是数字信号处理(DSP,Digital Signal Process)芯片,或者复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)等专用集成电路(ASIC,Application Specific IntegratedCircuit)。
存储介质103可以包括内部存储器和外部存储器,或者还可以包括易失性存储器和非易失性存储器,或者还可以包括磁性存储装置、固态存储器、闪存、软盘和硬盘等。存储介质103可用于存储操作系统(例如,可以由主处理器101来执行)及该操作系统在运行过程中产生的数据、应用软件的软件程序及该应用软件在运行过程中产生的数据、专用模块的软件程序(例如,可以由某一协处理器102来执行)及该程序在运行过程中产生的数据。例如,本发明的一个实施例中,主处理器101通过运行存储在存储介质103内的监测程序,来执行各种功能应用以及数据处理。在一些实施例中,存储介质103还可以是相对于主处理器101远程设置的远程存储器(相对通常意义上的存储器而言),这些远程存储器可以通过网络连接的方式(例如通过网络通信设备105)连接到主处理器101或某一协处理器102。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
I/O(Input/Output,输入输出)单元104包括信息的输入设备和信息的输出设备,其使得用户能够与电子设备100进行交互。输入设备可用于接收输入的数字或字符信息,具体可以包括:键盘、鼠标、操作杆、触摸输入设备或者轨迹球等。输出设备可以用于输出/显示经电子设备100处理的处理结果,该处理结果可以是根据输入设备输入的信息而做出的。具体的,输出设备可以包括:液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等。
网络通信单元105通过有/无线网络的连接来实现电子设备100与远程的各种设备之间的通信,从而使得电子设备100还可以与远程的设备(例如,前文所述的远程存储器)交换数据。或者,电子设备100还可以通过网络通信单元105实现与服务器的连接,从而使得电子设备100可以作为大型系统中的一部分,与所述服务器进行交互。
其他扩展单元106包括多种外围组件及其接口,从而使得电子设备100可以与多种设备进行交互。例如,通过蓝牙接口,可以与蓝牙耳机连接,从而电子设备100播放的音频可以被蓝牙耳机接收。又如,通过总线接口(例如RS-485总线),电子设备100可以与一些传感器连接,从而获得一些监测数据来辅助电子设备100来实现特定功能。在各种实施例中,其他扩展接口106可以单独存在,也可以与电子设备100的其他组件集成。同时,其他扩展接口106是可选的,其任选性质用虚线表示在图中。
图2示出了根据本申请一些实施例,在二维空间中利用多个三角形包围所选取的一段流体模型的示意图(也可理解为如何使用多个三角形来分割所选取的流体模型)。如前所述,本申请意图通过使用多个小空间的集合来包围流体模型的方式获得流体模型中任意一点的流速的计算模型。图2示出了在二维空间中对选定的一段流体模型1进行分割的示意。本示意图中设置了流速探针Z1~Z8,并以流速探针Z1~Z8为三角形的顶点,将流体模型1分割为7个三角形空间。根据计算几何学(图形学)中关于凸包的定义,凸多边形Z1Z2Z3Z4Z5将流体模型1中的每一点都包裹在内。在设置了流速探针Z1~Z8的坐标系和流速向量的情况下,凸包内的任意一点(即指定的坐标位置)都可通过某一数学模型来计算该处的流速向量。
通过增加或减少流速探针的数量,例如,取消图2中的流速探针Z8,则流速探针Z3和Z7直接相连,则任意点P的计算结果(即同一个任意点P的流速向量在不同的凸包中得到的计算结果)会不一样,但是这并不影响处理图像效果的模块利用不同的任意点P的流速向量来模拟流体的动态效果。差别仅在于所述动态效果不完全一样。根据上述说明可知,在二维空间中,最少可以设置3个流速探针,形成一个三角形,该三角形将选定的一段流量模型包围在三角形内部,根据上述的3个流速探针的坐标及流速向量,可以计算所述的一段流量模型中任意一点(坐标已知)的流速向量。对于后续需要根据该流速向量来模拟流体动态效果的情况,设置更多的流速探针可以获得更具有细节感的动态效果。
同理,在三维空间中,可以使用多个四面体的集合形成一个凸包,该凸包将选定的一段三维的流体模型包裹在内。换个角度来说,也可理解为利用多个四面体将所述三维的流体模型分割为多个四面体空间。所设置的四面体至少为一个,也可以设置为多个。所述四面体设置得越多,后续能做出的流体动态效果也更具有细节感。但是,对于一个任意点P来说,其计算时所需的数据只有四面体的四个顶点(即流量探针)的数据,因此计算所需的软硬件开销都非常小。在实践中,通常只需计算十几到几十个任意点即可满足动态显示的需求,因此,采用本发明所提出的分割流体模型的方法所需的软硬件开销非常之小。
图3示出了其中一个四面体空间Z1Z2Z3Z4。任意点P位于四面体Z1Z2Z3Z4的内部,在四面体Z1Z2Z3Z4的四个顶点处的流速探针的流速向量分别被设置为V01、V02、V03和V04的基础上,可以通过插值的方法来计算任意点P处的流速向量。例如,可以根据任意点P和四个流速探针的位置关系,计算出任意点P在四面体Z1Z2Z3Z4中的重心坐标(BarycentricCoordinates)M(M=(m1,m2,m3,m4)),则任意点P处的流速向量可以记为:Vp=m1×V01+m2×V02+m3×V03+m4×V04。
上述采用重心坐标作为权重来插值计算任意点P的流速向量的方法简单易行,并且,对于流体来说,任意点P的流速(包括速度和方向)受周围其他点的影响(即与周围其他点关联),且距离任意点P越近的其他点对任意点P的影响越大,而重心坐标体现的就是距离关系上的权重,因此,使用重心坐标作为计算流速向量的权重符合流体的特征。
以下,结合图4所示的根据本申请一些实施例提出的计算流体流速的方法的流程图来完整说明流体流速的计算方法。
从总体上来说,该计算方法包括2步,即预处理步骤S1和计算步骤S2。预处理步骤S1用于将流体模型合理分割,例如采用德劳内(Delaunay)三角剖分法,并且为分割后的每个顶点设置流速向量,计算步骤S2用于确定任意点P所处的四面体,并获取相应坐标,然后根据任意点P与所述四面体的四个顶点的位置关系来插值计算任意点P的流速向量。
具体的,在步骤S11中,首先选定一段流体模型。例如,以显示屏上当前显示的一段河流作为待处理的流体模型,该部分的流体模型可能是整条河流的流体模型中的一部分。当后续处理是为了在显示器上动态显示该段河流的情况时,不需要关注整条河流的流体模型,只需对当前显示的一段进行处理即可,这样也能节约处理数据的时间、速度和占用的存储空间。选定流体模型后,可以确定该模型所处的坐标系,即可以确定该模型中各点的坐标。例如,在游戏软件中,通常可以使用世界坐标系来确定各对象的位置。
步骤S12,针对选定的一段流体模型,可以设置多个流速探针,该流速探针用来对流速向量赋值。当对流速探针的赋值是一个常量时,基于本发明所计算出的任意点P的值也是常量,即反映到用户的眼中,屏幕上所显示的河水的动态处于一种稳定的流动状态中(平静的河水)。当对流速探针的赋值是一个随时间变化的变量(函数)时,基于本发明所计算出的任意点P的值也是随时间发生变化的变量,即反映到用户的眼中,屏幕上所显示的河水的动态处于不停变化的流动状态(激流)。又或者,当屏幕所显示的画面中有物品落入水中,或有船只在水中行驶,则与所述物品或船只相关联流速探针可以临时改变流速向量,则与上述流速探针相关的任意点P的流速向量也将发生变化,那么反映到用户的眼中,屏幕上所显示的河水将因为受到上述物品或船只的影响而产生变化。
步骤S13,以步骤S12中设置的多个流速探针为顶点,构造至少一个多面体,使得在步骤S11中选定的一段流体模型位于一个多面体,或者2个以上的多面体集合的内部。比如说,可以使用至少一个如图3所示的四面体来包围该流体模型,使得该流体模型位于一个四面体或2个以上的四面体的集合的内部,优选的情况是没有任意一点是超出四面体集合之外的。例如,当使用一个图3所示的四面体Z1Z2Z3Z4来包围流体模型时,四面体Z1Z2Z3Z4的四个顶点必然是位于流体模型之外的(符合凸包的定义)。由于仅设置有四个流速探针,在这种情况下,基于该数据来模拟的动态河水的细节表现比较粗糙。当使用多个四面体的集合来包围流体模型时,该四面体的集合形成了一个凸包,将流体模型包围在内。也就是说,通过多个四面体将流体模型分割为多个四面体空间,每个四面体的每个顶点即为之前所设置的流速探针,也就是说上述的每个顶点处的坐标是可以确定的。
步骤S14,配置所述流速探针的流速向量V0,所述流速向量V0指示所述流速探针处的流体的流速。也就是说,上述的每个四面体的每个顶点处的坐标和流速向量都是已知值。
步骤S21,根据所述任意点P的坐标数据确定所述任意点P所在的第一多面体,获取所述第一多面体的各个顶点Zi的坐标数据,其中i为正整数用于指示不同的顶点。例如,当第一多面体为四面体时,顶点包括Z1、Z2、Z3和Z4。由于任意点P是流体模型中的一个点,即任意点P一定位于多个(或一个)四面体的集合所形成的凸包内,所以可以唯一确定一个四面体(即第一多面体)。
步骤S22,基于步骤S21确定的第一多(四)面体,可以获取其每个顶点Z1、Z2、Z3和Z4处的流量向量V01、V02、V03和V04。这是在步骤S14中所确定的。
步骤S23,计算所述任意点P在所述第一多面体中的重心坐标M(m1,m2,m3,m4)。
步骤S24,根据所述第一多(四)面体的每个所述顶点Z1、Z2、Z3和Z4的流速向量V01、V02、V03和V04和所述重心坐标M(m1,m2,m3,m4)计算所述任意点P的流速向量Vp。具体的,可参考图3的说明。
上述的实施例利用四面体网格对流体模型进行分割,流体模型中的每一个点的流速向量都能够通过一个相应的四面体的各顶点的流速向量来插值获得,该计算方法所需数据量极少,对于选定的流体模型来说,只要选取几十个点即可满足常规使用需求(即可以描述流体模型中各处的流速场),因此计算量总体还是很小,对CPU处理能力的要求不高,满足电子游戏的应用场景的需求。并且,根据对流体的动态效果的需求的不同,可以设置不同数量的流速探针(顶点)来适应需求。即,对动态效果要求不高,可以少设置一些流速探针,对动态效果要求高,可以多设置一些流速探针。无论设置的流速探针的数量多寡,对于计算一个点的流速向量来说,系统开销是一样的。
以上的图2~图4分别以三角形和四面体为例来说明了设置多边形或多面体的集合来包围流体模型的方法。事实上,还可以使用四边形、五面体等其他多面体的集合来包围流体模型,进而采用上述的方法来计算任意点P的流速向量。
此外,还值得一提的是,虽然本实施例以河水为例对计算水体中各点的流速的方法进行了说明,但是,很容易想到,本发明所提出的在流体模型中计算流体流速的方法可以应用到其他具有流动性的物体模型中,以计算该模型中任意一点的流速向量。
综上,本发明通过对流体模型的合理分割,简化了计算流体模型中任意一点的流速向量的方法,该方法所需的软硬件开销很小,非常适合应用在游戏的用户端。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
需要说明的是,上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
Claims (11)
1.一种在流体模型中计算流体流速的方法,用于电子设备,其特征在于,包括:
预处理步骤,选取所述流体模型中的至少一部分并设定为待处理流体模型,设置至少一个多面体或多边形,所述至少一个多面体或多边形的集合将所述待处理流体模型包围在所述至少一个多面体或多边形的集合内,并且,为所述至少一个多面体或多边形的集合中的每一个多面体或多边形的每个顶点配置流速向量V0;
计算步骤,计算所述待处理流体模型内的任意点P的流速向量Vp,包括:
根据所述任意点P的坐标数据确定所述任意点P所在的第一多面体或多边形,获取所述第一多面体或第一多边形的各个顶点Zi的坐标数据,其中i为正整数,用于指示不同的顶点;
获取所述第一多面体或多边形的每个顶点Zi的流速向量V0i;
根据所述任意点P的坐标数据计算所述任意点P在所述第一多面体或多边形中的重心坐标M;
根据所述第一多面体或第一多边形的每个顶点Zi的流速向量V0i和所述重心坐标M计算所述任意点P的流速向量Vp。
2.如权利要求1所述的方法,其特征在于,所述预处理步骤包括:
获取所述待处理流体模型在世界坐标系中的坐标数据;
设置多个流速探针,所述流速探针所包围的探针空间包含所述待处理流体模型;
以所述流速探针为顶点,构造至少一个多面体或多边形,使得所述待处理流体模型位于所述至少一个多面体或多边形的内部;
配置所述流速探针的流速向量V0,所述流速向量V0指示所述流速探针处的流体的流速以及方向。
3.如权利要求2所述的方法,其特征在于,所述预处理步骤根据需求能够多次执行,其中包括调整所述流速探针的数量和位置。
4.如权利要求2或3所述的方法,其特征在于,所述预处理步骤中,所述探针空间为多个所述流速探针所包围成的最小凸包。
5.如权利要求2或3所述的方法,其特征在于,若所述探针空间不能完全包含所述待处理流体模型,则增加所述流速探针的数量,直至所述探针空间能够完全包含所述待处理流体模型。
6.如权利要求2或3所述的方法,其特征在于,以四个所述流速探针为一组,将所述探针空间分割为多个四面体。
7.如权利要求6所述的方法,其特征在于,采用德劳内三角剖分法将所述探针空间分割为多个四面体。
8.如权利要求1-3中任一项所述的方法,其特征在于,所述流速向量V0为常量或者所述流速向量V0为随时间变化的变量。
9.一种电子设备,其特征在于,包括:
至少一个存储器,用于存储计算机指令;
至少一个处理器,当所述至少一个处理器执行所述计算机指令时,实现如权利要求1-8中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机指令,所述至少一条指令由处理器加载并执行,以实现如权利要求1-8中任一项所述的方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令由处理器执行时,实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210703762.2A CN115099025A (zh) | 2022-06-21 | 2022-06-21 | 在流体模型中计算流体流速的方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210703762.2A CN115099025A (zh) | 2022-06-21 | 2022-06-21 | 在流体模型中计算流体流速的方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115099025A true CN115099025A (zh) | 2022-09-23 |
Family
ID=83292255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210703762.2A Pending CN115099025A (zh) | 2022-06-21 | 2022-06-21 | 在流体模型中计算流体流速的方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115099025A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349970A (zh) * | 2023-12-05 | 2024-01-05 | 招商局金陵船舶(威海)有限公司 | 一种船舶装配布置自动合理性验证方法 |
-
2022
- 2022-06-21 CN CN202210703762.2A patent/CN115099025A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349970A (zh) * | 2023-12-05 | 2024-01-05 | 招商局金陵船舶(威海)有限公司 | 一种船舶装配布置自动合理性验证方法 |
CN117349970B (zh) * | 2023-12-05 | 2024-03-26 | 招商局金陵船舶(威海)有限公司 | 一种船舶装配布置自动合理性验证方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103914868B (zh) | 虚拟现实下的海量模型数据动态调度与实时异步加载方法 | |
JP4846120B2 (ja) | スケルトンアニメーションのステッチングハードウェアを有するグラフィクス装置 | |
CN106780709B (zh) | 一种确定全局光照信息的方法及装置 | |
CN112755535B (zh) | 光照渲染方法、装置、存储介质及计算机设备 | |
CN101458825B (zh) | 显卡中实现3d骨骼动画模型的碰撞检测方法及显卡、系统 | |
CN105556571A (zh) | 使用计算着色器作为顶点着色器的前端 | |
CN105283900A (zh) | 用于压缩顶点着色器输出参数的方案 | |
WO2007015928A2 (en) | Method of generating surface defined by boundary of three-dimensional point cloud | |
CN105556565A (zh) | 片段着色器执行顶点着色器计算 | |
CN108876910A (zh) | 一种三维建模方法、装置、设备及计算机可读存储介质 | |
CA2506419A1 (en) | Visible surface determination system & methodology in computer graphics using interval analysis | |
CN109509243B (zh) | 一种液体仿真方法、液体交互方法及装置 | |
US11790594B2 (en) | Ray-tracing with irradiance caches | |
CN111773719A (zh) | 虚拟对象的渲染方法和装置、存储介质、电子装置 | |
CN108182721A (zh) | 扰动流体渲染方法及装置 | |
CN115099025A (zh) | 在流体模型中计算流体流速的方法、电子设备及存储介质 | |
CN115906703A (zh) | 一种用于实时交互应用的gpu流体仿真方法 | |
US20090284524A1 (en) | Optimized Graphical Calculation Performance by Removing Divide Requirements | |
US8200041B2 (en) | Hardware accelerated silhouette detection | |
US11830125B2 (en) | Ray-guided water caustics | |
CN114882153B (zh) | 一种动画生成的方法及装置 | |
CN115984440A (zh) | 对象渲染方法、装置、计算机设备和存储介质 | |
CN110738719A (zh) | 一种基于视距分层优化的Web3D模型渲染方法 | |
US20220319096A1 (en) | Machine-learning based collision detection for objects in virtual environments | |
CN114399421A (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 |