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

2014-09-24 20:03薛艳锋武彩红高志娥乔丽刘凯
软件工程 2014年4期
关键词:粒子系统交互式叶脉

薛艳锋 武彩红 高志娥 乔丽 刘凯

摘 要:叶脉是叶片真实感中不可缺少的部分,本文提出了一种基于粒子系统的叶脉模拟方法。首先用户通过交互方式描绘叶片的轮廓及主叶脉和第二层叶脉,第三层以及更深层的叶脉由粒子系统生成;其次系统为每个叶片内的栅格化点寻找最接近自己的吸引点(交互指定的叶脉),并生成有向引力图;在叶片轮廓内随机撒播粒子,粒子根据引力图指定的方向移动,通过不断的与其他粒子合并生成叶脉。该方法能较好的模拟植物深层次的叶脉。

关键词:叶脉;交互式;粒子系统;引力图

中图分类号: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 结论(Conclusion)

由于叶片和叶脉本身的无规律性,本文结合粒子系统采用交互操作模拟叶片中叶脉。进一步的工作是模拟叶脉对叶片外观的影响以及叶片在四季中生长的动态变化。

参考文献(References)

[1] 何亮,巴力登.基于粒子系统的动态雪景模拟[J].西北大学学报(自然科学版),2010,04:603-606.

[2] 郑红波,吴健平,丁维龙.基于粒子系统的土壤胶粒快速凝聚的三维可视化仿真[J].农业工程学报,2011,06:219-224.

[3] 汪继文,余洋,李玉梅.基于粒子系统的陨石爆炸模拟[J].计算机技术与发展,2010,06:118-120,125.

[4] RODKAEW,Y.,CHONGSTITVATANA, P., SIRIPANT, S., AND LURSINSAP,C. Particle systems for plant modeling[J].Plant Growth Modeling and Applications, 2003.

[5] Boris Neubert.Approximate image-based tree-modeling using particle flows [C].New York,USA,ACM SIGGRAPH,2007:26(3).

[6] Adam Runions, Martin Fuhrer, Brendan Lane. Modeling and visualization of leaf venation patterns [C].ACM Transactions onGraphics,2005:702-711.

作者简介:

薛艳锋(1984-),男,硕士,助教.研究领域:数据挖掘.

武彩红(1986-),女, 硕士,助教.研究领域:软件工程、Web服务.

高志娥(1984-),女,硕士,助教.研究领域:算法设计与分析.

乔 丽(1983-),女,硕士,助教.研究领域:图像处理.

刘 凯(1985-),男,硕士,助教.研究领域:计算机应用技术.endprint

摘 要:叶脉是叶片真实感中不可缺少的部分,本文提出了一种基于粒子系统的叶脉模拟方法。首先用户通过交互方式描绘叶片的轮廓及主叶脉和第二层叶脉,第三层以及更深层的叶脉由粒子系统生成;其次系统为每个叶片内的栅格化点寻找最接近自己的吸引点(交互指定的叶脉),并生成有向引力图;在叶片轮廓内随机撒播粒子,粒子根据引力图指定的方向移动,通过不断的与其他粒子合并生成叶脉。该方法能较好的模拟植物深层次的叶脉。

关键词:叶脉;交互式;粒子系统;引力图

中图分类号: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 结论(Conclusion)

由于叶片和叶脉本身的无规律性,本文结合粒子系统采用交互操作模拟叶片中叶脉。进一步的工作是模拟叶脉对叶片外观的影响以及叶片在四季中生长的动态变化。

参考文献(References)

[1] 何亮,巴力登.基于粒子系统的动态雪景模拟[J].西北大学学报(自然科学版),2010,04:603-606.

[2] 郑红波,吴健平,丁维龙.基于粒子系统的土壤胶粒快速凝聚的三维可视化仿真[J].农业工程学报,2011,06:219-224.

[3] 汪继文,余洋,李玉梅.基于粒子系统的陨石爆炸模拟[J].计算机技术与发展,2010,06:118-120,125.

[4] RODKAEW,Y.,CHONGSTITVATANA, P., SIRIPANT, S., AND LURSINSAP,C. Particle systems for plant modeling[J].Plant Growth Modeling and Applications, 2003.

[5] Boris Neubert.Approximate image-based tree-modeling using particle flows [C].New York,USA,ACM SIGGRAPH,2007:26(3).

[6] Adam Runions, Martin Fuhrer, Brendan Lane. Modeling and visualization of leaf venation patterns [C].ACM Transactions onGraphics,2005:702-711.

作者简介:

薛艳锋(1984-),男,硕士,助教.研究领域:数据挖掘.

武彩红(1986-),女, 硕士,助教.研究领域:软件工程、Web服务.

高志娥(1984-),女,硕士,助教.研究领域:算法设计与分析.

乔 丽(1983-),女,硕士,助教.研究领域:图像处理.

刘 凯(1985-),男,硕士,助教.研究领域:计算机应用技术.endprint

摘 要:叶脉是叶片真实感中不可缺少的部分,本文提出了一种基于粒子系统的叶脉模拟方法。首先用户通过交互方式描绘叶片的轮廓及主叶脉和第二层叶脉,第三层以及更深层的叶脉由粒子系统生成;其次系统为每个叶片内的栅格化点寻找最接近自己的吸引点(交互指定的叶脉),并生成有向引力图;在叶片轮廓内随机撒播粒子,粒子根据引力图指定的方向移动,通过不断的与其他粒子合并生成叶脉。该方法能较好的模拟植物深层次的叶脉。

关键词:叶脉;交互式;粒子系统;引力图

中图分类号: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 结论(Conclusion)

由于叶片和叶脉本身的无规律性,本文结合粒子系统采用交互操作模拟叶片中叶脉。进一步的工作是模拟叶脉对叶片外观的影响以及叶片在四季中生长的动态变化。

参考文献(References)

[1] 何亮,巴力登.基于粒子系统的动态雪景模拟[J].西北大学学报(自然科学版),2010,04:603-606.

[2] 郑红波,吴健平,丁维龙.基于粒子系统的土壤胶粒快速凝聚的三维可视化仿真[J].农业工程学报,2011,06:219-224.

[3] 汪继文,余洋,李玉梅.基于粒子系统的陨石爆炸模拟[J].计算机技术与发展,2010,06:118-120,125.

[4] RODKAEW,Y.,CHONGSTITVATANA, P., SIRIPANT, S., AND LURSINSAP,C. Particle systems for plant modeling[J].Plant Growth Modeling and Applications, 2003.

[5] Boris Neubert.Approximate image-based tree-modeling using particle flows [C].New York,USA,ACM SIGGRAPH,2007:26(3).

[6] Adam Runions, Martin Fuhrer, Brendan Lane. Modeling and visualization of leaf venation patterns [C].ACM Transactions onGraphics,2005:702-711.

作者简介:

薛艳锋(1984-),男,硕士,助教.研究领域:数据挖掘.

武彩红(1986-),女, 硕士,助教.研究领域:软件工程、Web服务.

高志娥(1984-),女,硕士,助教.研究领域:算法设计与分析.

乔 丽(1983-),女,硕士,助教.研究领域:图像处理.

刘 凯(1985-),男,硕士,助教.研究领域:计算机应用技术.endprint

猜你喜欢
粒子系统交互式叶脉
最美叶脉
利用GPU加速的粒子系统全球流场可视化系统设计与实现
把“照片印”在叶脉上
叶脉书签
UE 4粒子系统与外部数据通信研究
我是一片叶子
ASP技术在交互式网页设计中的应用
浅谈交互式电子白板在中学英语课堂的有效应用
试论“交互式”课堂模式在初中英语阅读教学中的运用
交互式电子白板在历史教学中的应用研究