APP下载

基于改进包围盒树和GPU的水稻群体叶片间快速碰撞检测

2018-01-18张兴邦伍艳莲姜海燕

农业工程学报 2018年1期
关键词:碰撞检测植株群体

张兴邦,胡 滨,汤 亮,伍艳莲,,姜海燕※,

(1. 南京农业大学信息科技学院,南京 210095;2. 南京农业大学/国家信息农业工程技术中心,南京 210095)

0 引 言

虚拟植物技术已经在现代农业生产决策、产量预测、作物育种、生长条件优化等方面发挥着重要作用[1]。在虚拟植物群体的可视化绘制中,叶片之间经常发生穿插生长的现象,降低了植物模拟的真实感,加之群体规模的增大,也出现了检测效率较低的问题,因此及时快速检测出群体叶片之间的碰撞行为,是进一步模拟响应行为的基础。

国内外学者对如何提高虚拟植物叶片间的碰撞检测效率进行了研究,主要集中在简化碰撞检测中检测对象的数量或者计算量上,常采用的方法是空间分解法或层次包围盒树法。在空间分解法研究方面,郑萍等皆通过将植物器官空间进行分层再碰撞的方法[2-4]减少了碰撞检测的计算量,提升了碰撞检测的效率。虽然空间分解法可以简化碰撞检测的计算,但虚拟水稻群体叶片密集,找寻合适的分解规则比较困难,而层次包围盒树法正好适应这种情况。秦栓等[5]针对玉米叶片的形态提出了一种基于AABB[6]-OBB[7-9]混合包围盒的碰撞检测方法,改进了分离轴测试顺序,加快了碰撞检测速度。伍艳莲等[10]提出了一种基于AABB-FDH[11]包围盒的碰撞检测方法,该方法结合了AABB包围盒简单、FDH包围盒构造紧密性较好的优点,可快速排除 2张叶片相距较远而基本上不可能发生碰撞的场景。虽然已有研究都在不同场景下,通过简化碰撞检测的某一个过程提升了植物器官间的碰撞检测效率,但仍然存在以下2方面的问题:1)现有研究多是通过包围盒的组合来优化相交检测过程,对利用植株特定的形态特点简化包围盒的构造过程研究有限;2)在大规模水稻群体的碰撞检测处理中,仅对碰撞检测算法本身进行改进已经无法满足大规模群体绘制实时性的要求。事实上在其他领域的复杂场景虚拟中,已有研究者使用多核 CPU技术[12]、CPU/GPU技术[13-16]等硬件加速手段提升碰撞检测效率,如Tang等[17]针对可变形模型之间的碰撞设计了基于GPU的快速检测方法,黄伟益[18]为了满足虚拟手术实时性的要求,采用CUDA平台设计了基于CPU和GPU协同处理的快速碰撞检测算法。

本文以水稻叶片形态结构模型为输入,利用水稻叶片类抛物线的形态结构特点,提出了新的OBB包围盒方向轴的计算方式,降低了OBB包围盒的构建复杂度;设计了基于LCD[19]-OBB的混合层次包围盒树(mixed level tree, MLT)的水稻叶片碰撞检测算法,采用随机旋转和缩放水稻单株的方法构造了水稻群体模型,在此基础上分析了大规模水稻群体叶片间碰撞检测时的计算关系,利用CPU/GPU硬件加速技术,设计了大规模水稻群体叶片碰撞检测并行化方案,利用CUDA编程实现并行加速。

1 水稻群体叶片间碰撞检测算法

图 1为本文研究流程,首先根据水稻叶片抛物线的形态特点,结合水稻形态结构模型为水稻单株叶片构建改进后的 MLT,在此基础上,通过更新操作分别构建水稻不同叶位、单株、群体叶片的 MLT,然后在对水稻两株不同叶位叶片对进行碰撞检测的基础上,按照一定的碰撞检测规则,完成水稻群体叶片间的碰撞检测。

1.1 水稻群体绘制

水稻群体是多植株的集合,但不是简单的水稻个体的复制,具体体现在不同的水稻个体,其叶片的长度、宽度不同,茎鞘夹角不同,分蘖数量不同,植株大小不同等。本研究在进行水稻群体的绘制时通过加入差异化因子,随机缩放旋转水稻单株等操作实现水稻之间的差异性。

图1 基于MLT碰撞检测算法的水稻群体叶片间碰撞检测流程Fig.1 Detection process of inter-blade collision of rice population based on MLT(mixed level tree)collision detection algorithm

水稻群体在绘制时,需要确定每一株的坐标位置,设水稻群体行数为 RNum,列数为 CNum,行间距为RowDis,列间距为 ColumnDis,则第 i行 j列水稻的坐标为

在对水稻叶片进行绘制时,加入差异化因子θ,对水稻叶片的茎鞘夹角和方位角进行差异化处理,设水稻叶片的原茎鞘夹角为α,方位角为β,处理后分别为γ和δ

对水稻单株整体进行随机旋转和缩放操作,进一步增加水稻群体之间的差异性。

1.2 水稻群体叶片的MLT构建

水稻叶片间碰撞检测的基础是构造MLT,本文MLT构建主要包括两部分:LCD包围盒[15]的构造和OBB包围盒的构造。由1.1水稻群体差异性的生成规则可知,水稻群体叶片MLT可在单株叶片MLT的基础上通过旋转和缩放得到,因此,其构建的关键在于单叶片MLT的构建。

1.2.1 LCD包围盒构造

LCD包围盒,是一个包含几何对象且垂直方向平行于坐标轴的最小六面体,LCD包围盒用3个值来表示:叶片的控制点集合元素在初始构造时在 3个坐标轴上投影的最大值(Max)和最小值(Min),以及叶片组装到水稻单株上时所使用的矩阵(Matrix)。Matrix用于在器官组装成水稻个体后使用分离轴理论(separation axis theory,SAT)进行包围盒的相交检测。因此本文使用的LCD包围盒相较于传统AABB包围盒提升了其自身的紧密性,减少了旋转更新的代价。

1.2.2 OBB包围盒方向轴确定

OBB包围盒定义为包含几何对象且相对于坐标轴任意方向的最小长方体[6]。OBB包围盒构建的关键在于方向轴的确定,传统的OBB包围盒构造时通过计算对象数据的均值和协方差矩阵方式来确定OBB包围盒的方向轴[6]。

采用协方差矩阵确定 OBB包围盒方向轴的计算量大、耗时较多[4]。本文利用水稻叶片曲线类抛物线的形态特点,提出了新的OBB包围盒方向轴的计算方法。水稻叶片在坐标轴原点进行构建,然后通过旋转平移等操作组装到水稻植株上,水稻叶片的中脉曲线是空间中一条近似光滑的曲线(图 2),构建时叶片的主脉曲线在 xoy平面内,在叶片不发生折断的情况下,可认为叶片中脉曲线一阶可导、二阶连续[20-21]。设 a为叶片中脉曲线的起点,b为叶片中脉曲线的终点,由于叶片中脉曲线连续且凸,所以叶片中脉曲线上的所有点都在a与b的连线的一侧,因此a与b连线所在的方向为包围该叶片的有向包围盒的一个方向轴,若(xa, ya, za)为a点坐标,(zb)为b点坐标,则该方向轴由式(3)计算得到,式中为ab连线所在的方向向量。在叶片不发生卷曲、扭曲等形变时,叶片边缘控制点的x、y坐标与同一排主脉控制点的x、y坐标相同,z坐标不同,因此z轴为包围该叶片的有向包围盒的其中一条方向轴。至此,有向包围盒的两条方向轴已经确定,第三条方向轴可以根据这两条方向轴来进行确定。

计算出OBB包围盒的方向轴之后,利用叶片控制点数据在3个方向轴上投影的最大最小值,即可构造OBB包围盒。

图2 水稻叶片OBB包围盒方向轴确定示意图Fig.2 Schematic diagram of OBB bounding box for rice leaves to determine the direction of the axis

1.2.3 单叶片MLT的构造

本文MLT在树的叶子节点构造OBB包围盒,其余节点构造LCD包围盒并采用自顶向下的方法递归建立层次包围盒树。首先根据叶片的控制顶点对整张叶片构建LCD包围盒,并将其作为MLT的根节点,以尽快排除不相交的情况;然后用曲面分割算法将叶片从中间一分为二,对分割后的2部分叶片继续构造LCD包围盒和相应的节点,将这些新节点作为根节点的左、右子节点;依次按照第二步方法分割每个子节点对应的叶片曲面,递归地建立MLT,递归次数自定义。

1.3 水稻群体叶片间碰撞检测

1.3.1 碰撞检测规则

水稻群体生长过程的可视化模拟中,虽然水稻植株形态会发生变化,但是植株所在空间坐标位置不变,结合现实世界中的稻田中水稻的种植规律,本文采用如下碰撞检测规则。

水稻群体植株按照行列种植,行相邻或者列相邻的植株之间有可能发生叶片间的碰撞,而不相邻的植株之间发生碰撞的概率较低。由此本文采用每株水稻的叶片与周围邻近水稻的所有叶片进行碰撞检测, 当检测到最多与周围 8株植株上的所有叶片都没有发生碰撞时才判定该叶片没有发生碰撞。两株植株之间的碰撞检测需先计算两个植株上最长叶片在地面上的投影之和是否大于两株之间的行距(或列距),若大于则进行碰撞检测,否则认为不会发生碰撞。

1.3.2 基于MLT的群体叶片碰撞检测

碰撞检测的核心就是遍历 2个待测对象的层次包围盒树[22],本文采用同步下降的方式进行检测,对 2个叶片自身的包围盒层次树进行遍历,检测同一层次的包围盒是否发生碰撞,若某一层次的包围盒之间都没有发生碰撞,则判定这 2张叶片没有发生碰撞,否则继续检测下一层,直到检测到叶子节点。对于作物系统可视化仿真,一般只需近似模拟碰撞情况,并不要求碰撞检测达到100%精确[9],因此在树的深度选择适当的情况下,如果叶子节点的OBB包围盒之间没有发生碰撞就判定2张叶片之间没有发生碰撞,否则判定为发生碰撞。

2 基于CPU/GPU的水稻群体叶片碰撞检测并行化

2.1 并行程序设计

并行程序设计常采用PCAM方法,是并行任务划分(Partitioning)、任务通信(Communication)、任务组合(Agglomeration)和处理器映射(Mapping)共4个阶段的简称[23]。任务划分将整个计算问题分解成一些小计算任务,目的是挖掘问题的可并行性。

2.2 水稻群体叶片碰撞检测算法的计算特性分析

本文在对水稻叶片构造MLT时,通过改变上层LCD包围盒以及底层OBB包围盒的旋转角度和放缩比例达到更新目的,而在绘制水稻群体时通过旋转和放缩来增加群体间的差异性,因此在对水稻群体叶片构造MLT时只需要构造一株植株上所有叶片的 MLT,其余植株可以在此基础上改变其旋转角度和放缩比例来实现 MLT的构造,因此水稻群体叶片构造MLT的耗时与群体规模相关性不大。

水稻群体叶片间进行碰撞检测,CPU的串行程序如图 3所示。其中①为群体植株之间的循环;②为单株叶片之间的循环,③为周围植株叶片之间的循环;其中 h为当前要检测植株周围的总叶片数,计算方法为周围植株数(最多 8株)与每株的分蘖数以及每个分蘖上的叶片总数的乘积,h随着GDD(growth degree days)发生改变,④为当前待检测的叶片对的包围盒树层次之间的循环。叶片之间进行碰撞检测时输入数据是叶片的包围盒树数据,不同叶片的包围盒树数据是不相关的,因此不同叶片之间进行碰撞检测操作独立,满足 Bernstein[24]条件,可以并行。

图3 水稻群体叶片碰撞检测算法伪代码Fig.3 Pseudo code of leaf collision detection algorithm for rice population

2.3 基于CUDA的水稻群体叶片碰撞检测算法实现

2.3.1 算法的并行方案设计

CUDA是由NVIDIA公司推出,将GPU作为并行数据计算设备的软硬件体系架构[25]。CUDA软件体系将GPU的处理器阵列抽象为由线程(Thread)、线程块(Block)和线程网格(Grid)组成的线程结构。

根据2.2分析,结合CUDA程序设计原则,本文对水稻群体叶片相交检测过程进行并行设计。以一对叶片间的相交检测计算过程为基础单元,划分水稻群体叶片间的碰撞检测并行任务,并分配到GPU设备端执行。包围盒树构造耗时较少且可并行性差,分配到CPU端执行(如图4)。CUDA的线程映射如下:

由于水稻群体中不同叶片间的相交检测彼此独立,因此将每张叶片的相交检测过程映射到独立的 Block中处理。Block中的线程负责处理该叶片与周围植株叶片之间的相交检测计算。在GPU显存管理方面,由于水稻叶片包围盒树数据各个线程都要使用,所以将水稻群体叶片的包围盒树数据放在Global Memory中存储;计算完成后各个Block中的计算结果要集中在一起作为最后的总的相交检测结果,所以该部分放在Global Memory中存储,而Block代表的叶片的包围盒数据在该 Block中的所有线程都要使用,所以存储在Shared Memory中存储。

图4 基于CUDA的水稻群体叶片间碰撞检测算法映射方案示意图Fig.4 Mapping schemes of inter - blade collision detection algorithm for rice population based on CUDA

2.3.2 基于MLT碰撞检测算法的并行实现

水稻群体叶片MLT数据在CPU端计算得到,相交检测计算任务与线程的映射关系如2.3.1所述,算法实现伪代码如图5所示。

1)CUDA内核函数配置

在启动Kernel函数之前需要对Grid和Block进行配置,如图4所示,本研究以Grid的x,y,z三个维度分别代表水稻的植株号、分蘖号以及叶位号。本研究中水稻分蘖最多7个,单蘖上同时存在的叶片不超过15片,因此配置Grid为dim3 numBlocks(N,8,16),N的大小为不小于当前水稻群体总植株数的2的最小倍数。

2)CUDA内核函数数据共享

在核函数中获取当前线程所对应的叶片MLT数据,并进行相交检测。获取叶片MLT数据时需要先计算一维数组的索引值,当前线程的 blockIdx.x代表植株号,blockIdx.y代表分蘖号,blockIdx.z代表叶位号,则索引值计算公式如下所示:

式中index为一维数组的索引号,T代表单株分蘖数,L代表单蘖叶片数,threadIdx.x、threadIdx.y、threadIdx.z分别代表与该叶片进行碰撞检测的植株、分蘖及叶位。

图5 水稻群体叶片并行碰撞检测算法伪代码Fig.5 Pseudo code of leaf parallel collision detection algorithm for rice population

3 试验及结果分析

3.1 试验环境与输入数据

试验在AMAX高性能计算机(512 G内存以及Intel®Xeon®CPU E5-2670 v3 @ 2.30 GHz)平台上进行,该机配备1块Tesla K40c卡[26]。

水稻群体生长可视化模型的输入数据来自国家信息农业工程技术中心的形态结构模型[27-30],本研究开发的虚拟仿真试验系统可以模拟籼稻和粳稻 2类水稻品种在高氮、中氮、低氮 3种氮素水平下逐日生长的形态结构数据。该系统采用C#语言开发,并行计算部分采用CUDA C++语言实现。

本文试验使用籼稻YD6号水稻品种进行试验,其规模与组成图形的基本图元的对应关系如表 1所示,计算公式如下

式中BP为基本图元数,G为群体规模大小,T为单株分蘖数,L为单蘖叶片数。

表1 水稻群体规模与三角面片基本图元对应关系Table 1 Correspondence between rice population size and triangular patches basic element

3.2 试验方法

为了比较本文提出的MLT方法与传统的AABB方法和 OBB方法的优劣,从单叶片和群体两个层次设计了试验。

1)仿真生成具有19 744个三角面片的叶片模型R1,将叶片模型R1复制后向X轴方向平移,然后绕Y轴旋转180°形成叶片模型R2,使此时的R1与R2相交,对这两个模型之间进行碰撞检测,经前期预实验MLT选择深度为4,以验证比较单叶片模型发生碰撞时不同算法的检测耗时。2)在籼稻YD6号水稻品种生长的苗期、分蘖期、拔节期、灌浆期以及成熟期对水稻单株叶片进行包围盒树构造,获取包围盒树构造耗时。3)在水稻生长的第130 d(每个分蘖上有 10片叶)对水稻群体叶片进行相交检测,获取水稻群体在高氮(分蘖数为7)和正常氮素水平(分蘖数为 5)下叶片间的相交检测耗时。4)分别获取籼稻YD6号水稻品种生长到第130 d时使用CUDA加速和不使用CUDA加速的叶片间碰撞检测耗时,来验证并行加速的有效性。

3.3 结果与分析

表 2显示了不同碰撞检测方法在单叶片碰撞检测时各步骤的耗时,数据分析可知:1)在包围盒树构造时本文方法耗时为5~8 ms,其余的方法皆在100 ms以上,本文方法节省了90%以上的时间;2)在相交检测发生碰撞时,本文方法耗时为600~1 000μs,其余方法皆在2 300μs以上。

表2 不同包围盒树对单叶片构造检测的性能Table 2 Performance of different bounding box trees for single leaf structure detection

图 6为水稻群体叶片包围盒树构造耗时比较,各个时期OBB方法包围盒树构造耗时均在40 ms以上,AABB方法和MLT方法耗时均在10 ms以下。

图6 水稻单株全生育期包围盒树构造耗时比较Fig.6 Time - consuming comparison of bounding box tree structure in rice whole plant growth period

图 7为不同氮素水平下使用不同碰撞算法检测水稻群体叶片相交耗时比较:在不同氮素水平下基于MLT的方法相交检测耗时为 AABB方法耗时的 50%,为 OBB方法耗时的30%。

图7 第130天不同碰撞检测算法耗时比较Fig.7 Time-consuming comparison of collision detection algorithms in 130th days

图8为基于CPU/GPU的碰撞检测算法效率,程序在CPU上运行时,相交检测耗时随着群体规模的增加而增长,当水稻群体规模达到10 000株时,耗时超过40 s,在经过GPU并行加速后,水稻群体叶片间的碰撞检测耗时维持在 2 s以内,相比在 CPU运行耗时减少了 98%左右。

图8 第130天基于CUDA的相交检测算法测试结果Fig.8 Testing results of intersection detection algorithm based on CUDA in 130th days

3.4 分析与讨论

由3.3的试验结果可知,本文方法在水稻群体叶片间碰撞检测时表现比AABB方法和OBB方法要好,这是因为本文方法上层使用LCD包围盒快速排除不可能发生碰撞的叶片对,减少了计算量,且底层使用OBB包围盒保证检测精度,且采用新的方向轴计算方式降低了OBB包围盒的构建复杂度,减少了计算耗时。基于CPU/GPU的并行加速在水稻群体规模较大时能较好的提升碰撞检测的效率,计算耗时不会随着群体的规模的增加成倍数增长。

本文提出的新的OBB包围盒方向轴的计算方式虽然降低了OBB包围盒构建的复杂度,但没有考虑水稻叶片发生折断、扭曲和卷曲等复杂场景。当发生上述情况时,可以在现有计算框架下调整包围盒构建方式。

4 结 论

为了解决水稻群体模拟过程中叶片间碰撞检测效率低的问题,本文从算法改进和硬件加速两方面进行研究,并进行了相关试验验证。

1)根据水稻叶片类抛物线的形态特点,提出了新的OBB包围盒方向轴的计算方式,它可以代替传统的使用协方差矩阵和均值的计算方式,降低包围盒构建的复杂度,在此基础上构建MLT(mixed level tree)。试验结果表明,本文方法比传统的AABB、OBB方法碰撞检测耗时减少50%以上,提高了碰撞检测的效率。

2)分析水稻群体叶片碰撞检测计算关系的依赖性,设计了CPU/GPU加速方案,并在Tesla 40加速卡上开发实现,进一步提升了水稻群体叶片碰撞检测的效率。试验结果表明,利用CPU/GPU并行加速相较于在CPU上的运行时间节省了98%。

[1] 唐卫东,李金忠,刘昌鑫,等. 虚拟植物模型及其构建方法研究综述[J]. 计算机应用研究,2012,29(9):3206-3211.Tang Weidong, Li Jinzhong, Liu Changxin, et al. A survey of virtual plant model and its construction[J]. Computer Application Research, 2012, 29(9): 3206-3211. (in Chinese with English abstract)

[2] 郑萍,赵春江,张继成. 基于关键点存取的虚拟植物碰撞检测方法的研究[J]. 东北农业大学学报,2011,42(8):78-82.Zheng Ping, Zhao Chunjiang, Zhang Jicheng. Research on virtual plant collision detection method based on key point access[J]. Journal of Northeast Agricultural University, 2011,42(8): 78-82. (in Chinese with English abstract)

[3] 李长锋,郭新宇,赵春江,等. 基于空间散列法的虚拟植物碰撞检测算法[J]. 计算机应用与软件,2009,26(4):242-245.Li Changfeng, Guo Xinyu, Zhao Chunjiang, et al. Virtual collision detection algorithm based on spatial hashing[J].Computer Applications and Software, 2009, 26(4): 242-245.(in Chinese with English abstract)

[4] Xiao B, Guo X, Wang C, et al. Collision detection based on biomimetic pattern recognition for virtual plant[J]. Icic Express Letters, 2015, 9(5): 1413-1418.

[5] 秦铨,赵春江,肖伯祥,等. 基于 AABB-OBB盒的玉米叶片碰撞检测[J]. 农机化研究,2012,34(1):177-180.Qin Quan, Zhao Chunjiang, Xiao Boxiang, et al. Maize blade collision detection based on AABB - OBB Box[J]. Research on Agricultural Mechanization, 2012, 34(1): 177-180. (in Chinese with English abstract)

[6] Van Den Bergen G. Efficient collision detection of complex deformable models using AABB trees[J]. Journal of Graphics Tools, 1998, 2(4): 1-13.

[7] Gottschalk S, Lin M C, Manocha D. OBBTree: A hierarchical structure for rapid interference detection[C]//Conference on Computer Graphics and Interactive Techniques. ACM, 1996: 171-180.

[8] Stüvel S A, Magnenat Thalmann N, Thalmann D, et al.Hierarchical structure for collision checking between virtual characters [J]. Computer Animation and Virtual Worlds,2014,25(25): 333-342.

[9] Lifang Bai, Chaowen Chang, Yutong Wang, et al. OBB Intersect Test Algorithm Based on Effective Constraint[M].Proceedings of Science, 18-19 December 2015. Guangzhou,China.

[10] 伍艳莲,汤亮,曹卫星,等. 作物可视化中的碰撞检测及响应研究[J]. 计算机科学,2011,38(10):263-266.Wu Yanlian, Tang Liang, Cao Weixing, et al. Research on collision detection and response in crop visualization[J].Computer Science, 2011, 38(10): 263-266. (in Chinese with English abstract)

[11] Klosowski J T, Held M, Mitchell J S B, et al. Efficient collision detection using bounding volume hierarchies of k-DOPs[J]. IEEE Transactions on Visualization & Computer Graphics, 1998, 4(1): 21-36.

[12] Kim D, Heo J, Huh J, et al. Hybrid parallel continuous collision detection using CPUs and GPUs[J]. Computer Graphics Forum, 2009, 28(7): 1791-1800.

[13] Greß A, Guthe M, Klein R. GPU-based collision detection for deformable parameterized surfaces[J]. Computer Graphics Forum, 2006, 25(3): 497-506.

[14] Du P, Liu E S, Suzumura T. Parallel continuous collision detection for high-performance GPU cluster[C]// ACM SIGGRAPH Symposium on Interactive 3d Graphics and Games. ACM, 2017: 4.

[15] Yong B, Shen J, Sun H, et al. Parallel GPU-based collision detection of irregular vessel wall for massive particles[J].Cluster Computing, 2017: 1-13.

[16] Rubio-Largo S M, Lind P G, Maza D, et al. Granular gas of ellipsoids: Analytical collision detection implemented on GPUs[J]. Computational Particle Mechanics, 2015, 2(2): 1-12.

[17] Tang M, Manocha D, Lin J, et al. Collision-streams: Fast GPU-based collision detection for deformable models[C]//Symposium on Interactive 3d Graphics & Games. DBLP,2011: 63-70.

[18] 黄伟益. 虚拟手术中碰撞检测并行化算法的研究[J]. 电子技术与软件工程,2015(4):190-192.Huang Weiyi. Research on collision detection parallelization algorithm in virtual surgery[J]. Electronic Technology and Software Engineering, 2015(4): 190-192. (in Chinese with English abstract)

[19] 宋伟国. 小麦生长可视化关键技术研究[D]. 南京:南京农业大学,2013.Song Weiguo. Study on Key Technologies of Wheat Growth Visualization[D]. Nanjing: Nanjing Agricultural University,2013. (in Chinese with English abstract)

[20] 石春林,朱艳,曹卫星. 水稻叶曲线特征的机理模型[J]. 作物学报,2006,32(5):656-660.Shi Chunlin, Zhu Yan, Cao Weixing. Mechanism model of rice leaf curve[J]. Journal of Crop Sciences, 2006, 32(5): 656-660. (in Chinese with English abstract)

[21] 孙爱珍,杨红云,何火娇,等. 水稻叶片三维可视化建模[J]. 安徽农业科学,2008,36(4):1320-1321.Sun Aizhen, Yang Hongyun, He Huojiao, et al. Three -dimensional visual modeling of rice leaves[J]. Anhui Agricultural Sciences, 2008, 36(4): 1320-1321. (in Chinese with English abstract)

[22] 孙劲光,吴素红,周积林,等. 基于形状分类的包围盒碰撞检测优化算法[J]. 计算机应用与软件,2016(2):242-245.Sun Jinguang, Wu Suhong, Zhou Jilin, et al. Optimal algorithm of bounding box collision detection based on shape classification[J]. Computer Applications and Software, 2016(2): 242-245. (in Chinese with English abstract)

[23] Nvidia CUDA Compute Unified Device Architecture Programming Guide[M]. NVIDIA, 2013

[24] Bernstein A J. Analysis of programs for parallel processing[J].IEEE Transactions on Electronic Computers, 1966,EC-15(5):757-763.

[25] 陈国良. 并行计算:结构、算法、编程[M]. 北京:高等教育出版社,2003:4-175.

[26] Liu Y, Aluru S. LightScan: Faster scan primitive on CUDA compatible manycore processors[EB/OL]. [2017:06-06].http://www.researchgate.net/pulitation/301898340.

[27] Zhang Yonghui, Tang Liang, Liu Xiaojun, et al. Modeling morphological dynamics and color characteristics of rice panicle[J]. European Journal of Agronomy, 2014, 52(1): 279-290.

[28] Zhang Y H, Tang L, Liu X J, et al. Modeling dynamics of leaf color based on RGB value in rice[J]. Journal of Integrative Agriculture, 2014, 13(4): 749-759.

[29] 张永会,汤亮,刘小军,等. 不同品种和氮素条件下水稻茎鞘夹角动态模拟[J]. 中国农业科学,2012,45(21):4361-4368.Zhang Yonghui, Tang Liang, Liu Xiaojun, et al. Dynamic simulation of stem and sheath in rice under different varieties and nitrogen conditions[J]. Chinese Journal of Agricultural Sciences, 2012, 45(21): 4361-4368. (in Chinese with English abstract)

[30] 张永会,汤亮,刘小军,等. 基于高斯函数的水稻叶曲线动态模拟[J]. 中国农业科学,2013,46(1):215-224.Zhang Yonghui, Tang Liang, Liu Xiaojun, et al. Dynamic simulation of rice leaf curve based on gaussian function[J].Chinese Journal of Agricultural Sciences, 2013, 46(1): 215-224. (in Chinese with English abstract)

猜你喜欢

碰撞检测植株群体
基于动力学补偿的机器人电机力矩误差碰撞检测
全新预测碰撞检测系统
植物抗冷性分子生物学相关研究进展
准确辨识辣椒植株徒长及徒长的防控措施
哈密葡萄黄化病的发生情况及补救措施
通过自然感染获得群体免疫有多可怕
基于BIM的铁路信号室外设备布置与碰撞检测方法
“群体失语”需要警惕——“为官不言”也是腐败
基于Virtools的虚拟灭火系统碰撞检测设计与实现
植物体细胞杂交技术知识归纳及试题分析