CN108090939A - 基于集群协同算法与gpu优化渲染的海底生物集群模拟方法 - Google Patents
基于集群协同算法与gpu优化渲染的海底生物集群模拟方法 Download PDFInfo
- Publication number
- CN108090939A CN108090939A CN201711179812.7A CN201711179812A CN108090939A CN 108090939 A CN108090939 A CN 108090939A CN 201711179812 A CN201711179812 A CN 201711179812A CN 108090939 A CN108090939 A CN 108090939A
- Authority
- CN
- China
- Prior art keywords
- individual
- gpu
- mrow
- cluster
- rule
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
- G06T15/87—Gouraud shading
Abstract
本发明属于计算机图形学技术、仿生学领域,尤其涉及一种基于集群协同算法与GPU优化渲染的海底生物集群模拟方法。主要步骤为:(1)运动模拟:设计并实现一种基于个体多重规则的集群算法,加入其他干扰因子,影响集群的运动效果,并采用GPU CUDA进行优化运算,大大提升运算效率。(2)场景渲染:采用GPU顶点着色器实现生物个体的动画效果,采用GPU片元着色器绘制场景内容,采用GPU TransformFeedBack技术绘制场景中的粒子系统,绘制出逼真的海底场景,采用多光源渲染技术,有效提升场景光影效果和立体感。本发明基于GPU实现一种基于个体规则的集群运动算法,使集群运动能够达到一种动态平衡且不断演进的状态,采用GPU可编程流水线,实现场景渲染。
Description
技术领域
本发明属于计算机图形学技术、仿生学领域,具体涉及一种基于集群协同算法通过GPU优化渲染方式,实现海底生物集群运动的高仿真模拟方法。
背景技术
仿生学是一门模仿生物的特殊学科,人们研究生物体结构与功能的工作原理,并根据这些原理发明出新的设备和工具,创造出适用于生产,学习和生活的先进技术。其中,对于生物集群运动的研究一直是仿生学中的一个热点,生物集群运动是指生物集群中简单个体在相互作用中表现出复杂智能的行为。集群运动是自然界普遍存在的多个体运动现象,是通过对自然界生物集群运动的规律总结,用数学和物理的一些方法对集群运动进行分析和预测的科学,研究群集系统具有实际意义,一方面,它是理解生物复杂性的一个途径,另一方面,可以借鉴生物的智慧,把分布式策略用在自治多代理系统(如多机器人或自治飞行器系统)的控制、协调以及编队控制中。这些系统的共同特点是:个体自治、无全局通讯、无集中式控制。通过设计一定的控制规律,可以使系统整体呈现出所期望的涌现行为。群集的研究还有可能用来解释群集智能的产生,每一个个体并不是非常智慧的主体,但它们之间通过协作却可以展现出一定的智能行为,在工程上具有潜在的应用价值。因此,研究一种设计并实现生物集群运动模拟算法有着十分重要的意义。
同时,随着计算机图形图像学技术和计算机硬件技术的发展,计算机图形图像技术广泛应用于军事、教育、仿真、娱乐等领域。精彩的电影特效,身临其境的虚拟现实体验,逼真的游戏动画场景和精美的产品模型设计,无不体现着现代图形图像技术的强大能力,而计算机硬件技术的发展,为计算机图形图像学技术提供了物质保障,但是如何充分利用计算机硬件资源高效计算,也是一个重要的课题。因此如何充分发挥计算机图形图像学和计算机硬件技术的优势,实现生物群体运动的高仿真模拟有着十分重要的意义。
目前在群体运动模拟领域,研究者们往往会通过MATLAB等专业软件建立数学模型,进行仿真的计算和研究。这种方式并不直观,较为晦涩。有的研究者为使模拟更加直观,采用OpenGL对模拟对象进行渲染,但效率较低,只能渲染几十个运动对象,且真实感较弱。而在传统动画或游戏渲染领域,为实现对群体对象的渲染,并保证真实性,需要动画制作人员针对每个对象进行单独的处理,每个对象都应该对应一个动画数据,当群体规模过大时,工作量就会变得十分巨大,而且,传统动画方式只能呈现出针对渲染对象制作的运动数据,运动状态固定,不具备真实运动的多样性和不可预测性,并不满足仿生学模拟的需要。
因此,研究一种即实现生物集群运动算法,满足生态系统中生物集群大规模运动的实时性、多样性、不可预测性的模拟需要,又能充分发挥计算机图形图像技术和计算机硬件技术优势,实现高效真实的渲染方法,有着十分重要的意义。如何更加真实的且高效的模拟生物集群行为不仅能为研究者提供重要的帮助,还能使仿真模拟具备非常好的观赏性,让普通人体验平时难以接触到海底的鱼群、昆虫界的蜂群等等全新世界。
发明内容
针对背景技术中的问题,本发明提供了一套完整的集群对象模拟和渲染方法,通过实现一种生物集群运动算法,模拟集群运动行为,同时充分发挥计算机图形图像技术和计算机硬件技术优势,实现实时真实的渲染上千生物个体的运动方式,同时模拟不同生物物种之间的交互,并且能够呈现持续变化的运动状态,以提供一种新颖仿生学的模拟形式,同时能为普通人提供一种全新的视觉体验。
为了实现上述目的,本发明提出如下技术方案:
一种基于集群协同算法与GPU优化渲染的海底生物集群模拟方法,其特征在于:
所述方法包括以下步骤:
1运动模拟:基于自然界中生物集群个体简单智慧形成高复杂度行为的规则,设计并实现一种基于个体多重规则的集群算法;除此之外加入干扰因素,使其变化更加丰富,表现更加真实;并采用GPU CUDA进行优化运算,大大提升运算效率;
2场景渲染:采用OpenGL可编程流水线进行场景绘制,采用GPU顶点着色器实现生物个体的动画效果,采用GPU片元着色器绘制场景内容,采用GPU TransformFeedBack技术绘制场景中的粒子系统,绘制出逼真的海底场景,采用多光源渲染技术,有效提升场景光影效果和立体感;最终会渲染出逼真的海底视觉效果。
进一步地,步骤1又包括如下步骤:
1.1设计并实现一种基于个体多重规则的集群算法,对个体之间建立三大基本规则:聚集规则,趋同规则,排斥规则,使其个体符合自然环境中的物理和生物运动规律,并基于个体的三大基本规则实现群体运动平衡;
1.2对个体的运动引入噪声作为影响因子,模拟不同个体的运动差异性,从而实现对个体的更加真实模拟;加入更多的干扰因素,加入食物、其他物种干扰因子,来实现不同种群之间、种群和外界因素之间的相互影响;
1.3对实现方法进行CUDA优化,设计并实现一种基于GPU计算单元的算法结构,充分利用GPU的强大计算能力,有效提升运算效率。
进一步地,在步骤1.1中,所述聚集规则,根据自然界中生物集群运动时,生物个体总会朝着更密集的区域运动,进行聚集运动,但由于个体生物的感知距离有限,个体生物只能探测到聚集感知距离内的其他个体;
个体聚集运动模型为:
其中:i表示当前个体序号,即遍历计算每个个体的聚集运动模型;RThres_con表示聚集感知距离阈值,即只受聚集感知距离阈值内的其他个体的影响;Vcon表示聚集向量,即聚集感知距离范围内的所有个体对其的吸引影响,计算公式如下:
其中,Dist(i,j)表示个体间的欧氏距离,Pos()表示个体空间坐标;
Distcon(i)表示与聚集中心的欧式距离,即聚集的吸引向量Vcon()的模
Distcon(i)=|Vcon(i)|
Pcon表示聚集吸引参数,是一个常量,用于控制聚集影响的大小。
进一步地,在步骤1.1中,所述趋同规则,根据自然界中群体生物运动规则,生物集群运动时总保持着一致性,个体之间运动方向和速度总是趋于相似;
个体趋同运动模型为:
其中:i表示当前个体序号,即遍历计算每个个体的趋同运动模型;j表示与当前个体计算趋同作用的个体序号;Dist(i,j)表示个体间的欧氏距离;RThres_uni表示趋同距离阈值,即当两个个体之间的欧式距离小于趋同距离阈值时,产生趋同作用;Vuni(j)表示趋同向量,即聚集感知距离范围内的所有个体j对其的趋同影响,计算公式如下:
if(Dist(i,j)<RThres_rep,i≠j){Vrep(j)=Vel(j)}
其中,Dist(i,j)表示个体间的欧氏距离,Vel()表示个体速度向量,即将其速度向量作为趋同向量;
Puni表示趋同参数,是一个常量,用于控制趋同作用的大小。
进一步地,在步骤1.1中,所述排斥规则,根据自然界中物理规则和生物运动规则,生物个体之间不会发生重合,个体拥有一定的自有空间,当两个个体距离过近时,会朝着彼此远离的方向运动,从而建立该排斥规则;
个体排斥运动模型为:
其中:i表示当前个体序号,即遍历计算每个个体的排斥运动模型;j表示与当前个体计算排斥作用的个体序号;Dist(i,j)表示个体间的欧氏距离;RThres_rep表示排斥距离阈值,即当两个个体之间的欧式距离小于排斥距离阈值时,产生排斥作用;Vrep(j)表示排斥向量,即排斥感知距离范围内的所有个体j对其的排斥影响,计算公式如下:
if(Dist(i,j)<RThres_rep,i≠j){Vrep(j)=Pos(i)-Pos(j)}
其中,Dist(i,j)表示个体间的欧氏距离,Pos()表示个体空间坐标;
Prep表示排斥参数,是一个常量,用于控制排斥作用的大小。
进一步地,在步骤1.1中,基于个体的三大基本规则实现群体运动平衡的步骤为,用基本规则模型的计算结果影响个体加速度a(i),计算a(i)=a(i)+Δa(i),其中,加速度变化量Δa(i)计算模型为:其中,Fa(i)表示作用外力,表示个体聚集运动模型作用力,表示个体排斥运动模型作用力,表示个体趋同运动模型作用力;基于加速度a(i)可计算个体的速度v(i)=v(i)+a(i)t、方向v(i)=normal(v(i))、位置Pos(i)=Pos(i)+v(i)t,其中,v(i)t表示位移。
进一步地,在步骤1.2中,对个体的运动引入噪声作为影响因子,模拟不同个体的运动差异性的步骤为,采用计算公式:Δa(i)=Δa(i)+Nosie(i),其中,Noise(i)采用柏林噪声,从而在模拟个体运动差异化的同时保持连续性。
进一步地,在步骤1.2中,加入更多的干扰因素,加入干扰因子,来实现不同种群之间、种群和外界因素之间的相互影响的步骤为,采用计算公式,将外部干扰因素统一计算为作用外力Fa(i)=ka·fα(i)+kβ·fβ(i)+…,其中f(i)为外部干扰因素,k为控制常量。
进一步地,步骤2又包括如下步骤:
2.1采用GPU顶点着色器实现生物个体的动画效果:通过可编程流水线的顶点着色器,对原有模型的顶点位置进行修改,通过函数控制个体运动方式,通过这种方式可以对模型进行差异化控制;顶点着色器依靠GPU计算;
2.2采用GPU TransformFeedBack技术绘制场景中的粒子系统,绘制出逼真的海底场景:采用GPU TransformFeedBack技术在光栅化前舍弃光栅化结果,停止渲染流水线,并直接对顶点着色器和图元着色器的结果进行修改,而并不需要将其已到内存中进行计算,而是直接在显存中进行修改以及渲染;
2.3采用多光源渲染技术,有效提升场景光影效果和立体感:基于Blinn-Phong光照模型进行修改,突破光源数量的限制,使场景渲染中能够融入更多的光照效果,提升场景光感和立体感。
与现有技术相比,本发明的有益效果为:
本发明提供了一套完整的海底生物集群模拟和渲染方法,通过实现一种生物集群运动算法,模拟生物集群运动行为的灵活性、多样性和不可预测性,同时基于GPU进行优化,仅在单台PC上就可以实现数千个对象的集群模拟,还可以模拟不同生物物种之间的交互,并且能够呈现持续变化的运动状态,除此之外,优化渲染方式,使传统的仿生学研究变得极具观赏性,能为普通人提供一种全新的视觉体验。
附图说明
图1是本发明基于集群协同算法与GPU优化渲染的海底生物集群模拟方法的基本流程图。
图2是本发明集群运动模拟基本流程图。
图3是本发明的集群算法计算范围示意图。
图4是本发明场景渲染基本流程图。
具体实施方式
下面结合附图和具体实施方式,对本发明的具体实施方案作详细的阐述。这些具体实施方式仅供叙述而并非用来限定本发明的范围或实施原则,本发明的保护范围仍以权利要求为准,包括在此基础上所作出的显而易见的变化或变动等。
1、方法概述
如图1所示,本发明的方法主要分为两大步骤:(1)运动模拟:实现基于个体多重规则的集群算法,仅通过对个体的运动约束,就可以实现集群运动的模拟,且持续变化,并保持动态平衡状态。除此之外加入其它物种、食物等干扰因素,使其变化更加丰富,表现更加真实。并采用GPUCUDA进行优化运算,大大提升运算效率。(2)场景渲染:采用OpenGL可编程流水线进行场景绘制,采用GPU顶点着色器实现生物个体的动画效果,采用GPU片元着色器绘制场景内容,采用GPU TransformFeedBack技术绘制场景中的粒子系统,绘制出逼真的海底场景,采用多光源渲染技术,有效提升场景光影效果和立体感。最终会渲染出逼真的海底生物集群运动的视觉效果。下面详细说明每个步骤。
(1)运动模拟是指:通过计算机算法实现对集群生物运动方式的模拟,除符合基本物理逻辑之外,还应满足实际生物集群运动中的多样性、不可预测性等特点,能模拟不同生物之间的交互,并保证高效计算,实施模拟。
如图2所示,本发明的运动模拟注意分成以下三步进行:第一步,首先设计并实现一种基于个体多重规则的集群算法,对个体之间建立三大基本规则:聚集规则,排斥规则,趋同规则,使其个体运动符合自然环境中的物理和生物运动规律。第二步,对个体的运动引入噪声作为影响因子,模拟不同个体的运动差异性,从而实现对个体的更加真实模拟,并加入更多的干扰因素,加入食物、其他物种等干扰因子,来实现不同种群之间、种群和外界因素之间的相互影响。第三步,对实现方法进行CUDA优化,设计并实现一种基于GPU计算单元的算法结构,充分利用GPU的强大计算能力,有效提升运算效率。
第一步实现基于个体多重规则的集群算法,根据个体的感知的空间范围建立适用不同规则的区域。如图3所示,规则区域适用范围从大到小依次为:聚集规则、趋同规则、排斥规则,规则计算模型如下:
聚集规则运动模型为:
其中:
i表示当前个体序号,即遍历计算每个个体的聚集运动模型;
RThres_con表示聚集感知距离阈值,即只受聚集感知距离阈值内的其他个体的影响;
Vcon表示聚集向量,即聚集感知距离范围内的所有个体对其的吸引影响,计算公式如下:
其中,Dist(i,j)表示个体间的欧氏距离,Pos()表示个体空间坐标;
Distcon(i)表示与聚集中心的欧式距离,即聚集的吸引向量Vcon()的模
Distcon(i)=|Vcon(i)|
Pcon表示聚集吸引参数,是一个常量,用于控制聚集影响的大小。
趋同规则运动模型为:
其中:
i表示当前个体序号,即遍历计算每个个体的趋同运动模型;
j表示与当前个体计算趋同作用的个体序号;
Dist(i,j)表示个体间的欧氏距离;
RThres_uni表示趋同距离阈值,即当两个个体之间的欧式距离小于趋同距离阈值时,产生趋同作用;
Vuni(j)表示趋同向量,即聚集感知距离范围内的所有个体j对其的趋同影响,计算公式如下:
if(Dist(i,j)<RThres_rep,i≠j){Vrep(j)=Vel(j)}
其中,Dist(i,j)表示个体间的欧氏距离,Vel()表示个体速度向量,即将其速度向量作为趋同向量;
Puni表示趋同参数,是一个常量,用于控制趋同作用的大小。
基于个体运动三大基本规则的计算结果影响个体加速度a(i),计算公式为a(i)=a(i)+Δa(i),其中,加速度变化量Δa(i)计算模型为:其中,Fa(i)表示作用外力。基于加速度a(i)可计算个体的速度v(i)=v(i)+a(i)t,其中t表示时间,方向v(i)=normal(v(i))、位置Pos(i)=Pos(i)+v(i)t。
排斥规则运动模型为:
其中:
i表示当前个体序号,即遍历计算每个个体的排斥运动模型;
j表示与当前个体计算排斥作用的个体序号;
Dist(i,j)表示个体间的欧氏距离;
RThres_rep表示排斥距离阈值,即当两个个体之间的欧式距离小于排斥距离阈值时,产生排斥作用;
Vrep(j)表示排斥向量,即排斥感知距离范围内的所有个体j对其的排斥影响,计算公式如下:
if(Dist(i,j)<RThres_rep,i≠j){Vrep(j)=Pos(i)-Pos(j)}
其中,Dist(i,j)表示个体间的欧氏距离,Pos()表示个体空间坐标;
Prep表示排斥参数,是一个常量,用于控制排斥作用的大小。
基于个体运动三大基本规则的计算结果影响个体加速度a(i),计算公式为a(i)=a(i)+Δa(i),其中,加速度变化量Δa(i)计算模型为:其中,Fa(i)表示作用外力。基于加速度a(i)可计算个体的速度v(i)=v(i)+a(i)t,其中t表示时间,方向v(i)=normal(v(i))、位置Pos(i)=Pos(i)+v(i)t。
第二步是实现增加运动多样性:基于第一步的计算结果加速度变化量Δa(i),对个体运动引入噪声作为影响因子,模拟不同个体的运动差异性,从而实现对个体的更加真实模拟。步骤为,采用计算公式:Δa(i)=Δa(i)+Nosie(i),其中,Noise(i)采用柏林噪声,从而在模拟个体运动差异化的同时保持连续性。基于第一步计算结果的外力项Fa(i),加入更多的干扰因素,加入食物、其他物种等干扰因子,来实现不同种群之间、种群和外界因素之间的相互影响。步骤为,采用计算公式,将外部干扰因素统一计算为作用外力Fa(i)=ka·fα(i)+kβ·fβ(i)+…,其中f(i)为外部干扰因素,k为控制常量。
第三步是对实现方法进行CUDA优化,设计并实现一种基于GPU计算单元的算法结构,将每个对象的运动计算分配到每个计算单元上,充分利用GPU的强大并行计算能力,有效提升运算效率至少一倍以上。
(2)场景渲染,实现一种面向集群运动对象的场景渲染方法如图4所示:首先使用顶点着色器实现生物个体的动画效果,为满足渲染大量集群对象的需要,同时免去动画制作人员的重复大量工作,采用基于GPU可编程流水线的顶点着色器实现动画效果。通过顶点着色器编辑,实现对原有模型顶点位置的空间位置偏移,通过连续偏移实现自身动画效果。采用GPU TransformFeedBack技术绘制场景中的粒子系统,在光栅化前舍弃光栅化结果,停止渲染流水线,并直接对顶点着色器和图元着色器的结果进行修改,而并不需要将其已到内存中进行计算,而是直接在显存中进行修改以及渲染,通过这种形式,可以非常高效的渲染大量简单对象,对于高重复性的渲染工作具有十分重要的意义。通过这种形式渲染海洋环境中的大量气泡等效果,有效提升渲染效果的真实感。进一步的,采用多光源渲染技术,基于Blinn-Phong光照模型进行修改,突破光源数量的限制,这种方式更加灵活,使场景渲染中能够融入更多的光照效果,提升场景光感和立体感。
Claims (9)
1.一种基于集群协同算法与GPU优化渲染的海底生物集群模拟方法,其特征在于:
所述方法包括以下步骤:
1运动模拟:基于自然界中生物集群个体简单智慧形成高复杂度行为的规则,设计并实现一种基于个体多重规则的集群算法;除此之外加入干扰因素,使其变化更加丰富,表现更加真实;并采用GPU CUDA进行优化运算,大大提升运算效率;
2场景渲染:采用OpenGL可编程流水线进行场景绘制,采用GPU顶点着色器实现生物个体的动画效果,采用GPU片元着色器绘制场景内容,采用GPU TransformFeedBack技术绘制场景中的粒子系统,绘制出逼真的海底场景,采用多光源渲染技术,有效提升场景光影效果和立体感;最终会渲染出逼真的海底视觉效果。
2.根据权利要求1所述的一种基于集群协同算法与GPU优化渲染的海底生物集群模拟方法,其特征在于:
步骤1又包括如下步骤:
1.1设计并实现一种基于个体多重规则的集群算法,对个体之间建立三大基本规则:聚集规则,趋同规则,排斥规则,使其个体符合自然环境中的物理和生物运动规律,并基于个体的三大基本规则实现群体运动平衡;
1.2对个体的运动引入噪声作为影响因子,模拟不同个体的运动差异性,从而实现对个体的更加真实模拟;加入更多的干扰因素,加入食物、其他物种干扰因子,来实现不同种群之间、种群和外界因素之间的相互影响;
1.3对实现方法进行CUDA优化,设计并实现一种基于GPU计算单元的算法结构,充分利用GPU的强大计算能力,有效提升运算效率。
3.根据权利要求2所述的一种基于集群协同算法与GPU优化渲染的海底生物集群模拟方法,其特征在于:
在步骤1.1中,所述聚集规则,根据自然界中生物集群运动时,生物个体总会朝着更密集的区域运动,进行聚集运动,但由于个体生物的感知距离有限,个体生物只能探测到聚集感知距离内的其他个体;
个体聚集运动模型为:
其中:i表示当前个体序号,即遍历计算每个个体的聚集运动模型;RThres_con表示聚集感知距离阈值,即只受聚集感知距离阈值内的其他个体的影响;Vcon表示聚集向量,即聚集感知距离范围内的所有个体对其的吸引影响,计算公式如下:
<mrow>
<mi>i</mi>
<mi>f</mi>
<mrow>
<mo>(</mo>
<mi>D</mi>
<mi>i</mi>
<mi>s</mi>
<mi>t</mi>
<mo>(</mo>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
<mo>)</mo>
<mo><</mo>
<msub>
<mi>R</mi>
<mrow>
<mi>T</mi>
<mi>h</mi>
<mi>r</mi>
<mi>e</mi>
<mi>s</mi>
<mo>_</mo>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>i</mi>
<mo>&NotEqual;</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
<mo>{</mo>
<msub>
<mi>V</mi>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mo>&lsqb;</mo>
<mfrac>
<mn>1</mn>
<mi>N</mi>
</mfrac>
<munderover>
<munder>
<mi>&Sigma;</mi>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
</munder>
<mrow>
<mi>j</mi>
<mo>&NotEqual;</mo>
<mi>i</mi>
</mrow>
<mi>N</mi>
</munderover>
<mi>P</mi>
<mi>o</mi>
<mi>s</mi>
<mrow>
<mo>(</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
<mo>-</mo>
<mi>P</mi>
<mi>o</mi>
<mi>s</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>)</mo>
</mrow>
<mo>}</mo>
</mrow>
其中,Dist(i,j)表示个体间的欧氏距离,Pos()表示个体空间坐标;
Distcon(i)表示与聚集中心的欧式距离,即聚集的吸引向量Vcon()的模
Distcon(i)=|Vcon(i)|
Pcon表示聚集吸引参数,是一个常量,用于控制聚集影响的大小。
4.根据权利要求2所述的一种基于集群协同算法与GPU优化渲染的海底生物集群模拟方法,其特征在于:
在步骤1.1中,所述趋同规则,根据自然界中群体生物运动规则,生物集群运动时总保持着一致性,个体之间运动方向和速度总是趋于相似;
个体趋同运动模型为:
其中:i表示当前个体序号,即遍历计算每个个体的趋同运动模型;j表示与当前个体计算趋同作用的个体序号;Dist(i,j)表示个体间的欧氏距离;RThres_uni表示趋同距离阈值,即当两个个体之间的欧式距离小于趋同距离阈值时,产生趋同作用;Vuni(j)表示趋同向量,即聚集感知距离范围内的所有个体j对其的趋同影响,计算公式如下:
if(Dist(i,j)<RThres_rep,i≠j){Vrep(j)=Vel(j)}
其中,Dist(i,j)表示个体间的欧氏距离,Vel()表示个体速度向量,即将其速度向量作为趋同向量;
Puni表示趋同参数,是一个常量,用于控制趋同作用的大小。
5.根据权利要求2所述的一种基于集群协同算法与GPU优化渲染的海底生物集群模拟方法,其特征在于:
在步骤1.1中,所述排斥规则,根据自然界中物理规则和生物运动规则,生物个体之间不会发生重合,个体拥有一定的自有空间,当两个个体距离过近时,会朝着彼此远离的方向运动,从而建立该排斥规则;
个体排斥运动模型为:
其中:i表示当前个体序号,即遍历计算每个个体的排斥运动模型;j表示与当前个体计算排斥作用的个体序号;Dist(i,j)表示个体间的欧氏距离;RThres_rep表示排斥距离阈值,即当两个个体之间的欧式距离小于排斥距离阈值时,产生排斥作用;Vrep(j)表示排斥向量,即排斥感知距离范围内的所有个体j对其的排斥影响,计算公式如下:
if(Dist(i,j)<RThres_rep,i≠j){Vrep(j)=Pos(i)-Pos(j)}
其中,Dist(i,j)表示个体间的欧氏距离,Pos()表示个体空间坐标;
Prep表示排斥参数,是一个常量,用于控制排斥作用的大小。
6.根据权利要求2所述的一种基于集群协同算法与GPU优化渲染的海底生物集群模拟方法,其特征在于:
在步骤1.1中,基于个体的三大基本规则实现群体运动平衡的步骤为,用基本规则模型的计算结果影响个体加速度a(i),计算a(i)=a(i)+Δa(i),其中,加速度变化量Δa(i)计算模型为:其中,Fa(i)表示作用外力,表示个体聚集运动模型作用力,表示个体排斥运动模型作用力,表示个体趋同运动模型作用力;基于加速度a(i)可计算个体的速度v(i)=v(i)+a(i)t、方向v(i)=normal(v(i))、位置Pos(i)=Pos(i)+v(i)t,其中,v(i)t表示位移。
7.根据权利要求2所述的一种基于集群协同算法与GPU优化渲染的海底生物集群模拟方法,其特征在于:
在步骤1.2中,对个体的运动引入噪声作为影响因子,模拟不同个体的运动差异性的步骤为,采用计算公式:Δa(i)=Δa(i)+Nosie(i),其中,Noise(i)采用柏林噪声,从而在模拟个体运动差异化的同时保持连续性。
8.根据权利要求2所述的一种基于集群协同算法与GPU优化渲染的海底生物集群模拟方法,其特征在于:
在步骤1.2中,加入更多的干扰因素,加入干扰因子,来实现不同种群之间、种群和外界因素之间的相互影响的步骤为,采用计算公式,将外部干扰因素统一计算为作用外力Fa(i)=ka·fα(i)+kβ·fβ(i)+…,其中f(i)为外部干扰因素,k为控制常量。
9.根据权利要求1所述的一种基于集群协同算法与GPU优化渲染的海底生物集群模拟方法,其特征在于:
步骤2又包括如下步骤:
2.1采用GPU顶点着色器实现生物个体的动画效果:通过可编程流水线的顶点着色器,对原有模型的顶点位置进行修改,通过函数控制个体运动方式,通过这种方式可以对模型进行差异化控制;顶点着色器依靠GPU计算;
2.2采用GPU TransformFeedBack技术绘制场景中的粒子系统,绘制出逼真的海底场景:采用GPU TransformFeedBack技术在光栅化前舍弃光栅化结果,停止渲染流水线,并直接对顶点着色器和图元着色器的结果进行修改,而并不需要将其已到内存中进行计算,而是直接在显存中进行修改以及渲染;
2.3采用多光源渲染技术,有效提升场景光影效果和立体感:基于Blinn-Phong光照模型进行修改,突破光源数量的限制,使场景渲染中能够融入更多的光照效果,提升场景光感和立体感。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711179812.7A CN108090939B (zh) | 2017-11-23 | 2017-11-23 | 基于集群协同算法与gpu优化渲染的海底生物集群模拟方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711179812.7A CN108090939B (zh) | 2017-11-23 | 2017-11-23 | 基于集群协同算法与gpu优化渲染的海底生物集群模拟方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108090939A true CN108090939A (zh) | 2018-05-29 |
CN108090939B CN108090939B (zh) | 2021-09-03 |
Family
ID=62172145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711179812.7A Expired - Fee Related CN108090939B (zh) | 2017-11-23 | 2017-11-23 | 基于集群协同算法与gpu优化渲染的海底生物集群模拟方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108090939B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109712245A (zh) * | 2018-11-20 | 2019-05-03 | 北京农业信息技术研究中心 | 三维场景中蝴蝶行为的模拟方法及装置 |
CN109934897A (zh) * | 2019-03-06 | 2019-06-25 | 珠海金山网络游戏科技有限公司 | 一种摆动效果模拟系统、方法、计算设备及存储介质 |
CN110322540A (zh) * | 2019-07-09 | 2019-10-11 | 北京电影学院 | 基于流体力学与gpu优化渲染的可交互水墨模拟方法 |
CN112631322A (zh) * | 2020-11-19 | 2021-04-09 | 一飞(海南)科技有限公司 | 生成集群无人机表演动画的方法、系统、无人机及终端 |
CN113902868A (zh) * | 2021-11-18 | 2022-01-07 | 中国海洋大学 | 一种基于Wang Cubes的大规模海洋场景创作方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104851121A (zh) * | 2015-05-04 | 2015-08-19 | 浙江大学 | 一种基于生物学规则的飞虫群模拟方法 |
CN105630882A (zh) * | 2015-12-18 | 2016-06-01 | 哈尔滨工业大学深圳研究生院 | 基于遥感数据深度学习的近海污染物识别与跟踪方法 |
CN106493736A (zh) * | 2016-12-14 | 2017-03-15 | 北京工业大学 | 一种群体移动物联网机器人控制方法 |
-
2017
- 2017-11-23 CN CN201711179812.7A patent/CN108090939B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104851121A (zh) * | 2015-05-04 | 2015-08-19 | 浙江大学 | 一种基于生物学规则的飞虫群模拟方法 |
CN105630882A (zh) * | 2015-12-18 | 2016-06-01 | 哈尔滨工业大学深圳研究生院 | 基于遥感数据深度学习的近海污染物识别与跟踪方法 |
CN106493736A (zh) * | 2016-12-14 | 2017-03-15 | 北京工业大学 | 一种群体移动物联网机器人控制方法 |
Non-Patent Citations (6)
Title |
---|
HONG LI等: "Parallel Simulation for a Fish Schooling Model on a General-Purpose Graphics Processing Unit", 《CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE》 * |
IAIN D. COUZIN等: "Collective Memory and Spatial Sorting in Animal Groups", 《J. THEOR. BIOL.》 * |
唐宇等: "面向模拟演练系统的延迟渲染框架", 《计算机系统应用》 * |
杨盼盼等: "群集系统分群行为建模与控制研究进展", 《控制与决策》 * |
范晓晔: "虚拟海洋生物群体仿真关键技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
高天一: "海洋虚拟环境实时动态特效仿真技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109712245A (zh) * | 2018-11-20 | 2019-05-03 | 北京农业信息技术研究中心 | 三维场景中蝴蝶行为的模拟方法及装置 |
CN109712245B (zh) * | 2018-11-20 | 2022-10-04 | 北京农业信息技术研究中心 | 三维场景中蝴蝶行为的模拟方法及装置 |
CN109934897A (zh) * | 2019-03-06 | 2019-06-25 | 珠海金山网络游戏科技有限公司 | 一种摆动效果模拟系统、方法、计算设备及存储介质 |
CN109934897B (zh) * | 2019-03-06 | 2023-01-10 | 珠海金山数字网络科技有限公司 | 一种摆动效果模拟系统、方法、计算设备及存储介质 |
CN110322540A (zh) * | 2019-07-09 | 2019-10-11 | 北京电影学院 | 基于流体力学与gpu优化渲染的可交互水墨模拟方法 |
CN112631322A (zh) * | 2020-11-19 | 2021-04-09 | 一飞(海南)科技有限公司 | 生成集群无人机表演动画的方法、系统、无人机及终端 |
CN113902868A (zh) * | 2021-11-18 | 2022-01-07 | 中国海洋大学 | 一种基于Wang Cubes的大规模海洋场景创作方法及装置 |
CN113902868B (zh) * | 2021-11-18 | 2024-04-26 | 中国海洋大学 | 一种基于Wang Cubes的大规模海洋场景创作方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108090939B (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108090939A (zh) | 基于集群协同算法与gpu优化渲染的海底生物集群模拟方法 | |
Xu et al. | Crowd simulation and its applications: Recent advances | |
US11514673B2 (en) | Systems and methods for augmented reality | |
Jin et al. | Interactive control of large-crowd navigation in virtual environments using vector fields | |
Ivanov et al. | A walk among the data | |
Davison et al. | LifeBrush: Painting, simulating, and visualizing dense biomolecular environments | |
CN102693550A (zh) | 虚拟场景中的智能群体运动模拟方法 | |
KR20050042916A (ko) | 입자동역학 해석기법과 볼륨렌더링 기법을 이용한 실시간 유체유동 시뮬레이션 및 렌더링 방법 | |
Nasir et al. | A survey on simulating real-time crowd simulation | |
Hachaj et al. | Knowledge Bricks—Educational immersive reality environment | |
Richmond et al. | A high performance framework for agent based pedestrian dynamics on gpu hardware | |
Azahar et al. | Survey on real-time crowds simulation | |
Nasir et al. | Simulating large group behaviour in Tawaf crowd | |
Klein et al. | 3d multi-agent simulations in the breve simulation environment | |
Chen et al. | Application of interactive genetic algorithms to boid model based artificial fish schools | |
Song et al. | A brief technical note on haptic jellyfish with Falcon and OpenGL | |
McAdam | Continuous interactive simulation: Engaging the human sensory-motor system in understanding dynamical systems | |
Meng | Intelligent Animation Creation Method Based on Spatial Separation Perception Algorithm | |
Dong-Jo | Interactive Media Art based on Bio-mimesis for the Ecosystem | |
DiPaola et al. | Experiencing belugas: Action selection for an interactive aquarium exhibit | |
Lu et al. | DADIM: A distance adjustment dynamic influence map model | |
Alberto et al. | Realistic behavior of virtual citizens through procedural animation | |
CN117409127B (zh) | 基于人工智能的实时水墨流体渲染方法和装置 | |
He et al. | The Integration of Visual Modeling and Interactive Technology of Virtual Landscape Architecture | |
Capin et al. | Integration of avatars and autonomous virtual humans in networked virtual environments |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210903 Termination date: 20211123 |