粒子系统(精选12篇)
粒子系统 篇1
摘要:粒子系统在描述自然景物中具有很大的优势,建立一种简单有效可扩展的粒子系统构造方法是必要的。方法:通过分析北卡罗来纳大学开发的粒子系统API函数库(API for Particle Systems)功能以及接口,在此基础上构造了几种常见的粒子系统。结果:在该函数库基础上进行适当扩展或将其它方法(如纹理贴图)与其相结合构造具有较强真实感与实时性粒子系统是一种简单有效的方法。
关键词:场景漫游,粒子函数库,粒子系统
粒子系统在描述自然景物中(如水流、喷泉、爆炸效果等)具有很大的优势,是由W.T.Reeves在1983年提出的,最早用于模拟火焰、烟雾等,以后被逐渐用于生成真实感的自然景物(如雨、雪、树木[1]等)以及动画[2,3]中。近十多年,粒子系统已广泛应用于虚拟场景、游戏娱乐及物理仿真等场合。
本文在分析北卡罗来纳大学开发的粒子系统API函数库(API for Particle Systems)[4]功能以及接口基础上构造了几种常见的粒子系统。
1 粒子系统 API特征
目前粒子系统的构造主要是通过构造特殊的模型即数据结构来实现[5,6],编程复杂,开发周期长,代码重复利用率低,且较难掌握。若能在函数库基础上构造出需要的粒子系统,将使效率大大提高。
由于粒子系统的设计会大大增加系统每帧绘制的可见多面体数量,要达到较好的真实感效果与实时性,对数据结构的构造及内存的管理都提出了较高要求。同OpenGL及Direct3D一样,函数应独立于硬件系统,可移植、实现重用。粒子系统API设计被具体的目标和条件所限制,要构造较好的粒子系统,API函数至少应具备以下几个特征:
(1)运行效率。这是粒子系统追求的主要目标之一,对于提高系统的实时性至关重要。
(2)灵活性。用户可灵活构造多种粒子效果,并非局限于某种特殊现象。
(3)参数的独立性。由于粒子构造的灵活性,实现一种特殊效果的设计空间可能十分大,函数参数要独立、明确,对函数是透明的。
(4)模拟质量可调。不同场合需要的模拟质量不同,有的强调质量而有些则对速度有较高要求。
(5)独立于硬件及应用程序,接口简单、易于移植及重复利用。
2 粒子系统 API库相关概念
(1)粒子组
粒子组中所有粒子的行为模式相同。系统中可以同时存在几个粒子组,但函数只作用于当前粒子组。
(2)行为
行为指当前粒子组粒子的属性。该库共拥有27种行为函数,用户可以根据需要进行修改或扩展加入新的行为函数。绝大多数特殊效果拥有3—8个行为,每个行为函数都要遍历粒子组所有粒子才能赋予这种行为。这种特征使行为的组合较为灵活。
(3)行为列表
产生某种效果的多种行为封装后即称为行为列表。这些行为列表给出了粒子效果的抽象,并提供了接口。这种机制有两个好处:
a.减少应用程序与计算粒子动态特性的硬件系统之间的通信。
b.行为列表可以用于识别和优化特定的行为组合。
(4)属性及域
粒子必须被赋予颜色、速度、大小及初始生命周期等特征。为了避免仅用一个单独的命令就将所有的特征赋给粒子,增加API的灵活性,可以存储粒子当前的颜色、速度、大小等数据作为当前API的状态。这种做法同在OpenGL中用glVertex产生一个顶点之前,需要glNormal,glColor或glTexcoord等函数相类似。
许多粒子效果要求粒子的初始特性值富于变化,而上面的状态设置不具备这样的特性。为了解决这个难题,函数库引入了域的概念,域能准确说明色彩空间的区域,这个区域能随机选择每个粒子的颜色;或空间向量的范围;或粒子的速度等。
一个域使用最多九个浮点数来定义,如pDTriangle有三个三维数据点;pDCylinder有一个轴矢量,一个轴点和内外部半径。所有的API调用都使用拥有一个上限与下限的可计量定义域,根据九个带缺省值的浮点数,使简单定义更加具体化。
pDBlob域通过由具体的点和高斯概率密度规定的标准偏差量定义一个模糊区间。概率密度用于选择域中一个随机的点,或确定给出的点是否在域中。pDBlob域对于API的模拟质量是非常重要的,因为很多自然现象的随机特征都呈正态分布。为使粒子运动速度具有更好的随机特征,初始速度选择通过PPDisc域按正态分布随机选取;pStartingAge有一个随机的标准偏移变量,通过这种方法,避免由于粒子的初始值相同,死亡时刻是正态分布而非同时死亡。
该函数库对粒子的构造主要通过粒子类型、颜色、速度或运动特征等来获得真实感效果。
3 粒子系统 API功能及接口
此函数库函数具备四种功能:
(1)用于粒子组操作和管理;(2)作用于粒子组的行为;(3)设置库当前状态;(4)创建及操作行为列表。例如:
函数接口同OpenGL相似,独立于硬件系统、操作系统,具有广泛的可移植性和可扩展性。API使用C函数形式,函数名采用pFunctionName格式,如“voidpColor(float red, float green, float blue, float alpha =1.0)”。在一般事件中,大多数调用通过缺省值来定义,当然也可根据具体需要自己设定。
4 粒子系统的构造
粒子系统的基本思想是采用许多形状简单的微小粒子(例如点、小立方体、小球等)作为基本元素来表示自然界的不规则景物,粒子的创建、消失和运动轨迹由所造型物体的特性控制,从而形成景物的动态变化。由粒子系统表示的物体,要么是给定时刻粒子的位置,如瀑布、焰火、喷泉或鸟群等,要么是粒子的一部分运动轨迹,如草和树等。
a)瀑布b)雨景
根据这种思想,在该函数库基础上,用简单的几何图元来构造合适的粒子系统来模拟不规则景物。本文基于该函数库建立的两个粒子系统(基于线条绘制,未进行纹理贴图):a为12000多个粒子,绘制速率达到10fps以上;b为6000多个粒子,绘制速率达到20 fps以上。实验结果如图1所示。
瀑布生成关键代码如下:
5 结论
粒子系统在描述自然景物中具有很大的优势,建立一种简单有效可扩展的粒子系统构造方法是必要的。基于此种方法在构造粒子系统时,不同粒子的初始化方式和更新方式会有所不同,但其余模块具有通用性,如粒子的移动、颜色的改变、重力对粒子的作用、弹跳等。在该函数库基础上进行适当扩展或将其它方法(如纹理贴图)与其相结合构造具有较强真实感与实时性粒子系统是一种简单有效的方法。
粒子系统 篇2
将粒子群优化的BP神经网络作为模型,参考自适应控制系统的控制器,把参考模型输出与系统实际输出的均方误差作为PSO-BP神经网络的适应函数,通过PSO算法强大的搜索性能使自适应控制系统的`均方误差最小化.仿真实例结果表明,基于粒子群优化算法的BP神经网络自适应控制系统收敛快、精度高,有较好的网络的泛化和适应能力,能够很好地控制系统的输出跟随参考模型的输出.
作 者:陈聆 闫海波 毛万标 CHEN Ling YAN Hai-bo MAO Wan-biao 作者单位:陈聆,CHEN Ling(成都理工大学信息管理学院,数学地质四川省重点实验室,成都,610059)
闫海波,YAN Hai-bo(新疆财经学院,乌鲁木齐,830012)
毛万标,MAO Wan-biao(西昌卫星发射中心技术部,四川,西昌,615000)
粒子系统 篇3
许多抗癌药物针对快速生长的细胞,在被注入患者体内后,药物在血液中四处巡航,然后才发生作用。但不幸的是,这些细胞除了肿瘤,还包括头发毛囊、消化道内壁和皮肤。
多伦多大学生物材料和生物医学工程研究所陈志和教授领导的研究团队,最新设计出一组可附着于DNA(脱氧核糖核酸)链的纳米粒子,这些粒子可改变形状以到达病灶。
陈志和教授解释说,人体好比一栋公寓,公寓房内有很多的房间。要想将东西搬进特定房间,首先必须描绘出一张地图,然后开发出一个可在房子内穿梭的系统,这个系统的每条路径可通达具有不同限制(如高度和宽度)的目标房间。他说,没有两个肿瘤是完全相同的,如某种特定治疗方案对早期乳腺癌的治疗效果与胰腺癌的就不同,甚至与中后期乳腺癌的治疗效果也不同。哪种药物粒子可到达哪种肿瘤内部,取决于粒子大小、形状和表面化学特性等多种因素。
研究团队发表在最新一期《美国国家科学院院刊》和《科学》杂志上的论文称,他们对这些因素如何影响小分子交付到肿瘤进行了研究,最终设计出一种使用模块化纳米粒子的靶向分子交付系统,其中纳米粒子的形状、大小和化学特性可由特定的DNA序列改变。这种可形变的纳米粒子就像是乐高积木,可构建出许多形状,结合点位既可暴露也可隐藏。就像一把钥匙开一把锁那样,通过改变形状,纳米粒子便可与生物分子发生响应。
这些形状转换器由附着了DNA链的细微金属块组成。纳米粒子将在血流中无害漂浮,直到一个DNA链与一个代表癌症标记物的DNA序列结合。此时,纳米粒子开始改变形状,然后执行其功能,即定位癌细胞,将药物分子释放到癌细胞,用信号分子对癌性细胞进行标记。
(科技日报)
基于粒子系统建模原理 篇4
1 粒子系统建模原理
1.1 粒子系统理论概述
为了解决由大量小颗粒组成的自然场景在电脑屏幕显示的模拟[1]与显示的问题,在1983年Reeves[2]提出粒子系统这一重要理论,该理论有效的利用简单的算法来实现具有不规则形状且变化复杂的自然场景[3],例如大规模爆炸、烟雾[4,5]、火焰、雨雪及云的模拟都可以利用粒子系统来模拟完成。
粒子系统具有很大的随机性,是由大量的粒子元素构成的,这恰好满足了自然场景随机运动以及扩散的条件,随着时间的推移,粒子数目不断增多,从自然场景的局部构建到整体构建,形成了完整的建模过程。
1.2 粒子系统的特点和缺点
与传统的物理方法建模相比,粒子系统有着自身独特的优势:
(1)选择灵活性:粒子系统是通过大量的粒子或几何图元组合在一起形成大规模的自然场景,对于场景的不同,粒子数量和粒子基本图元的选择都具有很大的灵活性,我们可以使用点作为基本图元,也可以使用多变性作为基本图元,这样就可以不必按照传统图形学的严格用多边形的方法来描述。当然,我们可以选择用10000粒子模拟战场中的大规模爆炸,也可以用3000粒子模拟蜡烛的火焰,粒子数目的多少取决与场景的大小,这些灵活的处理会在算法上得到简化,提高实时性。
(2)动态灵活性:与传统的建模方法不同,粒子系统的建模是一个动态的过程,摒弃了原有的静态系统。粒子系统可以模拟物体的动态特征,粒子都是随着时间的推移而发生变化,位移的变化,速度的变化,颜色的变化以及形状的变化等等,粒子属性的不断变化使得整体系统形态发生变化。
(3)随机灵活性:粒子系统的运行符合随机过程,粒子的各种属性值是在一定范围内通过随机过程随机产生的数值,并且随着时间的推移各种属性都在进行随机的变化,通过调整参数可以改变视觉效果。
尽管粒子系统在模拟不规则物体方面有着很大的优越性,但是还是有一定不足之处:
(1)粒子系统中粒子的数量直接影响渲染的实时性,一些大规模的场景需要大量的粒子绘制,这样整个系统的开销十分庞大,降低了实时性。因此,在模拟大规模场景的物体时需要把握粒子的数量,使得真实性和实时性达到平衡,这也需要大量的实验来验证完成。
(2)粒子系统的模拟主要针对的是不规则的物体,相比模拟规则形状的物体,粒子系统方法就不一定能达到最好的效果,相反可能会丢失一些细节。因此在模拟不规则物体的时候,细节的变化的模拟将是一大挑战。
2 粒子系统的基本模型
粒子系统是由大量称为粒子的简单体素组成的,这些粒子都有属于自己的一组属性,位置、速度、颜色、大小、生命周期等。每一个粒子都要经历完整的生命周期:产生,运动和死亡。粒子通常在指定的区域又随机过程产生[6],并不断更新属性,最后死亡。由于粒子的不断运动,使得模拟的场景具有一定的动态性,因此用粒子系统模拟战场烟雾,爆炸以及火焰会有独特的效果。
通常粒子系统模拟自然场景时的基本步骤如下:
(1)产生粒子并初始化属性。根据所要绘制的场景选择产生粒子的位置,数量并对这些粒子进行初始化属性赋值,最后将粒子加入粒子系统中。
(2)粒子属性的更新。根据模拟物体的运动规律及时更新粒子的运动位置、速度、生命周期等属性。
(3)将“死亡”粒子从系统中删除。随着粒子属性的不断更新,一些粒子已经达到了自己的生命周期,或者颜色与背景重合,为了提高整个系统的性能,需要将“死亡”粒子从系统中除去。
(4)绘制图像。对于系统中尚存在的那些粒子,选择一定的绘制算法将其绘制成图像并通过屏幕显示出来。
粒子系统产生的流程图模型如图1所示:
图1所示的是粒子生成的流程,但是在粒子系统中,不同粒子属性的更新方式不尽相同,一般粒子都会具有以下几种属性:
1.粒子所在位置:Position
2.粒子的速度:Velocity
3.粒子的大小:Size
4. 粒子的透明度:Alpha
5. 粒子的颜色:Color
6. 粒子的生命周期:Lifetime
为了方便管理每个粒子,我们在编写程序中可以将粒子归为一个类Particle Group。相应的伪代码如下所示:
在粒子系统的基本模型中可以分为三个部分:层次结构部分,粒子绘制部分,粒子系统控制机制。在本节中提到的4个步骤中,步骤(1)(2)(3)共同组成了粒子系统的控制机制,而步骤(4)是粒子绘制部分。在实际的模拟场景中,根据不同的模拟场景的特点来确定以上基本步骤。
3结束语
粒子系统可以在各种各样的环境下对不规则的自然场景进行建模,粒子的随机性可以模拟动态的场景,并且可以达到较好的效果,通过粒子属性的不断更新来完成粒子的运动状态,最后将死亡的粒子从系统中删除,运用粒子系统建模将是近年来学者们研究的重点方向。
参考文献
[1]庞新,王相海.基于0pen GL的礼花粒子系统模拟研究[J].计算机科学,2008,35(5):216-219.
[2]Reeves W T.Particle System-a Technique for Modeling a Class of Fuzzy Object[J].ACM Computer Graphics(SIGGRAPH’83)(S0730-0301),1983,17(30):359-376.
[3]徐阳东.基于粒子系统不规则景物建模研究[D].济南:山东师范大学,2009.
[4]张海山,吴家铸.基于粒子系统的火箭发射烟雾特效实现[J].微计算机信息(管控一体化卷,2008,24(12-3):248-249.
[5]赵春霞,张艳,战守义.基于粒子系统方法的三维火焰模拟[J].计算机工程与应用,2004,40(28):73-75.
粒子物理博士论文开题报告 篇5
6.2 四种双亲分子团簇判据的比较 86-91
6.2.1 模拟方法介绍 86
6.2.2 结果和讨论 86-91
6.3 四种团簇法则的总结和评估 91-93
第七章 总结和展望 93-97
7.1 内容提要 93-94
7.2 论文结论 94-96
7.3 工作展望 96-97
参考文献 97-107
六、本文研究进展(略)
七、目前已经阅读的主要文献
1. Li, D.; Kaner, R. B., Shape and Aggregation Control of Nanoparticles: NotShaken, Not Stirred. J. Am. Chem. Soc. 2006, 128, 968.
2. Patzke, G. R.; Zhou, Y.; Kontic, R.; Conrad, F., Oxide Nanomaterials: SyntheticDevelopments, Mechanistic Studies, and Technological Innovations. Angew. Chem.Int. Ed. Engl. 2011, 50, 826.
3. Das, P.; King, J. A.; Zhou, R., Aggregation of Γ-Crystallins Associated withHuman Cataracts Via Domain Swapping at the C-Terminal Β-Strands. Proc. Natl.Acad. Sci. U.S.A. 2011, 108, 10514.
4. Porter, A. E.; Gass, M.; Muller, K.; Skepper, J. N.; Midgley, P. A.; Welland, M.,Direct Imaging of Single-Walled Carbon Nanotubes in Cells. Nat. Nanotech. 2007, 2,713.
5. Liu, S.; Wei, L.; Hao, L.; Fang, N.; Chang, M. W.; Xu, R.; Yang, Y.; Chen, Y.,Sharper and Faster “Nano Darts” Kill More Bacteria: A Study of AntibacterialActivity of Individually Dispersed Pristine Single-Walled Carbon Nanotube. ACSNano 2009, 3, 3891.
6. Bhattacharjee, J. K.; Kaatze, U., Fluctuations near the Critical MicelleConcentration. II. Ultrasonic Attenuation Spectra and Scaling. J. Phys. Chem. B 2013,117, 3798.
7. Whitesides, G. M.; Grzybowski, B., Self-Assembly at All Scales. Science 2002,295, 2418.
8. Srinivas, G.; Klein, M. L., Molecular Dynamics Simulations of Self-Assemblyand Nanotube Formation by Amphiphilic Molecules in Aqueous Solution: ACoarse-Grain Approach. Nanotech. 2007, 18, 205703.
9. Wickner, W., Assembly of Proteins into Membranes. Science (New York) 1980,210, 861.
10. Sterpone, F.; Briganti, G.; Pierleoni, C., Sphere Versus Cylinder: The Effect ofPacking on the Structure of Nonionic C12e6 Micelles. Langmuir 2009, 25, 8960.
11. Daful, A. G.; Avalos, J. B.; Mackie, A. D., Model Shape Transitions of Micelles:Spheres to Cylinders and Disks. Langmuir 2012, 28, 3730.
12. Chandler, D., Interfaces and the Driving Force of Hydrophobic Assembly. Nature2005, 437, 640.
13. Hargreaves, R.; Bowron, D. T.; Edler, K., Atomistic Structure of a Micelle inSolution Determined by Wide Q-Range Neutron Diffraction. J. Am. Chem. Soc. 2011,133, 16524.
14. de Aguiar, H. B.; de Beer, A. G. F.; Strader, M. L.; Roke, S., The InterfacialTension of Nanoscopic Oil Droplets in Water Is Hardly Affected by Sds Surfactant. J.Am. Chem. Soc. 2010, 132, 2122.
15. Jusufi, A.; LeBard, D. N.; Levine, B. G.; Klein, M. L., Surfactant ConcentrationEffects on Micellar Properties. J. Phys. Chem. B 2012, 116, 987.
16. Chandler, D., Physical Chemistry - Oil on Troubled Waters. Nature 2007, 445,831.
17. Lin, J.-Q.; Zhang, H.-W.; Chen, Z.; Zheng, Y.-G.; Zhang, Z.-Q.; Ye, H.-F.,Simulation Study of Aggregations of Monolayer-Protected Gold Nanoparticles inSolvents. J. Phys. Chem. C 2011, 115, 18991.
18. Li, T. I.; Sknepnek, R.; Macfarlane, R. J.; Mirkin, C. A.; Olvera de la Cruz, M.,Modeling the Crystallization of Spherical Nucleic Acid Nanoparticle Conjugates withMolecular Dynamics Simulations. Nano Lett. 2012, 12, 2509.
19. Goetz, R.; Lipowsky, R., Computer Simulations of Bilayer Membranes:Self-Assembly and Interfacial Tension. J. Chem. Phys. 1998, 108, 7397.
20. Cardinaux, F.; Zaccarelli, E.; Stradner, A.; Bucciarelli, S.; Farago, B.; Egelhaaf, S.U.; Sciortino, F.; Schurtenberger, P., Cluster-Driven Dynamical Arrest inConcentrated Lysozyme Solutions. J. Phys. Chem. B 2011, 115, 7227.
21. Mahmoudi, M.; Lynch, I.; Ejtehadi, M. R.; Monopoli, M. P.; Bombelli, F. B.;Laurent, S., Protein-Nanoparticle Interactions: Opportunities and Challenges. Chem.Rev. 2011, 111, 5610.
22. Capito, R. M.; Azevedo, H. S.; Velichko, Y. S.; Mata, A.; Stupp, S. I.,Self-Assembly of Large and Small Molecules into Hierarchically Ordered Sacs andMembranes. Science 2008, 319, 1812.
23. Wong, G. C. L., Hierarchical Self-Assembly of F-Actin and Cationic LipidComplexes: Stacked Three-Layer Tubule Networks. Science 2000, 288, 2035.
24. Giovambattista, N.; Lopez, C. F.; Rossky, P. J.; Debenedetti, P. G.,Hydrophobicity of Protein Surfaces: Separating Geometry from Chemistry. Proc. Natl.Acad. Sci. U.S.A. 2008, 105, 2274.
25. Mittal, J.; Best, R. B., Thermodynamics and Kinetics of Protein Folding underConfinement. Proc. Natl. Acad. Sci. U.S.A. 2008, 105, 20233.
26. Lucent, D.; Vishal, V.; Pande, V. S., Protein Folding under Confinement: A Rolefor Solvent. Proc. Natl. Acad. Sci. U.S.A. 2007, 104, 10430.
27. Giovambattista, N.; Rossky, P.; Debenedetti, P., Phase Transitions Induced byNanoconfinement in Liquid Water. Phys. Rev. Lett. 2009, 102, 050603.
28. Zhang, S. Q.; Cheung, M. S., Manipulating Biopolymer Dynamics byAnisotropic Nanoconfinement. Nano Lett. 2007, 7, 3438.
29. Desarnaud, J.; Derluyn, H.; Carmeliet, J.; Bonn, D.; Shahidzadeh, N.,Metastability Limit for the Nucleation of Nacl Crystals in Confinement. J. Phys.Chem. Lett. 2014, 5, 890.
神秘的上帝粒子 篇6
(小好奇)
2012年7月2日,美国能源部下属的费米国家加速器实验室召开新闻发布会,他们声称获得了最新数据,证明了被称为上帝粒子的希格斯玻色子的存在,从而揭开了宇宙物质质量的来源之谜。
众所周知,构成宇宙万物的最小物质单位是基本粒子,包括夸克、电子等,而要解释这些基本粒子的质量来源,必须找到最后一种基本粒子——上帝粒子的希格斯粒子。
在过去几十年内,全球粒子物理学家都在寻觅“上帝粒子的踪迹。其中,最著名的两个机构是位于瑞士日内瓦市郊的欧洲核子中心和美国费米国家加速器实验室。
2008年,欧洲核子中心建成启用了全球能量最大的强子对撞机,来自几十个国家的数千名学者参与研究。新粒子不是一下子发现的,是长期数据积累的结果。在经过上亿次数据采集、分析的基础上,欧洲核子研究中心的科学家们在2011年逐渐发现了一些新粒子存在的迹象。
2011年12月13日,欧洲核子研究中心的科学家示,他们发现了希格斯玻色子存在的迹象,因为它是宇宙中所有物质的质量之源。但是随后,欧洲科研人员又表示,现有数据无法确切证实,估计可能在2012年年底得到答案。对此,一些科学家提出质疑:1.考虑其他误差后,不能说找到了希格斯玻色子存在的证据。对欧洲核子研究中心13日得出的研究结果,综合后的结论是无效的。 2.就是找到后,也只能解析为什么其他粒子会有质量,而不是给物质以质量。3.有科学家认为,上帝粒子是媒体误导的夸大之词。
新型纳米粒子药物递送系统 篇7
该项技术由位于美国马萨诸塞州的BIND生物科学公司所研发。这种名为BIND 014的纳米粒子药物递送系统通过将药物包裹在一个“特别制造的传送包内”来解决药物传送中的三大难题:如何确保治疗性分子到达体内正确位置、如何在数天内缓慢地释放药物以及如何保证免疫系统不将其视作外来之物而加以破坏。该“传送包”由麻省理工学院智能药物控释教授罗伯特·朗格和BIND公司的创办者、哈佛大学教授法欧米德·罗萨德所设计。
BIND 014的直径仅为人类头发丝的千分之一, 大约100纳米, 由4部分组成。首先是一个负载———一种普通的化疗药物多西他塞 (Docetaxel) 。多西他塞分子被包裹在一个可降解的塑料聚乳酸制品中, 聚乳酸会在进入人体后的几天之内缓慢分解, 因此, 该药物也会慢慢释放出来, 这意味着, 注射一次纳米粒子, 效用可持续比较长的时间。
接着, 科学家用聚乙二醇将这个装满了药物的“子弹头”包裹起来, 从而将纳米粒子隐藏起来, 以免被身体的免疫系统如抗体和巨噬细胞发现并攻击。该纳米粒子的最后一层为“智能”靶向系统———包含特殊的酶和靶向配体, 该系统会同前列腺癌细胞中的分子前列腺特异膜抗原结合在一起, 使得这些纳米粒子在释放出药物前集结在肿瘤处。
朗格称, 这种药物递送系统的不同之处在于, 它能通过一种PMSA分子进行定位, 非常精确地找到病源, 同时避开身体的免疫系统。而在动物身上所进行的实验表明, 该纳米粒子能在前列腺肿瘤附近集结, 杀死肿瘤细胞。
BIND公司制药科学副总裁杰夫·哈凯基表示, 这是首个进入临床实践的可递送化疗药物的靶向型纳米粒子。接下来, 公司会将其发展成一个平台, 用于治疗心血管疾病、各类炎症, 甚至传染性疾病。
粒子系统与分形运动 篇8
德勒兹在《福柯褶子》一书中阐述了关于莱布尼兹和褶子的几个重要概念—打褶 (fold) 、展开 (unfold) 、包裹 (envelop-container) 等, [1]为参数化设计思想和游牧空间等建筑哲学概念奠定了基础。德勒兹认为, 褶子的变化是基于平滑和游牧的。褶子单子并不是空间中零散的、个体的点, 各个点之间具有平滑的过渡。空间褶子的折叠和展开是连续变化的, 有着密不可分的联系。与零散的砂砾聚集成团状物的机制不同, 哲学意义上的褶子不是断裂的, 而是平滑连续的, 褶子之间的关系如同纸张一样具有连续性。[2]
粒子系统是由一群受同一规则控制的粒子运动形成的集群。它由空间中数量众多的离散点 (粒子) 构成, 粒子之间由控制系统的生成规则相互关联, 形成具有统一性的整体。与褶子类似, 在粒子系统中, 粒子之间的运动和变化是连续的, 并不是许多单个无联系的点所聚集成的团状物, 而是受类似于连续纸面般的折叠机制统一控制。
从空间和时间维度上看, 运动的粒子具有分形维度, [3]某些特殊类型的粒子系统更具有典型的分形运动特性和形态特征, 恰与哲学上的褶子具有以自身规则不断分化折叠的特性一样。[4]本文主要围绕具有分形运动特性的粒子系统的设计控制要素展开讨论。
二、粒子系统的设计控制因素
许多商业三维软件都可以生成具有成熟数学算法的粒子系统, 如3d s Max、Maya、Realflow等。电影级的三维软件已经能够完全模拟自然界中的各种粒子运动, 达到C G粒子系统完全仿真物理现实的程度。以数学公式为基础计算生成分形结果的软件Chaoscope等最终生成的三维点云也可以视为一种受单一数学规则控制的粒子系统 (1) 。
粒子系统在分形形态生成中的控制可以归结为三个主要因素。一是基本单元 (粒子) , 二是控制单元体的基本分布规则 (内力, 或者代理系统中代理粒子间的互动关系) , 三是影响整体组合规则的外部影响因素 (外力) 。这三种因素互为影响, 缺一不可。改变基本单元或者组合因素, 而影响因素不变, 最终的形态也完全不同;反之亦然。
初始的粒子系统, 犹如一个参量完全设置为零的数学公式, 当设计师输入基于设计需求的设计变量时, 粒子系统才能够根据内部的机制进行运动, 进而产生相应的设计结果。粒子系统的设计过程不仅是一种基于物理实验现象 (如流体力学对液体粒子性质的重现) 的模拟, 更重要的是虚拟实验条件的设置。设计的过程, 实际上就是针对“设计参数”的设计过程, 往往比纯粹的物理模拟过程更为复杂。
物理现象和数字现象的发生条件往往并非一一对应。例如, 在水中滴入蓝墨水, 观察蓝墨水在水中的扩散现象。在这个实验过程中, 物理实验条件涉及到水和墨水两种液体, 蓝墨水注入水中时的控制条件涉及墨水注入的角度、深度、速度等条件变量, 同时水的密度、水温、初始运转速度都有可能影响蓝墨水在其中运动的形态。毕竟物理现象形成的机制是非常复杂的, 无法完全用数学公式进行模拟, 因此在粒子系统的设计过程中, 如果用两种粒子流真实地去模拟两种液体之间的碰撞和交互的过程, 有可能无法得到和实验现象类似的分形现象。因此, 在如图1案例所进行的实验模拟中, 只用了单一的粒子流, 利用不同类型力场的作用以及力场的时间叠加效应, 人为地控制最终粒子的运动状态。设计粒子参数的过程就是重新构筑“设计图解”的过程, 因此设计过程更重要的是调整并且设置各种数字化参数, 使结果更趋近于设计需要的形态和空间效果。
三、粒子与力场
粒子系统的形态是由运动决定的。粒子系统的运动特性受到两方面因素的控制:一是外部影响因素, 即外部力场和外部边界条件等;二是粒子彼此之间内部的相互作用, 也就是粒子系统的内力。内力是粒子系统的特有属性, 例如液体粒子和气体粒子之间的张力、拉力、凝聚力等, 即使在完全相同的外部影响因素作用下, 气体和液体粒子所产生的运动状态也不会完全一样。粒子系统形成的最终形态, 会由于外部和内部力场作用的不同而千变万化。
建筑是各种社会因素共同作用下的产物, 必然受到各种社会因素的影响。在建筑设计中建筑形态会受到功能需求、场地条件、气候环境等因素的影响。如果将建筑所受的外部和内部影响理解为力场的作用, [5]那么力场的决定因素有多种, 例如社会领域的政治、经济、技术等因素, 以及自然界的太阳、风、光照、地质的变化等。正因如此, 即使运用最简单的分析法则和完全一样的基本单元来进行建筑设计, 最终产生的结果也具有不可置信的多样性。
对粒子系统的总体形态影响最大的是外部力场 (图2) 。外部力场的主要控制条件包括外部力场类型, 以及力场的作用方式、作用时间、外部边界条件等。力的作用具有时间叠加效应, 粒子在一个力场的作用下运动一段时间, 当原有力场撤除并且增加新的力场时, 粒子会在由原有力场生成的形态基础上进行新的运动, 形成不同的复杂性。
内部和外部力场的自我相似性是最终形态具有自我相似性的成因。如图3, 粒子运动受多个类似的涡旋力场控制, 力场中又有下一层次的涡旋力场对运动中的粒子进行进一步驱动, 粒子之间的内部相互作用与外部力场共同影响粒子的运动状态, 最终形成了具有自我相似特征的粒子运动群。
粒子系统中单元体之间的相互碰撞以及所产生的局部相互关系是类似的, 共同影响了集群的整体状态, 同时又受到整体相同原则的控制, 与整体形态类似, 进而形成了自我相似的特征。[6]每个粒子之间的相互作用虽然取决于局部之间的内力, 但都遵循预先设定的整体原则进行运动。如同社会中的每个个体, 虽然具有差异化的行为特征, 其行为取向取决于个人的自我判断, 但群体的行为特征仍然受控于整个社会的属性。这种特性符合分形中关于“子整体”的特性, 也就是个体的聚集形成整体, 个体行为会影响整体, 同时整体的规则控制个体。
四、粒子系统的单体
粒子可以视为一群抽象的单体。单个粒子可以是数学上抽象的、不占用任何体积的点, 也可以是一滴水滴、一个建筑单元、飞翔的鸟群中的一只鸟、奔跑的牛群中的一头牛这种具象的物体, 我们可以根据需要为粒子赋予所有可能类型的具象或者抽象的含义。一个粒子甚至可以是另一个单独运动的粒子系统, 实现粒子系统中嵌套多层次粒子系统。
由于粒子流最终形成的形态是由空间中无数个离散的粒子构成的, 要生成可建造的建筑实体必须形成连续的面或者是相互关联的构件体系。当粒子系统各个单元体之间紧密地联系在一起, 相互重叠或者并置时, 就能够完整覆盖建筑形态, 因此粒子系统具有包容空间的特性。
当前的主流粒子软件主要采用以下的几种方式进行粒子可见形态的构成, 实现从抽象的点到可以表现的网格实体之间的连接。
一是将空间中每一个粒子计算为metaball实体, 由于metaball之间的相互融合作用而形成了连续的最终形态。由于metaball实体形成的连续体具有更加光顺的表面, 因此更适合于模拟流动的液体的形态 (图4) 。
二是利用某一种自定义的物体作为单元体替换粒子流中每一个粒子的点, 利用数量众多的单元体的集合形成最终的设计形态。如图5, 每个粒子由一条运动的鱼形物体代替, 粒子系统就表现为类似自然界中鱼群涌现的现象。
三是将每一个粒子点作为三角网格面的顶点, 通过三角形网格面将所有离散的点全部联系在一起。利用粒子的点作为空间中控制晶格的点, 形成网格面, 优化后作为Para Cloud等软件可以利用的控制点, 进行镶嵌类型的操作。粒子流的点成为镶嵌控制形态的构架。
无论是metaball还是自定义的单元体, 粒子的运动特性都可以成为控制单元体大小和方向的关键属性。粒子的运动方向、速度, 以及粒子之间相互吸引力的大小等均可以作为控制单元物体方向、间距和尺度的依据 (图6) 。
例如, 粒子的运动方向可以成为单元体的控制轴向, 运动速度可以成为控制轴向上拉伸的比例, 粒子之间相互作用力的大小可以成为单元体之间拓扑变形的控制参数。利用粒子本身的运动属性 (矢量、方向、速度、外力、内力) 成为单元体在空间中仿射变换的相应控制参数。
五、从离散的空间点云到有组织的空间组件建构
在粒子系统运动过程中的任何一个瞬间冻结粒子, 能够得到一系列固化的粒子群形态。分形的粒子流最美丽的瞬间, 往往是在其运动的过程中 (图7) 。固化的粒子形态是静态的, 但具有和运动的粒子一致的动态感和类似的分形维度。冻结的粒子群具有空间围合的潜力, 可以和外部物体互动形成动态的空间感 (图8) 。粒子流的瞬时性、历时性、动态感, 以及粒子流局部和整体之间内部规则的统一性共同构成了粒子系统的分形属性。
粒子系统的形态要进行建筑化运用, 就必须在某个运动的瞬间进行冻结, 冻结瞬间的形态就是那个运动瞬间的一种三维形态表达。实际上, 设计师可以选择在任何一个瞬间冻结粒子系统, 所有被冻结的瞬间形态形成同一体系下的一系列相似的形态集合。
粒子系统固化后形成的空间粒子云、三维扫描物件以后的点云以及许多数学公式软件模拟最后得到的计算结果都是离散的空间点云。其中粒子以空间中疏密有变化的点的形式存在。这些离散的点云必须以某一种算法进行规整和集合, 才有可能作为下一步设计的原型使用。
除了在上文中讨论的几种典型的粒子单体的处理方法外, 对常规点云的整体处理方式主要是按照以下步骤进行:将软件模拟或者是三维扫描得到的点云进行空间连接得到网格物体, 对网格物体进行优化, 重新构建N U R B S表面, 得到适合于建筑设计需求的原型;再根据设计的需求对原型进一步梳理, 进行表面优化、细化、表皮分片等。这种方法可以相对有效地直接从模拟结果中得到建筑雏形, 进而得到适合于建筑设计需求的结果, 得出与模拟形态较为接近的建筑形态 (图9) 。
当下已经有多种成熟的空间粒子算法, 如三角面连接、四分树连接、八分树连接等算法可以将粒子云整合为具有整体结构的更高层次的物体—网格。但是这种方式在处理的过程中丧失了粒子系统最重要的关键性属性—粒子间的相互关系和运动状态等。粒子已经不再是具有运动参数特性的个体, 只是一种为了形成固化的物体形态而存在的空间密度点。因此, 需要寻找其他能够同时保持运动参数、运动特性和运动结果的方式实现粒子系统的实体化和三维化 (图10) 。
一种处理方式是, 提取所有粒子的运动轨迹, 形成串联粒子运动状态的曲线, 以曲线作为下一步细化的基础 (图11) , 也可以将M a y a软件中的粒子运动状态直接提取为运动的数据流并导入Grasshopper中进行下一步建构的基础 (图12) 。通过这种方式, 粒子的运动方向、矢量、速度、相互关联等运动信息得到动态保存, 空间形态反映粒子的运动状态, 而不仅仅是粒子运动以后某一个时间点的固化形态。
另外一种处理粒子单体的方法是, 将单元体以层级型衍生的方式进行关联生长。如图13所示, 三角夹子之间利用相同规则不断堆积, 形成第一个层级的液体粒子单元, 再利用相同的规则进行分布扩散, 形成第二个层级的液体粒子单元;最小的单元和最大的空间围合之间的联系虽然完全是由相同大小的夹子构成, 但是从一定的距离范围外看, 已经具有了不同大小孔洞之间的并置, 也就是具有了分形的尺度特征。通过图底之间的转换, 我们将这些孔洞视为可利用的空间, 将围合孔洞的三角夹作为空间之间的分隔。在这个案例中, 空间和空间句法具有分形特性, 围合空间的单元体也具有分形的特征。
在利用三角夹子作为单元体进行粒子流状态重构的过程中, 夹子作为单个粒子的具象化的表现, 利用夹子之间连接的特性, 形成了从局部到整体统一的变化, 比用metaball直接进行粒子模拟的方式更能反映液体粒子之间的分形属性, 也更清晰地体现了建筑构件之间的构造特性。虽然最终的设计形态可能和模拟出来的形态并不完全一致, 但是体现了设计过程中更高层次的抽象。这是规则的重现, 而不仅仅是固化形态的呈现。
结语
粒子系统作为一种非常规的建筑设计工具, 无论在设计思维还是设计技术上仍然具有很大的潜力, 需要对算法和设计方式进行进一步的研究, 与建筑空间建构建立起更为直接的关联性, 成为更具有实际建构意义的算法和思维工具。
参考文献
[1]德勒兹.福柯褶子[M].于奇智, 杨洁, 译.长沙:湖南文艺出版社, 2001.
[2]徐卫国.褶子思想, 游牧空间—关于非线性建筑参数化设计的访谈[J].世界建筑, 2009 (8) :16-17.
[3]MANDELBROT B B.大自然的分形几何学[M].陈守吉, 凌复华, 译.上海:上海远东出版社, 1998.
[4]LYNN G.Folding in Architecture[M].London:Wiley-Academy, 2004.
[5]阿恩海姆.建筑形式的视觉动力[M].滕守尧, 朱疆源, 译.北京:中国建筑工业出版社, 2006.
动态系统中粒子群优化算法综述 篇9
粒子群算法(Particle Swarm Optimization,PSO)是由生物学家Kennedy和Eberhart于1995年提出的进化计算技术,该算法通过对鸟类觅食行为的模拟,从而实现对实际问题的优化。
PSO算法在高维空间函数寻优方面具有解质量高、鲁棒性好、收敛速度快的优点,因而在神经网络训练、函数优化、模糊系统控制、模式分类领域得到广泛应用。同时,PSO算法具有程序简单、设置参数少、收敛速度快、实现容易等特点,目前已被广泛应用于静态问题优化中。然而,直接利用PSO算法跟踪动态系统,其效果不佳,因此动态系统中PSO算法的改进尤为必要。本文主要对PSO算法在动态系统中的改进方法进行总结。
1 基本粒子群算法
PSO算法中每一个潜在的解都被称为一个“粒子”,粒子在解空间内“飞行”,并且具有速度和位置两种属性,粒子的位置受自身运动经验的影响(个体最优位置)以及所有粒子运动经验的影响(全局最优位置),在飞行过程中其速度和位置按照下式进行更新:
式(1)、式(2)中,vid(t)、xid(t)分别代表第i个粒子目前的速度和位置,yid(t)是粒子自身的最优位置,y(t)是粒子的全局最优位置,ω是惯性权重,c1、c2是学习因子,r1、r2是在[0,1]之间均匀分布的随机值,式(1)的第一部分代表了粒子对速度的记忆,第二部分是自我认知部分,引导粒子群飞向自身经过的最好位置,第三部分是社会部分,代表了粒子间的信息共享和相互合作,具体算法流程如图1所示。
2 动态优化问题
现实生活中许多优化问题都是动态的,例如,城市交通状况由于不同交叉口红绿灯的转换,可以连续地动态改变,这就可以看成动态优化交通问题。动态系统可以分为以下几种:(1)最优值不变,取得最优值时对应的位置发生改变;(2)保持位置不变,最优值改变;(3)最优值以及取得最优值时对应的位置均发生改变;(4)在多维系统中,这些改变可以同时或独立地发生在同一维或多维上[6]。
与静态优化不同,动态优化不仅需要达到最优值,而且还需要能够跟踪最优值的轨迹变化。近年来,人们越来越关注进化算法在动态系统中的优化问题,动态优化问题可以被描述为如下形式:
式(3)中,目标函数f由向量和时间t决定。
已有许多研究者对进化过程和进化算法做了研究,大多是从基准函数(三维Parabolic函数)中创建动态环境,文献和文献则详细提供了创建动态环境的一系列方法,并给出了具体应用。三维Parabolic基准函数如式(4),在(0,0,0)处取得最小值0。
对式(4)中的x增加偏移量Offset,即在一定的更新频率(每隔多少代)下,对基准函数在每一维上进行线性、环形、随机处理,即能够产生3种类型的动态轨迹:线性、环形、随机轨迹,其具体函数表达式如式(5):
然而,现实生活中的许多问题更加复杂多维且变化多端,因此,一个可以涵盖各种各样变化类型的测试函数应运而生,文献提供了该测试函数的表达式,见式(6):
式(6)中,N代表该动态系统中有多少个峰,并且每个峰在位置(Xi,Yi)上独立,其高度为Hi,倾斜为Ri,这些峰用Max函数混合起来,每一次生成器f(X,Y)被调用时,基于式(7)、式(8)作改变,就会产生新的随机的形态学类型。
该测试函数具有以下优点:(1)易生成较为复杂的问题;(2)适应值可以方便设置为所希望的数据;(3)可以扩展到高维空间;(4)函数提供了3种可以生成动态环境的特征(高度、位置、倾斜度)。当需要生成较为复杂的动态环境时,只需改变以下参数:N(峰的数目)、Rbase(倾斜度可控变量的最小值)、Rrange(允许的变化)、Hbase(斜坡高度的最小值)、Hrange(允许的变化值),简单易行。同时,文献则对两种动态环境作对比,动态函数DF1更能代表一些复杂多维的环境。
3 动态系统PSO优化方法
许多优化问题是动态的、时变的,它们的最优解将会随着时间的改变而改变。对于这种时变优化问题,优化算法不仅要迅速检测到环境的改变,同时,还要对改变作出相应的应对策略。Eberhart首先将基本PSO算法应用到动态系统中,结果显示当环境改变,频率、步长较小时,基本PSO能够及时跟踪动态极值。然而,当动态系统变化较大时,基本PSO算法检测和跟踪效果不好。因此,为了更好地适应动态环境变化,提出了一些经典的优化PSO算法以实时检测环境变化,并及时针对改变调整寻优策略。
3.1 检测、响应动态系统的PSO算法
Hu and Eberhart通过检测“固定的”最优值以及“改变的”最优值来判断环境的改变,“固定的”最优值即找到最优值后经过一定的代数,再次检测最优值,看其是否发生明显改变;“改变的”最优值[13]即每一代最优值的位置将会被重新计算,如果最优值改变,则说明环境发生了动态改变。针对这两种改变,本文给出了多种响应方法,可根据不同的应用,选择不同的响应方法。
Carlisle[14]提出了一种“哨兵”粒子群优化器,在解空间内用一个固定的点来检测环境的改变,在每一次迭代前,“哨兵”将会重新计算适应值,并与之前进化的值作对比,由于“哨兵”所在的位置是固定的,如果适应值发生较大改变,则说明环境发生了改变,“哨兵”将会提醒种群更新最优位置记忆;文献[15]同样是利用了“哨兵”的思维,但是由于Carlisle[14]的固定粒子改为一个或多个随机选择的粒子,这样就可以检测到全局的环境变化;文献[16]则在文献优化器的基础上,作出以下优化:当环境发生改变时,不是盲目取代最优值的位置,而是利用目前最优值的位置重新计算环境改变后的适应值,如果此时的适应值优于之前的最优值,则保留此处信息,这样就大大提高了寻优准确性。
3.2 自适应PSO算法
文献不需要实时检测环境的改变,它是基于传统的PSO算法,提出了一种新的粒子群最优适应值更新机制,传统的最优值更新公式如式(9):
当t+1时,比较最优值与f(Xi(t+1))的大小,保留最大值,自适应PSO算法更新公式如式(10):
在式(10)中,引入衰减常量T,T∈[0,1],个体最优值以及全局最优值将会以一定的速率随着时间衰减,目前位置的适应值将会高于衰减的适应值,并取代之前的适应值。尽管所有的粒子具有相同的衰减常量,但每一个粒子的更新频率也是不同的,当f(X)越来越大,f(P)越来越小,粒子将会频繁更新最优值,直至达到循环迭代次数,寻优停止。
Shimin引入了“活跃因子(Activity Factor,AF)”来评价粒子群搜索全局最优值的能力,可以被用来检测粒子的搜索状态并评价整个种群的收敛情况。在搜索空间里,AF可以定义如式(11):
式(11)中,Ai(t)是第i个粒子在时间t时的活跃度,wd是聚合粒子AF的惯性权重,Aid(t)是第i个粒子在第d维时的活跃度,它可以由式(12)获得:
其中,vid(t)是第i个粒子在时间为t、维度为d时的速度,Rd是在d维上的搜索范围,c是调谐变量。
根据AF的定义可知,当粒子运动缓慢时,AF的值很小。同时可以认为,整个种群达到最优值时,粒子才会保持缓慢运动的状态,这里将AF作为粒子群运动状态的评价标准,同时,在复杂的动态环境中,需要随机选取一部分粒子群为“活跃粒子”。当粒子群运动缓慢时,活跃粒子将会检测移动状态并且重新初始化,然后通过粒子群更好地搜索全局最优值。
3.3 混合PSO算法
Dianmin引进混沌变化技术,当环境发生动态改变时,由粒子群多样性引导的混沌技术进行响应,提高响应效率。目前,对混沌没有严格的定义,一般而言,混沌状态可以通过式(13)的logistic映射得到。
式(13)中,μ是控制因子,当μ=4时,处于完全混沌状态。
此处响应政策可以被描述为以下方式:当环境发生改变时,选择要被处理的粒子i,它目前的位置为xij(t),范围为[aj,bj],基于文献、文献,将粒子i的每一维映射到[-1,1],映射方法是:
式(16)将i映射到搜索空间:
这使得个体粒子具有智能的混沌变化,每个粒子不仅能通过个体极值点和全局极值点调整自身的位置,还可以通过混沌变异,调整粒子群的多样性,促进了粒子群搜索整个解空间。
粒子的多样性可以由式(17)描述:
式(17)中,diversity(s(t))是粒子群在t代时多样性的值,s(t)代表粒子群种群,|s(t)|是粒子群的大小,|L|是搜索空间最长的半径,N是维数,pij(t)是粒子i在j维上的最优位置,是所有粒子在j维上的最优值位置的平均值。在搜索过程中,如果粒子的多样性较高,并且diversity(s(t))≥h×diversity(s(0)),则不需要处理粒子;如果粒子的多样性较低,diversity(s(t))≤h×diversity(s(0)),粒子分布集中,需要对粒子进行处理,即引入上述混沌变异技术,这里h是多样性的控制因子,不同的h会使算法效果不同。
4 结语
在现实生活中,许多系统状态的改变,如目标、优先性、资源等的改变会导致一些再优化问题。例如,自动集装箱制造商进行船对岸起重时,应该保证在5~10分钟内对于整个接口设施实施一个新的设备安排表;当给某地区提供药物时,如果该地区突然急需药物,则针对这一优先性的改变,一个新的安排表应该快速可得,改进的粒子群算法可以有效且快速解决这些优化问题。
基于粒子理论的焰火模拟系统设计 篇10
粒子系统的基本思想是用大量的,具有各种特性的粒子图元(点,线,多边形,简单几何体)动态地描述自然界中不规则的模糊景物。每个粒子在任一时刻都具有随机的形状,大小,颜色,透明度,运动速度等属性,并随着时间的推移发生位置,形态的变化。每个粒子的属性及动力学性千周均由一组预先定义的随机过程来说明。粒子在系统内都要经过“产生”,“活动”和“死亡“这三个具有随机性的阶段,在某一时刻所有的存活粒子的集合就构成了粒子系统的模型。
2 焰火的分析
粒子系统方法为模拟焰火提供了有力的工具,但要想模拟出逼真的效果,必须仔细分析焰火显示的细节和特点。
1)焰火有五彩缤纷的颜色。不同的焰火,颜色不同。同一团焰火,颜色也会发生变化。
2)焰火有不同形状。有些焰火有特殊的显示效果。有的焰火会闪烁、有的焰火会在空中旋转等。
3)每团焰火显示的位置和大小不同。
4)每团焰火绽放的速度、持续的时间不同。
5)焰火是慢慢地消失的。
考虑到上述焰火显示的特点,运用粒子系统方法就可以进行焰火的模拟了。
3 焰火模拟系统设计
焰火模拟系统包括许多功能模块,用来改变、调整、发展粒子的不同特性,它们都以时间为参数,相关程序处理粒子的相关特性。焰火的模拟系统从功能上可以分为七个部分。结构图如图1所示。
诞生控制:产生适当数量的新粒子,赋予每个粒子初始特性,如初始位置、初始颜色、初始速度、初始大小、生命周期等。
运动控制:处理粒子运动,对粒子的位置、速度和加速度进行计算,实现加速或减速效果;另外通过粒子的反弹参数对粒子进行反弹计算。
颜色变化:通过适当的参数,改变粒子的颜色和透明度。在实际模拟时,为了减少计算量,也可预先建立颜色索引表,通过它来实现粒子颜色的变化。
特殊效果:处理焰火显示的特殊效果,例如鼠状效果和旋转效果。
删除控制:删除那些满足条件的粒子。当粒子的年龄达到生命值时,删除粒子;当粒子的位置超出显示区域,删除粒子;当粒子的颜色变为黑色或完全透明,删除粒子。
闪烁/显示:可以处理粒子的闪烁效果,也计算和显示星状效果的粒子的四条胳臂,自然,它也处理显示那些正常的、无闪烁、无星状效果的粒子。
尾迹控制:产生粒子运动时的尾迹。在每帧通过产生粒子的拷贝得到子粒子。父粒子运动,子粒子静止不动,但其大小、颜色逐渐变化,直到消失。尾迹可以根据实际需要改变长短。
4 模拟系统中主要算法的详细描述
利用粒子系统的方法模拟焰火的显示,关键是如何采用合理的数据结构和代码模拟出焰火显示的各种特性和效果。下面详细的探讨几种主要特性及效果的算法。
1)颜色:
颜色是焰火显示中最重要的一个特性。在焰火模拟中,每团焰火都需要用大量的粒子来描述,用delta_color表示。焰火的颜色有阶段性的变化,可以用一组delta_color值是不同的。可以为每个粒子分配一个年龄值,用帧数表示,随着一帧一帧的渲染,这个值每次加1。根据年龄值可以判断它所处的阶段,从而通过调整delta_color值来实现颜色的变化。需要注意的是,必须合理地选择颜色的变化量,使焰火的颜色变化平滑连续。delta_color值可以是线性或者非线性的(可以是指数函数)。由于线性的delta_color值,计算简单容易,可以产生连续变化的效果,所以在实际模拟中,应该首选。
2)透明度:
在实际的焰火显示中,由于粒子本身不断燃烧,在最后阶段,它不是简单地一下子消失的,而是慢慢地褪色。对于这种现象,可以通过处理粒子的透明度特性transparent得到。粒子诞生时,被赋予初始的透明度值,当粒子开始死亡时,通过delta_transparent改变粒子的透明度,使粒子随着时间的变化变得更加透明,直到消失,得到逼真的显示效果。
3)亮度:
焰火显示的另一个重要特性是亮度,程序中用brightness表示粒子的亮度。它的值在[0.0,1.0]内变化。亮度值为0.0代表粒子的基本颜色,颜色最暗;相反,亮度值为1.0,表示粒子的颜色最亮。这个特性模拟了焰火粒子的强度,随着这个值的变化,粒子的显示颜色也发生相应的变化。公式为:
Cr=(1.0-red)*brightness+red
Cg=(1.0-green)*brightness+green
Cb=(1.0-blue)*brightness+blue
其中Cr、Cg、Cb是显示颜色的红、绿、蓝分分量值,red、green、blue是粒子的基本颜色值,经过这样的计算,Cr Cg Cb值也被限制在[0.0,0.1]内。
4)形状:
焰火显示的形状是指能看到的焰火的外部形状。最典型的形状是球形,粒子从爆炸中心向四处飞散,但这并不是唯一的形状,还有其它象莲花盛开的形状等。在这个焰火模拟系统中,焰火的形状主要根据粒子的诞生区域来判断。根据粒子诞生区域的不同,可以得到不同的焰火形状,一般来讲,诞生区域分为两种,球形的诞生区域和圆柱形的诞生区域,在模拟球形焰火时可以假想一个半径很小的球体代表焰火的爆炸点,粒子的初始位置就在球体的表面上,在赋予粒子初始位置和速度时必须引入一定的随机性,使焰火的形状看起来不太规整,比较真实。在模拟圆柱形焰火时,粒子的诞生区域为圆柱体的表面,粒子的位置、速度与粒子相对于圆心的位置成比例,通过引入随机变量,得到更自然的形状。
5)大小:
随着粒子的燃烧,它的尺寸逐渐变小。所以在焰火模拟中,必须模拟出焰火粒子尺寸变化的效果,使焰火看起来更真实。要模拟这种效果,可以在粒子特性描述中增加粒子尺寸大小size和尺寸增量delta_size两个变量。粒子尺寸大小特性,表示同标准粒子相比,这个粒子大多少倍,小多少倍,标准粒子的大小用像素来表示,它与实际的物理设备的分辨率有关。尺寸增量决定了随着时间的进行,粒子大小怎样变化。在系统中有一个改变粒子特性的程序,通过尺寸增量变量来改变粒子的大小。在粒子的诞生和发展阶段,粒子的大小应该增加:而在粒子的死亡阶段。粒子的大小应该减小,最终消失。
6)尾迹
在我们观察焰火显示时,出于视觉的原因,可以看到移动的亮点后面有一条明显的尾迹,为了模拟这种现象,可以采用下述“重生”的算法:在某一帧时,系统检查是否有可以产生尾迹的粒子,称为父粒子。当系统发现这样的父粒子时,就产生一个几乎同样的新的粒子,称为子粒子,它继承了父粒子的颜色、透明度、尺寸、位置等特性。在下一帧时,父粒子随着时间的变化移动到新的位置,而子粒子的位置固定不变。但子粒子拥有负的delta_color值,使子粒子的颜色逐渐减弱,直到完全消失。通过delta_size值,可以使粒子逐渐变小,与实际相符。在每一帧,重复上述过程,就可以得到焰火粒子的尾迹。
通过控制粒子的delta_color值,可以控制尾迹的长短,较小的delta_color值将使子粒子的颜色衰减很慢,导致较长的尾迹。对于圆柱形焰火,通常有较长的尾迹,而对于球形焰火,过长的尾迹看起来不真实。用这种方法模拟焰火粒子的尾迹,父粒子经过的任何路程(如旋转和降落)都有大量的子粒子。较长的尾迹需要较多的粒子,增加了计算量,降低了系统的性能。所以在焰火模拟时,必须根据实际的硬件性能,选择恰当的参数,得到满意的结果。
7)生命周期:
粒子的另一个很重要的特性是它的生命周期,表示粒子可存在的帧数。在粒子诞生时就赋予它固定的生命周期。对于不同的粒子,可以使他们的生命周期略有不同。这样随着时间的进行,当某些粒子的年龄达到生命周期时,他们就应该死亡,可以利用删除程序将这些粒子从链表中删除,并释放所占的内存。
一个粒子的消失不仅仅是因为它的生命周期的结束,也可以是其它原因,例如,粒子可能移动到视图区以外的地方,或者粒子的颜色完全变为黑色,这些都意味着它已经完全消失,应该将其删除。
8)闪烁:
某些焰火在四处飞散或下降过程中,会出现闪烁现象。这可以通过控制粒子的渲染周期来有效地模拟。在焰火模拟中,可以用三个参数来得到这种效果。如图2所示。
其中blink+max是一个随机的整数,它表示粒子闪烁的周期,在blink_max范围内有一个变量blink_on,它定义粒子的渲染周期,将blink_on定义为blink_max/2效果较好。另外,定义一个blink_cur作为记数器,表示当前帧,闪烁的算法是:
If(blink_cur<=blink_on)
Showparticle();//显示粒子
Blink_cur++;
Blink_cur=blink_cur mod blink_max;
对于所有的发生闪烁的粒子,一帧一帧重复上述操作(mod操作符表示通常的数学取模公式)。对于闪烁的粒子,它的尾迹应该比较短,这样效果较好。最后的效果是焰火在某一帧出现,而在另一帧消失。参数blink_max和blink_on可以固定不变,重复执行循环,也可以任意重新付值。在这个粒子系统中,显示一个银白色的球形焰火,结果令人满意。
5 算法的实现技巧
利用粒子系统方法可以模拟出焰火显示的效果,然而要实现焰火的三维动态实时显示,还必须采用一定的技巧。
1)三维焰火的实现技巧
为了模拟三维球形焰火,应使粒子随机分布于球体的表面。每团焰火都拥有几百个粒子,而且为了产生焰火粒子尾迹,每个粒子又会产生一定数量的子粒子。每个粒子都有许多特性,例如粒子拥有位置(三维方向)、速度(三维方向)、颜色(红、绿、蓝)等。在每一帧都要对这些特性进行计算,这必然会降低系统的性能,影响显示效果。在实际模拟时,可以随机赋予每个粒子二维方向的位置和速度,如图3所示,x=x*cos(θ),y=y*sin(θ)。每一帧通过对粒子的位置和速度进行计算,实现粒子的运动。而在显示时,可以利用OpenGL中的旋转函数,将XOY平面内粒子分别绕Y轴、Z轴旋转一定的角度,得到在球体表面分布的粒子,得到三维显示的焰火。
2)焰火模拟的链表结构
在焰火的模拟中,采用的链表不是简单的单向链表,要复杂一些,每个父粒子构成一个单向链表,而每个父粒子又都有一个子粒子的单向链表。采用链表结构的好处是便于数据管理和操作。由于每个焰火团有许多父粒子,它们向四处运动,产生的尾迹则是通过由父粒子产生的子粒子描述。因为子粒子的特性参数比父粒子的参数少,如果将它们和父粒子存放于同一链表中,必将造成存储窨的浪费,而将它们分开,每个父粒子对应于产生其尾迹的子粒子,这样节省空间、结构清楚,同时也便于粒子的查找和删除。
3)颜色模拟的实现技巧
颜色模拟是焰火模拟的关键,利用前述颜色的模拟方法,可以得到焰火的不同颜色。然而,由于在每一帧,都要计算每个粒子的颜色,改变每个粒子的颜色,这影响了显示速度。在实际模拟中,可以根据需要采用预设调色板技术,得到颜色的均匀变化,动画的实时显示。具体算法如下;
r、g、b值为颜色初值,通过循环体内的判断,使数组theColor[i]中存放的是调色后的颜色值,这样可以得到均匀变化的颜色,例如白色→黄色→红色→黑色,正是在焰火模拟中所需要的。通过这种方法,以牺牲存储空间为代价,得到实时的、平滑连续的动画显示。
6 总结
本文根据粒子系统方法,实现了焰火的动态模拟。粒子系统方法为模拟具有复杂结构及复杂运动的物体提供了一个相对简洁、抽象的描述。用它所创建的动态模糊效果是其他图像生成技术难以达到的。如果能将其与几何建模等其他方法相结合,开发出新的算法,可以有更广泛的应用.
参考文献
[1]王静秋,钱志峰.基于粒子系统的焰火模拟研究[J].南京航空航天大学学报,2001,33(2):166-170.
[2]施维兵.用粒子理论解释光的衍射现象[J].发明与创新(综合版),2008,34(4):42-43.
[3]杨子华,刘宏芳.基于粒子系统模型的自然景物生成技术应用研究[J].计算技术与自动化,1998,17(3):20-23.
开启粒子“加速”梦 篇11
从以前的放大镜、显微镜,到后来的粒子加速器,人类探索物质结构和自然界基本规律的脚步从未停止。借助现代科技之力,研制日益先进的精密测量仪器,“剥开”物质表皮,更深层次的细胞、分子、原子、原子核、甚至更基本的粒子,才能一一展现在人类面前。粒子加速器就是这些精密测量仪器中堪称最为庞大和复杂的一种,随着核物理和粒子物理研究的迫切需要,近百年来它们也得到了极大发展。借助一代代粒子加速器的力量,科学家们发现了自然界的很多基本粒子及基本规律,逐渐揭开了那深邃又神秘的粒子世界。
近年来,伴随着粒子加速器的发展,加速器作为多学科应用平台特别是先进的辐射光源和散裂中子源也得到了极大重视和发展。同时,这些先进装置也直接带动了生物学、凝聚态物理、材料、化学等多个学科领域的迅猛发展,也进一步促进了技术向高精尖方向迈进,加快了人类进入高科技时代的步伐。当今,粒子加速器早已“走出”实验室,逐渐与工农医等与国民经济息息相关的行业相结合,特别是医用加速器的应用已经非常普遍,作为一种放疗手段造福于人类。
在中国科学院高能物理研究所,有位从事于大型粒子加速器设计、建造及运行工作近30年的科学家,几十年如一日埋头科研,直观地见证了粒子加速器的快速发展。
他,就是唐靖宇研究员。
自20世纪70年代末走进中国科技大学近代物理系至今,唐靖宇一直在物理学的大世界中努力拼搏,多年的海外经历也使他一直憧憬着祖国的科学事业的发展,默默坚守初始的粒子“加速”梦想。
中国散裂中子源和多学科应用
近十多年来,唐靖宇的研究视线聚焦在“中国散裂中子源”项目上,着重探究中子的力量。
散裂中子源是利用中子探针探测物质结构的大型科研装置。基于这个装置可以直接推动凝聚态物理、纳米科学、材料科学、生命科学、药物学、国防科研及新型核能源的开发,将“加速”人类走进更高层次的文明社会。
目前,国际上拥有正在运行的三大散裂中子源分别在美国、日本、英国。
中国散裂中子源(CSNS),我国“十一五”期间重点建设的十二大科学装置之首,它由中国科学院和广东省共建,位于东莞市,目前仍处在工程建设阶段,预计2018年初建成和竣工验收。它是一台基于高功率质子加速器的、多学科研究的大型科学研究装置,建成后将会成为世界第四大散裂中子源。
唐靖宇介绍,CSNS一期工程建设包括束流功率为100kw的高功率质子加速器、一个靶站和3台中子散射谱仪。
以中国散裂中子源为依托,唐靖宇认为当前重点要加快开展基于中子散射技术的多科学研究,并且今后,中子散射谱仪还可以从初始的3台增加到20台。但是,唐靖宇凭借敏锐的眼光,认为基于该加速器的质子束、Mμ子束和白光中子源也拥有非常广阔的应用空间,而且逐渐推动了这些应用方向的工作开展。
CSNS实验型μ子源
这也将是我国第一台μ子源,在国际上也将占领一席之地。
唐靖宇认为,实验型μ子源的建设,一方面可以开展中微子实验相关的预研和基于μSR技术的多学科研究,另一方面也为今后建设更高级的μ子源做技术和人才的准备。
“子是一个类似电子但更重的基本粒子,它具有易衰变的特点,且易用加速器产生,因此在高能物理实验和作为物质结构研究的探针等方面受到高度重视,后者同中子散射类似,在诸如凝聚态物理、材料科学、生物科学等多学科领域具有重要的应用。在中微子实验方面,我国前几年提出了基于Mμ束衰变的小型中微子工厂方案,拟作为在大亚湾中微子实验和江门中微子实验之后的第三阶段实施。
但在国内,因为过去缺少高束流功率的质子加速器,μ子源和利用μ子束作为探针的科研工作很多无法开展,我国一些优秀科学家有时只能通过国际合作将实验样品送到国外的Mμ子源进行测试。唐靖宇认为,随着CSNS的建成,今后我国可以建设自己的μ子源和开展基于μ子探针技术的研究。CSNS实验型μ子源的方案兼顾开展加速器中微子束装置的预研工作和基于MμSR技术的多学科研究,这是一个大胆的设计思想,此前国际上没有类似的设计。令人高兴的是唐靖宇和他的团队所申请的国家自然科学基金重大科学仪器研制项目获得了批准,他们可以在未来的几年内开展子源的技术设计和样机的研究,为今后的Mu子源建设打下坚实基础。
重视团队合作
同舟共济扬帆起,乘风破浪万里航。科学研究,离不开团队的力量。
唐靖宇表示,设计建造像大型粒子加速器这样的大型科学装置,需要很多科学家和工程技术人员的积极参与,高效的团队合作是科研工作的前提,甚至国际合作也是必不可少的。
参与进去,吸纳进来,是开展高水平科学研究的重要方法。和不少高能所的其他科学家一样,唐靖宇积极参与多个国际合作项目,在对国际项目贡献智慧与力量的同时,也吸引着国际实验室和其他科学家参与以他们为主的项目。
人,与宇宙相比,只是一粒小到不能再小的“尘埃”。正因粒子间的相互碰撞,其巨大能量推动着宇宙空间的不断演化。同样,得益于人与人之间思想的激烈碰撞产生出的系列火花,人类社会才能大跨步走进更高层次的文明世界。
基于粒子系统的自然环境特效仿真 篇12
关键词:自然环境,粒子系统,特效仿真
0 引言
虚拟自然环境是场景仿真的重要基础。在计算机仿真中, 虚拟自然景物能否更好地可视化直接影响用户的使用反馈。仿真不规则物体, 是可视化计算机仿真的难点, 因其外观特征极不规则, 表面不光滑, 而且具有复杂与随意变化过程, 这使得用经典的欧几里德几何学对其描述显得无能为力。
尽管如此, 国内外学者先后提出了粒子系统模型、细胞自动机模型、分形模型等表示不规则模糊物体的理论, 其中W.T.Reeves提出的粒子系统理论较为成功。粒子系统就是由大量粒子集合在一起表现不规则物体的计算机模拟系统[1]。如今, 粒子系统已经应用在可视化虚拟环境仿真的各个方面, 虚拟的雨雪、烟雾等特效是实现逼真的虚拟自然环境中不可或缺的一部分, 也是粒子系统运用的主要领域。
1 粒子系统原理
粒子系统对景物的绘制不同于以往造型、绘制系统的方法, 它不是一个静态模型, 而是一种过程模型。如果可以找到有效的物理或生理过程, 不规则物体的行为分析和建模将变得很简单, 只要实现实时的物理几何模型即可。一个粒子系统可由多个称为粒子的元素组成, 每个粒子均具有形状、大小、运动方向、生存周期等属性, 而一个粒子具有的属性取决于粒子系统所模拟的物体。粒子系统是一个动态变化的系统, 每时每刻都有新粒子产生以及旧粒子死亡。系统中的粒子的各类信息都随时间而改变, 粒子的初始状态、运动规律影响粒子的正确运行。我们可以通过控制粒子的属性和变化过程来模拟一些动态自然物体。粒子系统的实现需要以下5个步骤: (1) 新粒子产生并具有新属性后进入系统; (2) 结合粒子的动态特征对粒子进行诸如移动和变换之类的操作, 同时改变粒子属性; (3) 判断活动粒子的实时生命值; (4) 删除超过其生命周期的粒子; (5) 绘制并显示由系统中粒子所组成的图形。
2 不规则物体粒子系统模型
在可视化仿真自然环境中, 爆炸、火焰、雨雪等许多特效都可以用粒子系统来实现, 本文选择烟雾和雨雪进行介绍。
2.1 烟雾粒子模型
2.1.1 烟的行为过程描述
模拟烟的行为, 基础在于研究与烟行为有关的因素。对烟的运动产生决定性影响的因素有烟粒子的运动速度和温度。第一是烟粒子的速度, 当烟进入空气后, 它会与空气摩擦, 空气对烟有一个力的作用从而产生一种湍流效果;第二则是烟粒子的温度, 烟雾中温度高的上升速度快, 温度较低的上升速度慢, 不同温度会造成烟内部的扩散[2]。
2.1.2 烟雾运动物理方程描述
采用物理学方法, 对烟雾粒子进行物理描述。可以认为烟是不可压缩的气体, 用N-S方程可描述为:
其中▽是梯度算子, u是烟的运动速度。
可用如下方程表示烟雾的温度变化:
以上方程中, T (t) 为烟粒子温度, M为粒子浮力参数, Tc为外界温度。方程组 (1) ~ (3) 在理论上可以求解, 但计算很复杂。
分析烟粒子的运动可知, 烟粒子浮力fe起主要作用, 故可以在整个过程只考虑烟粒子浮力的作用。同时, 可以通过动态烟粒子纹理映射技术来体现烟雾的变化。
2.1.3 烟雾粒子运动简化
简化后的烟粒子运动方程满足等式:Ma (t) =f (t) , a (t) =dv (t) /dt, v (t) =ds (t) /dt。其中, M表示烟粒子的质量, a (t) 为粒子加速度, s (t) 为粒子的位置, f (t) 表示粒子所受到的浮力。此时可求出粒子在任意时刻的速度、位置。
2.2 雨雪粒子模型
2.2.1 静态属性
雨雪粒子的静态属性主要包括:粒子形状和大小、粒子颜色和透明度等[3]。其中, 粒子的形状简化为三维球体, 球体的大小即为粒子的大小。
2.2.2 动态属性
雨雪粒子的动态属性主要有:粒子群密度的变化、雨雪粒子的动力学特征等。可通过一个随机过程来控制雨雪粒子的出现, 首先是对每个时刻进入系统的粒子数目进行控制, 目的在于表现雨雪在不同时刻的分布变化。对于雨雪粒子的动力学分析, 雨雪粒子的运动规律满足经典物理的相关运动规律, 即粒子的加速度a、速度v和位移s有如下关系:
3 关键技术
3.1 动态链表
可用动态链表实现本文算法。链表存储的对象代表系统中存在的粒子, 粒子的属性也存储在内。链表中新生的粒子排在表头, 快要死亡的粒子则在表尾, 链表包括活动粒子链表和死亡粒子链表。活动粒子链表保存的是活动粒子, 该链表中的某个粒子在即将死亡时就被转存至死亡粒子链表, 当要生成一个新粒子时, 先遍历死亡粒子链表, 如果该链表中有死粒子存在, 则更改该死亡粒子的属性, 将其转存至活动粒子链表, 这种处理减少了分配和释放内存的时间, 提高了系统的实时性。
3.2 实时性
(1) 在列出烟粒子的运动方程后, 在保证整体效果不失真的前提下可简化算法, 减少运算量, 达到实时性要求。
(2) 选用LOD技术, 减少离视点较远处的粒子数目, 从而缩短图形生成时间, 更好地满足实时性要求[4]。
3.3 三角函数列表
在研究雨雪旋转时, 需要进行三角函数的相关运算, 这会降低虚拟场景生成的实时性。在此, 可以事先用线性表预存三角函数值的方式来避免耗时的函数运算[5]。
4 结语
本文提出的烟雾和雨雪的粒子系统模型均已应用在分布交互式虚拟仿真系统中, 提高了虚拟自然环境的逼真程度, 取得了良好的渲染效果。
参考文献
[1]EDWARD ANGEL.交互式计算机图形学——基于OpenGL的自顶向下方法[M].北京:电子工业出版社, 2009.
[2]尹勇.自然现象的实时仿真[J].系统仿真学报, 2002, 14 (9) .
[3]张芹, 谢隽毅, 吴慧中.火焰、烟、云等不规则物体的建模方法研究综述[J].中国图像图形学报, 2000, 5 (3) .
[4]耿维忠, 杨胜强.基于动态纹理的火焰模拟[J].机械工程与自动化, 2007 (3) .