具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。
在介绍本申请实施例提供的植物根系力学模型构建方法之前,先介绍本申请实施例所涉及的一些概念,本申请实施例所涉及的一些概念如下:
三维模型,是指物体的三维多边形表示,通常用电脑或者其它影片设备进行显示;显示的物体可以是现实世界的实体,也可以是虚构的东西,既可以小到原子,也可以大到很大的尺寸,当然,在物理自然界存在的东西都可以用三维模型表示。
植物根系模型,是指对植物根系进行建模或仿真获得的三维模型,具体例如:使用AutoCAD(Autodesk Computer Aided Design)或SolidWorks对植物根系进行建模或仿真,获得植物根系的三维模型,这里的AutoCAD是一种计算机辅助设计软件;这里的SolidWorks是达索系统(Dassault Systemes)开发的用于销售机械设计软件的软件产品。
服务器是指通过网络提供计算服务的设备,服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和UNIX服务器。当然在具体的实施过程中,上述的服务器可以具体选择大型机或者小型机,这里的小型机是指采用精简指令集计算(ReducedInstruction Set Computing,RISC)、单字长定点指令平均执行速度(MillionInstructions Per Second,MIPS)等专用处理器,主要支持UNIX操作系统的封闭且专用的提供计算服务的设备;这里的大型机,又名大型主机,是指使用专用的处理器指令集、操作系统和应用软件来提供计算服务的设备。
需要说明的是,本申请实施例提供的植物根系力学模型构建方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的设备终端或者上述的服务器,设备终端例如:智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobile Internet device,MID)、网络交换机或网络路由器等。
在介绍本申请实施例提供的植物根系力学模型构建方法之前,先介绍该植物根系力学模型构建方法适用的应用场景,这里的应用场景包括但不限于:使用该植物根系力学模型构建方法构建应用于研究领域的植物根系模型,这里的研究领域包括但不限于:植物根系的三维形态对根土复合材料力学特性的影响分析、根土复合材料的力学分析和根系加固边坡的稳定性分析等等,具体例如:通过给植物根系赋予力学参数,构建植物根系的力学计算模型,然后使用该力学计算模型进行分析和计算;使用植物根系力学模型构建方法构建植物根系模型,并使用该植物根系模型作教学演示或者动画产业等。
请参见图1示出的本申请实施例提供的植物根系力学模型构建方法的示意图;该植物根系力学模型构建方法可以包括:
步骤S110:获得生长时间与植物根系的各级根的长度的第一映射关系。
请参见图2示出的本申请实施例提供的植物根系中的级根的结构示意图;图中的每个距离最小单位可以理解为一个标准单元unit(dxi),这里的标准单元是从图形学的角度考虑,假设定义植物根系模型均由标准单元组成,级根的标准单元长度为dxi;上述的级根有两种情况:第一种情况,级根只包括:基部区域(Basalzone)和尖端区域(Apicalzone);第二种情况,级根除了包括基部区域和尖端区域之外,还包括至少一个间距(Spacing),这里的间距是指相邻两个分叉之间的距离,级根和分叉连接的部分可以被称为节点(node)。可以理解的是,上述的标准单元的长度均可以小于间距、基部区域或尖端区域的任一长度。
请参见图3示出的本申请实施例提供的植物根系的分叉示意图;上述的植物根系具有一定的自相似性,植物根系可以包括很多级根,具体例如:植物根系的主根可以理解为一级根,主根上产生分叉时的根可以理解为二级根,二级根上产生分叉时的根可以理解为三级根,依次类推,因此,上述的植物根系的各级根是指上述的一级根、二级根、三级根等各个级根,下面将对级根做具体的介绍。
在具体实践过程中,植物根系的级根具体例如:假设植物根系包括多个级根,对第i级根而言,从起始端Oi出发,先生长出基部区域,基部区域的长度表示为lbi;这里的起始端又被称为起始点,即图中最左边的点,这里的起始点是指当前的级根和上一级根的连接处的点,即上一级根的分叉节点;然后再产生一个分叉,这里的分叉是指第i级根和第i+1级根之间的分叉,这里的第i级根和第i+1级根之间有一个特定夹角,该特定夹角可以表示为θi,待长度继续增长一个间距(spacing)后产生下一个分叉,这里的间距的长度可以表示为lni,直至产生完ni个分叉后,再继续增长的尖端区域,这里的尖端区域的长度为lai。
可以理解的是,植物根系的各级根的长度会随着生长时间的增长而增加,也就是说,植物根系的生长时间与植物根系的各级根的长度存在映射关系,具体地,上述步骤S110中获得第一映射关系的实施方式可以包括:
步骤S111:获得植物根系的各级根的几何参数,几何参数包括:基部长度、尖端长度、分叉间距长度、分叉数量。
几何参数,是指在几何形态上的可以度量的参数,具体例如:长度和宽度等等;这里的几何参数可以包括:基部长度、尖端长度、分叉间距长度和分叉数量;其中,基部长度是指图中的基部区域(Basal zone)的长度,尖端长度是指图中的尖端区域(Apicalzone)的长度,分叉间距长度是指图中的间距(Spacing),即两个分叉之间的间距长度;分叉数量是指该级根上分叉的数量,以图中的分叉数量为例说明,那么图中的分叉数量为5,即有5个分叉。
上述步骤S111中的获得级根的几何参数的实施方式例如:第一种方式,获取预先存储的几何参数,从文件系统中获取几何参数,或者从数据库中获取几何参数;第二种方式,从其他终端设备接收获得几何参数;第三种方式,使用浏览器等软件获取互联网上的几何参数,或者使用其它应用程序访问互联网获得几何参数。
上述步骤S111中的几何参数的获得方式还可以包括:通过种植预设种类植物,待该预设种类植物生长基本停止或者缓慢生长时,将该预设种类植物的根系从土中取出,使用游标卡尺量取获得根系中的各个级根的基部长度、尖端长度和分叉间距长度等等几何参数;分叉数量可以通过人工观察的方式统计获得。
步骤S112:根据基部长度、尖端长度、分叉间距长度和分叉数量,确定植物根系的各级根的最大长度。
上面步骤S112中的根据基部长度、尖端长度、分叉间距长度和分叉数量,确定级根的最大长度的实施方式例如:根据
对基部长度、尖端长度、分叉间距长度和分叉数量进行运算,确定级根的最大长度;其中,K
i表示第i级根的最大长度,n
i为第i级根上的分叉数,l
bi、l
ai、l
ni分别为第i级根的基部长度、尖端长度、各分叉的分叉间距长度。
步骤S113:根据预先设置的初始生长速度和各级根的最大长度,确定生长时间与各级根的长度的第一映射关系。
预设初始生长速度,是指植物从种子开始生长到预设时间段内的初始生长速度,初始生长速度的获得方式具体例如;对于第一级根,测量根系从种子中生长出来后第一天的长度和第二天的长度之差即为初始生长速度(厘米/天);对于第二、三级根,测量其从分叉点产生后第一天的长度和第二天的长度之差即为其初始生长速度(厘米/天)。
请参见图4示出的本申请实施例提供的长度和直径随时间变化曲线的示意图;上述的步骤S113中的确定生长时间与各级根的长度的第一映射关系的实施方式例如:在植物根系中,每一级根的长度表现为前期快速增长且增长速度逐渐降低,直至停止生长,那么对第i级根而言,该级根的长度随时间变化的生长函数,即生长时间与各级根的长度的第一映射关系可以表示为:
其中,i表示植物根系中的第i级根,t表示时间的具体时刻,λ
i为t时刻的第i级根的长度,K
i为第i级根的最大长度,S
i为预设初始生长速度。该公式在植物学上具有较普遍的意义,可以基本反映植物根系的生长规律;因此在最大长度K
i确定的情况下,初始生长速度S
i越快,其长度λ
i就越快接近其最大长度K
i。通过根据预设直径生长速度、级根的最大直径、级根的长度,确定级根的直径;从而有效地提高了获得级根的直径的精准度。
在上述的实现过程中,通过根据基部长度、尖端长度、分叉间距长度和分叉数量,确定植物根系的各级根的最大长度;根据预先设置的初始生长速度和各级根的最大长度确定生长时间与各级根的长度的第一映射关系;从而有效地提高了获得级根的长度的准确性。
步骤S120:获得生长时间与植物根系的各级根的直径的第二映射关系。
级根的直径,是指级根的各个部分的直径;由于根的直径沿其生长方向逐渐变细,随着植物根系的生长,同一位置处的根直径还会不断增大,且根的直径也呈现先快速增加,根的直径再趋于稳定。
可以理解的是,上述的步骤S110和步骤S120的执行顺序可以不作限制,可以步骤S110先执行且步骤S120后执行,也可以步骤S120先执行且步骤S110后执行,当然也可以步骤S110和步骤S120并行执行,即步骤S110和步骤S120一起执行。
上述步骤S120中获得第二映射关系的实施方式可以包括:
步骤S121:获得各级根的最大直径和各级根的直径初始生长速度。
上述步骤S121中的级根的根直径生长速度和最大直径的获得方式例如:对于第一级根,测量根系从种子中生长出来后第一天的直径和第二天的直径之差即为直径的初始生长速度;对于第二、三级根,测量其从分叉点产生后第一天的直径和第二天的直径之差即为该级根的根直径生长速度;在植物根系基本停止生长后,测量各级根的基部区域的直径,即为各个级根的最大直径;上述的几何参数还可以包括:级根的最大直径。
步骤S122:根据最大直径、直径初始生长速度、各级根的长度,确定生长时间与植物根系的各级根的直径的第二映射关系。
上述步骤S122中的确定生长时间与植物根系的各级根的直径的第二映射关系的实施方式例如:根据
对预设直径生长速度、级根的最大直径、级根的长度进行计算,获得级根的直径,换句话说,上述的生长时间与植物根系的各级根的直径的第二映射关系可以表示为
其中,C
i为第i级根的根直径生长速度,R
i为第i级根的最大直径,λ
i为t时刻的第i级根长度,L为第i级根上某点离起始点的距离,r
i为第i级根t时刻某点的直径;上述的某点是指组成该级根的任意单元的中心,并定义其中心到起始点的距离为L;上述的起始点是指该级根和上一级根的连接处的点,即分叉节点;上述中的第i级根上某点离起始点的距离L的获得方式具体例如:每一级根都是由大大小小的单元组成的,根据这些单元所在的几何位置,计算其单元中心到起始点的距离,即可获得某点离起始点的距离L。
在上述的实现过程中,通过根据最大直径、直径初始生长速度、各级根的长度,确定生长时间与植物根系的各级根的直径的第二映射关系;从而有效地提高了获得级根的直径的准确性。
步骤S130:根据第一映射关系、第二映射关系及生长时间生成各级根模型。
级根模型,是指对植物根系中的级根进行建模或仿真获得的三维模型;除了上述获得方式之外,还可以通过很多方式获得级根模型,具体例如:第一种方式,获取预先存储的级根模型,从文件系统中获取级根模型,或者从数据库中获取级根模型;第二种方式,从其他终端设备接收获得级根模型;第三种方式,使用浏览器等软件获取互联网上的级根模型,或者使用其它应用程序访问互联网获得级根模型。
上述步骤S130中的根据第一映射关系、第二映射关系及生长时间生成各级根模型的实施方式例如:根据第一映射关系、第二映射关系及生长时间使用MATLAB生成获得级根模型,换句话说,若生长时间确定,那么就可以根据第一映射关系和第二映射关系获得级根各个部分的长度和级根各个部分的直径,在已经获得级根各个部分的长度和级根各个部分的直径的情况下,就可以计算并生成出级根模型;这里的MATLAB是matrix和laboratory两个词的组合,意为矩阵工厂或者矩阵实验室;MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境;MATLAB将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。
步骤S140:对各级根模型进行真实性模拟,获得具有真实形态的植物根系模型。
请参见图5示出的本申请实施例提供的对各级根模型进行真实性模拟的示意图;上述步骤S140中的对各级根模型进行真实性模拟的实施方式可以包括:
步骤S141:对各级根模型进行重力模拟;
上述步骤S141中的对各级根模型进行重力模拟的实施方式可以包括:
步骤S141a:在植物根系所在的坐标系中确定重力方向,重力方向表征植物的根系向地性的方向。
上述的步骤S141a中确定重力方向的实施方式例如:在三维空间中,对于任何一个单元,都有一个对应的局部坐标系,用一个矩阵来表示:
其中,G为植物根系所在的局部坐标系;假定根生长方向的向量为局部坐标系G的z轴向量gz,此生长方向的向量可以表示为:gz=(x3 y3 z3);对于一个常规的植物根系,若该植物根系的初始生长方向是全局坐标系下的-z轴的方向,那么该全局坐标系下的-z轴的方向就可以理解为该坐标系下的重力方向,具体地,可以设置第1级根的初始局部坐标系表示为:
当然,在具体的实施过程中,也可以根据具体情况,在植物根系所在的坐标系中确定重力方向,具体例如:直接在三维坐标系中指定负Z轴的方向为重力方向等等。
步骤S141b:获得各级根模型需要旋转的第一角度和第二角度。
步骤S141c:将各级根模型先绕第一坐标轴旋转第一角度,再绕第二坐标轴旋转第二角度,第一坐标轴不同于第二坐标轴,第二坐标轴与重力方向垂直。
请参见图6示出的本申请实施例提供的对各级根模型进行重力模拟的示意图;上述的步骤S141b和步骤S141c的实施方式具体例如:根在分叉的时候,该分叉的局部坐标系会发生改变,因此,分叉的产生过程可以理解为:局部坐标系G绕自身z轴向量gz旋转任意角度β,得到中间局部坐标系G′,然后让局部坐标系G′再绕G′的x轴向量gx′旋转θ,最后得到一个新的局部坐标G″。接下来,分叉的生长将沿局部坐标系G″的z轴向量进行。因此引入一个绕任意向量旋转的矩阵表示为:
其中,M为旋转矩阵,v为任意向量(vx,vy,vz),α为顺时针旋转角度。
从上面的分析可以得知,中间局部坐标系G′可以表示为:G′=GM(gz,β);其中,G′表示中间局部坐标系,M为旋转矩阵,G为原来的局部坐标系,gz为自身z轴向量,β为局部坐标系G绕自身z轴向量gz旋转任意角度。经过两次旋转后的新的局部坐标系G″可以表示为:G″=G′M(g′x,θ);其中,G′表示中间局部坐标系,M为旋转矩阵,G为原来的局部坐标系,gx′为中间局部坐标系G′再绕G′的x轴向量,θ为局部坐标系G′再绕G′的x轴向量gx′旋转的预设角度。
在具体的实践过程中,还可以使用L系统的语言来模拟将分叉向重力方向旋转预设角度的过程,具体例如:在不考虑向地性的时候,是使用L系统的语言生成完整个字符串p0之后,再进行根系模型的构建。如果考虑向地性时,需要在每生成一个分叉的时候,将之前已经书写的字符串p00导出,利用正则表达式简化字符串p00,使其只保留与最近一个分叉有关的字符部分,然后计算出该分叉的局部坐标系G;然后再将G沿自身z轴g
z旋转角度
得到新的局部坐标系G′,使得此时的G′的x轴g
x′在全局坐标下的XOY平面内,即此时G′绕其x轴g
x′旋转是向重力方向旋转,就实现了根系向重力向生长,确定这个将G沿自身z轴g
z旋转角度
的过程在下面详细地说明。
上述的L系统(Lindenmayer System)是一种描述植物形态的语言,同时是一种独特的迭代过程,其核心概念是重写;作为一种形式语言,L系统文法用字母表和符号串来表达生成对象的初始形式,称为公理,然后根据一组产生式重写规则,将初始形式的每个字符依次替换为新的字符形式,一次过程反复替换重写,最终生成终极图形。L系统中具体的文法字母表例如:三维L系统文法字母表的绘图规则例如:F是指以当前方向(局部坐标系的z轴正方向)前进一步,并画线;$是指绕局部坐标系的x轴顺时针旋转delta度;%是指绕局部坐标系的x轴逆时针旋转delta度;^是指绕局部坐标系的y轴顺时针旋转delta度;&是指绕局部坐标系的y轴逆时针旋转delta度;+是指绕局部坐标系的z轴逆时针旋转delta度;-是指绕局部坐标系的z轴顺时针旋转delta度等。
上述确定旋转角度
的过程例如:假设一个单位向量e=(e
x,e
y,0),该向量在全局坐标下的XOY平面内,且e与g
z垂直,这样G绕e旋转,可以是与重力方向或与重力相反方向旋转;上述的e
x和e
y表示为分段函数如下:
其中,e为单位向量,e
x是单位向量e在x坐标上的截距,e
y是单位向量e在y坐标上的截距,
为单位向量e与g
x的夹角,这个夹角
可以使用公式表示为
上述的第i级根在经过b
i个单元绕g
x′转动后使g
z′=(0,0,-1),即生长方向垂直向下,则每个单元绕g
x′转动量γ
i表示为:γ
i=(arccos(-z
3))/b
i;γ
i为每个单元绕g
x′转动量。
在上述的实现过程中,通过将各级根模型先绕第一坐标轴旋转第一角度,再绕与重力方向垂直的第二坐标轴旋转第二角度;从而有效地改善了难以准确地模拟出植物根系的重力向地性的问题。
步骤S142:对各级根模型进行随机弯曲模拟。
请参照图5,上述步骤S142中的对各级根模型进行随机弯曲模拟的实施方式可以包括:获得多个组成单元的坐标点和局部坐标系;将多个组成单元的坐标点沿局部坐标系中的第一平面进行随机平移;具体的弯曲模拟的实施方式例如:由于真实的根不是一条笔直的线,而是受土壤颗粒分布及其他因素而弯曲的;为模拟弯曲形状又不改变根系大体的走向,先确定一个没有随机弯曲的规则根系模型,并将这个模型中所有单元两端点的全局坐标及每个单元对应的局部坐标系堆栈。
可以理解的是,上述的各级根模型包括多个组成单元,组成单元表征构成各级根模型的最小线段单位。上述的随机弯曲模拟的实施方式例如:将随机程度数del和一个0到1之间的随机数p相乘来对单元末端坐标Oi(Oxi,Ovi,Ozi)进行修改,修改坐标只改变单元在局部坐标系下的x轴方向gx和y轴方向gy的坐标,得到一个新的末端坐标O′i表示为:O′i=Oi+p·del·gx+p·del·gy;一个端点往往由多个单元共享,且只有一个单元的末端是这个端点,因此修改一个端点末端坐标后,需要将所有以该端点为起始端的单元的起始端坐标改为和Oi′一致。在根系模型中,一个完整单元长为dxi,而在一些节点处会出现单元长度远小于dxi,如果对这些长度小于dxi的单元的末端坐标也进行修改会导致图形畸变,因此只修改长度为dxi的完整单元的末端坐标。同时,还需判断该单元是否为该级根最后一个单元,若是则不对其末端坐标进行修改。
在上述的实现过程中,通过获得多个组成单元的坐标点和局部坐标系;将多个组成单元的坐标点沿局部坐标系中的第一平面进行随机平移;从而有效地改善了难以准确地模拟出植物根系的随机弯曲的问题。
可以理解的是,上述的步骤S140可以只包括步骤S141,也可以只包括步骤S142,还可以包括步骤S141和步骤S142,换句话说,在对各级根模型进行真实性模拟的过程中,可以只进行重力模拟,或者只进行随机弯曲模拟,或者两种模拟都进行,具体做法可以根据具体情况进行设置。在上述的实现过程中,通过对各级根模型进行重力模拟;和/或对各级根模型进行随机弯曲模拟;从而有效地改善了难以准确地模拟出植物根系的重力向地性和随机弯曲的问题。
步骤S150:将获得的力学参数赋予根系模型,获得基于植物真实形态的根系力学模型。
力学参数,是指表征植物根系抵抗外力变形的能力的参量数据,具体例如:力学参数可以包括:抗拉力和弹性模量等等。这里的抗拉力是指表征植物根系对外界抵抗拉伸形变的程度;在具体的实践过程中,抗拉力数据和植物根系的直径数据可以存在映射关系,具体的映射关系获得方式有很多种,具体例如:线性回归、逻辑回归等等方法。这里的弹性模量是指表征物体受到外力影响而产生弹性变形趋势的数学模量;在具体的实践过程中,多个弹性模量可以理解为弹性模量数据,弹性模量数据和植物根系的直径数据可以存在映射关系,具体的映射关系获得方式有很多种,具体例如:线性回归、逻辑回归等等方法。
上述步骤S150中的将获得的力学参数赋予根系模型的实施方式可以包括:
步骤S151:获得直径数据和植物根系的力学参数。
上述步骤S151中的获得直径数据和植物根系的力学参数的实施方式包括:第一种方式,获取预先存储的直径数据和力学参数,从文件系统中获取直径数据和力学参数,或者从数据库中获取直径数据和力学参数;第二种方式,从其他终端设备接收获得直径数据和力学参数;第三种方式,使用浏览器等软件获取互联网上的直径数据和力学参数,或者使用其它应用程序访问互联网获得直径数据和力学参数。
步骤S152:建立力学参数与直径数据的力学映射关系。
上述的步骤S152的实施方式包括两种:
第一种实施方式,请参见图7示出的本申请实施例提供的抗拉力随根径变化的拟合曲线的示意图;若力学参数为抗拉力,建立力学参数与直径数据的力学映射关系,具体例如:由于植物根系的抗拉力随直径的增大以幂函数递增,电子设备根据Tr=aDb建立抗拉力与植物根系的直径的第一映射关系,这里的第一映射关系也可以理解为根系抗拉力随根径关系函数变化的函数关系,其中,Tr为抗拉力(MPa),D为直径(mm),a和b为拟合函数的参数,即待拟合参数。
第二种实施方式,请参见图8示出的本申请实施例提供的弹性模量随根径变化的拟合曲线的示意图;若力学参数为弹性模量,建立力学参数与直径数据的力学映射关系,具体例如:例如:由于植物根系的沿长度方向的弹性模量随根径的增大以负的幂函数形式递减,电子设备根据E=aD-b建立弹性模量与植物根系的直径的第二映射关系,这里的第二映射关系也可以理解为根系弹性模量随根直径变化的函数关系,其中,E为弹性模量(MPa),D为直径(mm),a和b为拟合函数的参数,即待拟合参数。
步骤S153:根据力学映射关系生成根系力学模型。
上述步骤S153中的根据力学映射关系生成根系力学模型的实施方式例如:将根系模型中抗拉力或者弹性模量大的根部分颜色绘制得深一点,而将根系模型中抗拉力或者弹性模量小的根部分颜色绘制得浅一点;当然,在具体的实践过程中,根据第一映射关系绘制植物根系模型的颜色、图案、亮度和对比度可以根据具体情况进行设置。在上述的实现过程中,通过获得直径数据和植物根系的力学参数,力学参数表征植物根系抵抗外力变形的能力;建立力学参数与直径数据的力学映射关系;根据力学映射关系生成根系力学模型;从而有效地改善了难以构建表征植物根系力学参数的根系力学模型。
在上述的实现过程中,通过根据表征生长时间与级根长度的第一映射关系、生长时间与级根直径的第二映射关系及生长时间生成各级根模型,并对各级根模型进行真实性模拟,以及将力学参数赋予该模型,获得根系力学模型;从而有效地改善了难以准确地模拟出植物根系的真实根系形态及力学特征的难题。
请参见图9示出的本申请实施例提供的植物根系力学模型构建装置的结构示意图;本申请实施例提供了一种植物根系力学模型构建装置200,包括:
第一关系获得模块210,用于获得生长时间与植物根系的各级根的长度的第一映射关系。
第二关系获得模块220,用于获得生长时间与植物根系的各级根的直径的第二映射关系。
级根模型生成模块230,用于根据第一映射关系、第二映射关系及生长时间生成各级根模型。
模型真实模拟模块240,用于对各级根模型进行真实性模拟,获得具有真实形态的植物根系模型。
力学模型获得模块250,用于将根系力学参数赋予植物根系模型,获得基于植物真实形态的根系力学模型。
可选地,在本申请实施例中,第一关系获得模块,包括:
几何参数获得模块,用于获得植物根系的各级根的几何参数,几何参数包括:基部长度、尖端长度、分叉间距长度、分叉数量。
最大长度确定模块,用于根据基部长度、尖端长度、分叉间距长度和分叉数量,确定植物根系的各级根的最大长度。
第一映射确定模块,用于根据预先设置的初始生长速度和各级根的最大长度,确定生长时间与各级根的长度的第一映射关系。
可选地,在本申请实施例中,第二关系获得模块,包括:
初始速度获得模块,用于获得各级根的最大直径和各级根的直径初始生长速度。
第二映射确定模块,用于根据最大直径、直径初始生长速度、各级根的长度,确定生长时间与植物根系的各级根的直径的第二映射关系。
可选地,在本申请实施例中,模型真实模拟模块,包括:
模型重力模拟模块,用于对各级根模型进行重力模拟;
随机弯曲模拟模块,用于对各级根模型进行随机弯曲模拟。
可选地,在本申请实施例中,模型重力模拟模块,包括:
重力方向确定模块,用于在植物根系所在的坐标系中确定重力方向,重力方向表征植物的根系向地性的方向。
旋转角度获得模块,用于获得各级根模型需要旋转的第一角度和第二角度。
将各级根模型先绕第一坐标轴旋转第一角度,再绕第二坐标轴旋转第二角度,第一坐标轴不同于第二坐标轴,第二坐标轴与重力方向垂直。
可选地,在本申请实施例中,各级根模型包括多个组成单元,组成单元表征构成各级根模型的最小线段单位;随机弯曲模拟模块,包括:
单元坐标获得模块,用于获得多个组成单元的坐标点和局部坐标系。
平面随机平移模块,用于将多个组成单元的坐标点沿局部坐标系中的第一平面进行随机平移。
可选地,在本申请实施例中,力学模型获得模块,包括:
数据参数获得模块,用于获得直径数据和植物根系的力学参数,力学参数表征植物根系抵抗外力变形的能力。
映射关系建立模块,用于建立力学参数与直径数据的力学映射关系。
力学模型生成模块,用于根据力学映射关系生成基于植物真实形态的根系力学模型。
应理解的是,该装置与上述的植物根系力学模型构建方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,OS)中的软件功能模块。
请参见图10示出的本申请实施例提供的电子设备的结构示意图。本申请实施例提供的一种电子设备300,包括:处理器310和存储器320,存储器320存储有处理器310可执行的机器可读指令,机器可读指令被处理器310执行时执行如上的方法。
本申请实施例还提供了一种存储介质330,该存储介质330上存储有计算机程序,该计算机程序被处理器310运行时执行如上的植物根系力学模型构建方法。
其中,存储介质330可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请实施例各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。