基于粒子系统的交互式叶脉生成.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于粒子系统的交互式叶脉生成.doc

基于粒子系统的交互式叶脉生成   摘 要:叶脉是叶片真实感中不可缺少的部分,本文提出了一种基于粒子系统的叶脉模拟方法。首先用户通过交互方式描绘叶片的轮廓及主叶脉和第二层叶脉,第三层以及更深层的叶脉由粒子系统生成;其次系统为每个叶片内的栅格化点寻找最接近自己的吸引点(交互指定的叶脉),并生成有向引力图;在叶片轮廓内随机撒播粒子,粒子根据引力图指定的方向移动,通过不断的与其他粒子合并生成叶脉。该方法能较好的模拟植物深层次的叶脉。   关键词:叶脉;交互式;粒子系统;引力图   中图分类号:TP391.9 文献标识码:A   1 引言(Introduction)   植物是自然界中最常见的自然景物之一,是世界主题中不可缺少的一部分。随着硬件和图形技术的发展,植物的仿真模拟已经应用在许多方面,如游戏和电影等娱乐业,同样人们也对这些虚拟场景的真实感提出了很高的要求。在树木和花卉建模中,叶片是不可缺少的部分,而现在对叶片的建模也就是采用纹理贴图的技术,尽管可以通过拍摄高分辨率的图片,牺牲宝贵的纹理内存来提高逼着度,但还是不能勾勒出叶脉凹凸的形状。   粒子系统的应用很广泛,主要是用来模拟一些自然现象。粒子系统是由许多粒子组成,它们必须遵循一定的行为规范。具体的这些属性和行为规范取决于你想要模拟的事物。每个粒子都有其属性值用来区别于其他的粒子,一般情况属性值包括位置、速度、加速度、生命期。粒子系统的主要执行步骤:在系统中产生一定数量的粒子并赋予每个粒子初始属性值;以某种规则更改粒子属性;销毁超过生命期的粒子;不停地重复这些步骤。   何亮等人通过研究粒子系统方法,提出粒子系统的雪景模拟算法结构,结合OpenGL平台,针对雪景其具体的结构进行分析后,得到雪景的动态模拟结果[1]。郑红波等人通过构建土壤胶粒粒子系统算法,实现了土壤胶粒建模及其胶体快速凝聚动态演化可视化,其仿真效果良好[2]。汪继文等人提出了一种基于粒子系统的陨石爆炸模拟方法,并满足了模拟陨石爆炸实时性和逼真性的要求[3]。Yodthong Rodkaew等人将粒子系统引入到植物的建模中,模拟了叶脉和树木,但仅仅考虑与相邻粒子和叶柄或者树根之间的关系而没有考虑主要叶脉的切线方向,整个粒子移动的过程都有向下的吸引力,所以对于一些比较反常的结果很大程度上取决于随机粒子的分散度[4]。Boris Neubert等人运用粒子系统对树木进行建模,获得真实感较强的结果[5],本文将其中的方法引入到叶脉的生成中。目前在模拟叶脉方面研究人员较少,Adam Runions等人提出了一种生成叶脉的方法[6],此方法能够生成很好的结果,但是随机过程占主要。叶脉具有遗传性,所以要较为真实的模拟各种叶片中的叶脉,目前必须得通过交互的方式生成明显的叶脉,通过观察我们发现主叶脉和第二层叶脉特别明显,第三层以及更深层次的叶脉已经不是很明显。   本文提出了一种生成叶脉的方法,在已有的叶片轮廓模型的基础上用户用鼠标绘制几条直线或者曲线来指定主叶脉和第二层叶脉,然后系统在叶片轮廓内随机撒粒子,粒子寻找最接近自己的吸引点(已有的叶脉),并向该方向移动,通过不断的与其他粒子合并生成深层叶脉。   2 叶片轮廓(The blade profile)   由于叶片的轮廓形状很多,没有什么规律可循,本文采用交互的方式指定轮廓,通过鼠标描绘系统记录轨迹点,并自动地进行简单的等间隔取点得到轮廓(图1、图2),也可以用3D MAX等三维软件生成OBJ格式文件,由系统自动读出。   3 叶脉生成(Vein formation)   3.1 叶片栅格化   在叶脉生成前先确定叶片轮廓内部的区域。关于区域生成的方法有很多种,比如可以给背景和叶片取相差较大的颜色,通过复制像素的内容判断内部区域。本文采用的方法是将组成叶片轮廓的相邻点和叶柄组成三角形扇,拼合每个多边形区域就可得到叶片的区域(图3),这样对于非凸多边形叶片也可处理。对组成叶片轮廓的点,取最大的X和最小的X,以及最大的Y和最小的Y作为矩形边界区域,以X轴平行线和Y轴平行线进行栅格化并得到栅格化点(图4)。   3.2 交互指定主要叶脉   通过鼠标绘制主叶脉和第二层叶脉,截掉轮廓区域外部的信息,保留区域内部的信息(图5,近似垂直的为主叶脉,分布在左右两侧的为第二层叶脉)。   3.3 生成引力图   3.4 生成随机粒子   在生成随机粒子之前,先统计叶片区域内的栅格化点的数量,记为sum,这样可以给每个栅格点指定一个编号,要生成N个随机粒子,只需要生成N个随机数Ri,可以简单的做这样的运算Ri % sum(其中%为取模运算符)。在叶片轮廓内部生成400个随机粒子,如图7所示。   3.6 改进结果   4 结论(Conclusi

文档评论(0)

lnainai_sj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档