马思远,陆 玲,任 彪
(东华理工大学,江西 南昌 330013)
植物叶片是植物的重要组成部分,是植物进行光合作用和蒸腾作用的主要场所。大部分叶片的结构类似平面,具有复杂的生物学特征和光学特性,所发挥的生理和生态功能与其特性密切相关。在虚拟植物建模的器官研究中,植物叶片可视化作为一种普遍的技术需求和应用趋势,受到越来越多的关注与研究。
真实感植物叶片的建模技术主要分为以下几类:基于参数面片的方法、基于过程的方法和基于图像的方法。文献[1]利用轮廓特征点建立植物叶片模型,对边缘提取的特征点进行三次样条曲线插值,实现植物叶片轮廓的几何重建,但对于边缘带有大量细节信息的叶片,则会丢失部分细节;文献[2]借助球B 样条曲线生成烟草叶脉,利用扫描仪获取标记点同时作为之后叶片曲面的控制点,将逼近型B 样条构造的叶片曲面与叶脉拼接生成完整叶片,优化了以往由曲线绘制的叶脉,对于脉序特征不明显及叶脉厚度较小的植物叶片几何建模有一定的局限性;文献[3]针对具有锯齿形和波形叶缘的植物叶片,利用三角折线段和二次曲线生成叶缘特征,并设计了交互式的图形可视化界面,其合并后的叶缘分类粗放,对于叶缘的精确描述稍显欠缺。
通过不同形式组合的正弦函数,本文提出一种植物叶片几何建模方法。首先根据树叶图像确定基础矩形的长宽比,模拟出对应的叶形;其次,利用正弦函数模拟具体类型的锯齿,根据实际情况改变锯齿方向;最后添加叶尖、叶基和圆锥曲线绘制的叶脉,生成完整的叶片模型。实验结果证明该方法能够简单、有效地构建二维植物叶片模型,较好地保持了真实叶片的叶缘特征。
植物叶片的常见类型可以大致分为矩圆形、椭圆形、卵圆形和倒卵形四种,如图1所示。矩圆形叶缘两侧近于平行,叶片长宽比约为3∶1;椭圆形叶片中央最宽,至两端渐转狭,叶片长宽比约为1.5∶1;卵圆形叶片中部以下最宽,向叶尖渐狭,基部圆阔,长宽比约为2∶1;倒卵形叶片中部以上最宽,向叶基渐狭,尖部圆阔,长宽比约为2∶1。
图1 叶片形状
基于实际叶片的长宽比,用平面矩形参数定义叶片的初始轮廓,确定矩形的下边中点在坐标原点。文献[5]在矩形平面的基础上,上下左右四边都进行正弦函数变形来模拟南丰蜜桔叶片,根据叶片形状对矩形平面设定不同幅度、频率、相位的水平方向变形函数T(,)和垂直方向变形函数T(,),添加至初始矩形中。如下:
式中:,为平面在,方向的长度;为平面在轴上的截距,此处为零。
叶片边界形状对应的变形函数分别为:
式(2)用于模拟矩圆形叶片,前后项分别控制在原矩形的上下方生成一个半径为2 的半圆。图2a)中的参数值为:=300,=150。
式中:S为控制椭圆形方向的弯曲幅度;S为控制椭圆形方向的弯曲幅度。
用于模拟椭圆形叶片,根据矩形的高宽和S,S能够确定椭圆的长扁。图2b)中的参数值为:=300,=150,S=52,S=72。
式中:S为控制方向上的变形幅度;S为控制上部圆形的变形幅度;S为控制下部圆形的变形幅度;S为控制上下对称程度,当S>0 时为卵圆形叶片,当S<0 时为倒卵形叶片。
用于模拟卵圆形和倒卵形叶片,形状会随着具体取值而变化。图2c)中的参数值为:=300,=150,S=50,S=0.7,S=40,S=70。图2d)中S=-0.7。
图2 叶形模拟
针对具有锯齿叶缘的植物叶片进行研究,叶缘受叶肉的发育和叶脉的分布状态等的影响而表现出各种形状。锯齿的上下侧边可以分为外弯的、内弯的、直的和渐尖的4 种,如图3 所示。设锯齿上下侧边对称、齿间隔规律,则有圆形、尖形、直形、渐尖形4 类锯齿。在基础的椭圆形叶片形状上添加用于模拟锯齿的T和控制锯齿方向的T函数。模拟叶齿方向随着叶边方向改变,其方向变化幅度与方向变化幅度相近的情况。
图3 叶齿分类
用正弦函数直接控制锯齿的变化情况,来模拟叶齿上下侧边均为外弯的圆形锯齿,如下式:
式中:D为控制叶齿在方向上的长度;D为控制叶齿的密度,与单位叶齿在方向上的长度成反比。
通过求绝对值得到仅为正的波形,在图像上表现为连续的近半圆形。参数取值对锯齿的影响如图4a)~图4c)所示。
图4 锯齿参数示意图
用反方向正弦函数模拟叶齿上下侧边均为内弯的尖形锯齿,如下式:
对正弦函数绝对值取反后得到尖形向外的波形,移动π 2 个相位使其锯齿更均匀。参数取值对锯齿的影响如图4d)~图4f)所示。
用两个相位差为90°且方向相反的两个正弦函数之和模拟叶齿上下侧边均为直的直形锯齿,如下式:
两个正弦波错开相位使其在波峰处叠加,叶齿最长为两倍D,参数取值对锯齿的影响如图4g)~图4i)所示。
用圆齿的小幅度部分反向添加到大幅度的位置处来模拟叶齿上下侧边均为渐尖的渐尖形锯齿,如下式:
修改圆齿的方程,在尖端处将圆齿反向并拉长至两倍D,同样移动相位使其符合预期。参数取值对锯齿的影响如图4j)~图4l)所示。
若模拟朝向水平方向的叶齿形状,则T=0;而对于叶齿方向总是朝上的情况,则改变叶齿的方向,向上作与方向相同的变形。两种朝向的锯齿示例图如图5所示。
图5 不同朝向的叶齿
以石楠叶为例,叶片形状建模过程如图6 所示。
由于平面的边界曲线变形是平面上所有坐标点的位置变化,为保证其模拟效果,叶片边界建模过程如下:
1)边界曲线变形
图6b)在,方向上的变形函数为:
图6 叶片边界轮廓造型过程图
矩形平面的左右两边界(=±0.5)变形最大,垂直中心轴(=0)变形最小(T=0)。根据实际叶片形状,可以调节式中的变形幅度(S)与变形相位(0.5)。
2)叶缘锯齿变形
采用2.4 节中的渐尖形锯齿,且锯齿方向始终朝上。图6c)的方向锯齿变形函数为:
方向锯齿变形函数为:
如果锯齿大小不均匀,可以使用多个不同幅度、频率与相位的正弦函数叠加作为叶缘变形函数。
3)叶尖叶基处的局部变形
主要使用影响范围小且非周期的高斯函数作为局部变形函数。
图6d)中用T生成叶尖处,T为叶基。其叶基中间位置是一个凸出变形,如果是凹进形,只需要在式(12)前加一个负号。叶尖也可以使用定制的高斯函数进行变形。
4)将上述多个变形函数叠加到相应方向的坐标上,可以得到最终变形后石楠叶片在方向上的总参数方程Δ和方向上的总方程Δ:
实验在Windows 10 系统下采用Visual C++ 6.0 编写代码,计算机硬件配置为i7-8565u(2.4 GHz)CPU,8 GB内存,Graphics 620显卡。采用上述建模方法绘制了4 类不同种类的植物叶片与真实图像进行对照,如图7所示。根据叶片实际情况结合随机数方法,用圆锥曲线模拟了叶脉。用叶尖函数T和叶基函数T替换模拟尖部和基部的特征。实验结果表明该方法适应性较强,参数便于修改,虽受调试过程影响,每种植物叶片都需要独立的参数方程且模型不尽相同,但锯齿分布相对均匀的叶片仍能取得较好的建模效果。
图7 实验结果与真实照片对比
将多个变形函数叠加到相应方向的坐标上,得到各自最终的叶片形状参数方程。图7 各叶片的特征如表1所示。
表1 叶片特征
本文研究了植物叶片边缘轮廓的绘制,基于平面矩形变形,根据实际叶片的数据和几何特征得出大部分叶片的外形轮廓。控制叶片形状的参数部分会互相影响,因此需要反复实验来调整模型的系数问题,但总体建模速度快,调试操作较为容易。本文方法主要针对锯齿形状模拟,引入脉序建模方法和简单叶色模型后达到较好的仿真效果,此后会针对植物叶片纹理贴图进行研究,并建立更多种类的植物叶片模型。其中部分技术问题仍未彻底解决,但已经为将来的工作打下了一定的基础,之后应学习叶片表观参数的相关模拟,对模型的真实性和稳定性作进一步的研究和完善。