首页> 中国专利> 光照与生长方程共同约束的三维数字树木生长建模方法

光照与生长方程共同约束的三维数字树木生长建模方法

摘要

本发明公开了一种光照与生长方程共同约束的三维数字树木生长建模方法,用于解决现有三维数字树木生长建模方法不能约束树木生长高度的技术问题。技术方案是根据植物生长方程,通过输入三维数字树木根的起始位置和初始的主干方向,以及树木生长空间的光照信息,一轮一轮地迭代生长。首先计算各个树枝的顶芽和侧芽获得的光照资源,然后计算光照资源的汇聚和分配量,再利用生长方程约束树木的生长速度,确定每个顶芽和侧芽是否生长以及生长的速度,最后计算出新的树枝位置和分枝模型的几何量,更新树枝中各个结点的半径值。停止迭代生长后,输出树枝模型,添加树叶。本发明解决了在光照资源充分的条件下,不能约束树木的生长高度的技术问题。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-03

    授权

    授权

  • 2018-01-19

    实质审查的生效 IPC(主分类):G06T17/00 申请日:20170731

    实质审查的生效

  • 2017-12-22

    公开

    公开

说明书

技术领域

本发明涉及一种三维数字树木生长建模方法,特别涉及一种光照与生长方程共同约束的三维数字树木生长建模方法。

背景技术

三维数字树木是虚拟现实、数字林业、三维游戏和电影中不可或缺的重要对象。近几年的研究和技术发展正由静态的三维数字树木模拟转向为三维数字树木的动态生长模拟。

文献1“Palubicki W,Horel K,Longay S,et al.Self-organizing tree modelsfor image synthesis[J].ACM Transactions on Graphics,2013,28(3):5801-5810.”公开了一种三维数字树木建模方法。该三维数字树木生长建模方法的步骤是:第一步是输入初始树木模型;第二步是计算侧芽和顶芽生长的局部光照环境;第三步是确定每个芽的未来状态,即生长,分枝和脱落这三个状态之一;第四步是树枝生长和分枝;第五步是更新各个树枝结点的半径;最后,重复第二步至第五步,或者树木停止生长并输出当前的树木模型。该方法解决了树木生长的光照资源竞争的生长模型的构建。

文献2“Lei Yi,Hongjun Li,Jianwei Guo,Oliver Deussen,Xiaopeng Zhang,Light-Guided Tree Modeling of Diverse Biomorphsy,In:Proc of Pacific Graphics2015,pp.53-57”公开了一种三维数字树木建模方法。该三维数字树木生长建模方法的步骤是:第一步是输入初始树木模型;第二步是计算侧芽和顶芽生长的获取的光照资源;第三步是资源分配到现已经生成的各个树枝结点;第四步是生成新的分枝;第五步是计算新的分枝对光照环境的影响;第六步是更新各个树枝结点的半径;最后,重复第二步至第六步,或者树木停止生长并输出当前的树木模型。该方法从资源分配角度改进了光照资源竞争环境下的数字树木的生长建模。

但是,现有的方法在光照资源充分的条件下,不能约束树木生长高度,即三维数字树木模型随着光照资源的无限而无限长高。事实上,按照2004年《自然》杂志文章“Koch GW,Sillett S C,Jennings G M,et al.The limits to tree height[J].Nature,2004,428(6985):851-4.”的观点,树木的高度是有极限的,不可能因为光照资源无限就能无限地生长。现有的数字树木生长建模技术都没有解决这个技术问题。

发明内容

为了克服现有三维数字树木生长建模方法不能约束树木生长高度的不足,本发明提供一种光照与生长方程共同约束的三维数字树木生长建模方法。该方法根据植物生长方程,通过输入三维数字树木根的起始位置和初始的主干方向,以及树木生长空间的光照信息,然后再一轮一轮地迭代生长。在每一轮的生长中,首先计算各个树枝的顶芽和侧芽获得的光照资源,然后计算光照资源的汇聚和分配量,再利用生长方程约束树木的生长速度,确定每个顶芽和侧芽是否生长以及生长的速度,最后计算出新的树枝位置和分枝模型的几何量,更新树枝中各个结点的半径值,再重新计算经过一轮生长之后的树木模型对周围环境的光照的影响,重算光照资源。停止迭代生长后,输出树枝模型,添加树叶。本发明可以解决在光照资源充分的条件下,不能约束树木的生长高度的技术问题。

本发明解决其技术问题所采用的技术方案:一种光照与生长方程共同约束的三维数字树木生长建模方法,其特点是包括以下步骤:

步骤一、设定一个光照空间为长方体所界定的范围,长方体各条边长大于待构建的三维数字树木的长宽高。指定初始树根的位置,这个位置位于光照空间有光的位置,以三维坐标(x0,y0,z0)形式表示;对光照空间进行体素化,即划分为小的立方体格,称为体素;对这个光照空间的初始光照条件进行赋值,用数字1表示完全光照,无遮挡;用数字0表示无光,用0到1之间的实数表示光照强度的相对值;指定树木的分枝率κ,这是介于0到1之间的实数;指定树干的持续高度τ,这是大于0的实数,表示明显的树干持续至少高度为τ米,在虚拟三维数字树木中设定为相对高度;指定约束植物生长的生长方程的类型及其参数,每次创建三维数字树木时,指定下面三个植物生长方程中的一个。

逻辑斯蒂方程:

其中,t为生长时间,X(t)表示t时刻的树高,树高以米为单位;Xm是一个常数,表示待建模的树种的最大高度;X0表示使用公式模拟生长的t0时刻的树的初始高度;r为常数,是一个正数。

贝塔兰菲方程:

其中,β1和β2为与树种有关的参数,通过测量,得到数据后用回归分析的方法估计出来。

威布尔方程:

其中,ω1、ω2和ω3为与树种有关的参数,通过测量,得到数据后用回归分析的方法估计出来。

步骤二、计算已经生长出来的每个树枝结点获得的光照资源量L,其计算公式为

其中,T和T0分别表示当前时间和该结点的生成的时间,ι表示该结点的所在体素当前的光照强度值,σ表示树枝结点的光的敏感度参数,α表示光转换率参数,参数是用实验测量数据,通过回归分析进行估计。

步骤三、采用博彻特-本田模式和优先权模式对已经生长出来的树枝的每个结点进行资源分配。博彻特-本田模式计算第i个结点获得的资源公式为

其中,Lm,i和Lu,i分别表示来自于主枝和侧枝的光资源累积量;λ为0到1之间的实数。

采用优先权模式进行资源分配的调整,其调整的公式为

其中,RPH,i表示树枝结点i的最终获取的资源量,Rr,B表示总的资源量汇聚到结点B,ωi表示结点i的优先权指数。

步骤四、对生长方程求导数,得到三维数字树木生长过程中,如果树枝结点所获取的资源达到或者超过了树木理想生长所需要的资源量,则树木生长速度按照生长方程计算出来的速度实行;如果获取的资源少于树木完全生长所需要的资源,则树木按照资源分配模型计算的速度v进行生长。后者的生长速度v不超过前者的生长速度,即

步骤五、如果一个树枝结点按照上一步骤计算出来能够生长或者形成新的分枝,则需要计算其最优的生长方向。这个最优生长方向是由其固有生长方向可选生长方向以及弯曲因子方向经过加权组合计算而出。计算公式为

其中,μ和γ都根据树种不同,设置不同的系数。

固有生长方向的计算是根据树木结构特征计算得出:若是不分枝,则保持当前的树枝生长方向;若是形成新的分枝,则通过分枝方式,分枝夹角θo计算出来。

可选生长方向的计算方法是采用周边体素光照强度为权,各体素方向加权之和的方向,其计算公式为

其中,Na表示附近的有光照的体素的个数,ιk表示第k个体素点的光照强度,Po表示当前待分枝点的位置,Pk表示第k个体素中心点的位置。

步骤六、更新光照空间中各个体素点的光照信息,其计算公式为

ι=ι0-b-q(9)

其中,ι是空间中任意一个位置的光照强度值,ιo是这个位置的更新之前的光照强度值,b是正实数,q是从树枝结点为始点所影响的光照空间的距离。

步骤七、重新计算树枝各个结点的半径,按照是否分枝的两种情况分别计算。第一种情况是不分枝时,父结点半径R用孩子结点半径Rc按照下面公式计算

其中,参数s和p都是正实数,de表示父结点到该枝末端的距离,dc表示父结点到孩子结点的距离。

第二种情况是父结点有分枝的情况,父结点与孩子结点的半径之间的关系满足的公式为:

其中,N表示分枝的总数,v是正实数,是与树种有关的参数。

对于脱落的树枝,则不计算其半径。

步骤八、更新数据结构和存储信息,包括更新结点数量,拓扑连接关系,光照的空间中各个体素的光照强度。

步骤九、按照树木生长时间要求,重复上述步骤二到步骤八,直到达到预期目标,输出生长模型的结果,给树枝模型添加树叶、花朵以及进行纹理贴图。

本发明的有益效果是:该方法根据植物生长方程,通过输入三维数字树木根的起始位置和初始的主干方向,以及树木生长空间的光照信息,然后再一轮一轮地迭代生长。在每一轮的生长中,首先计算各个树枝的顶芽和侧芽获得的光照资源,然后计算光照资源的汇聚和分配量,再利用生长方程约束树木的生长速度,确定每个顶芽和侧芽是否生长以及生长的速度,最后计算出新的树枝位置和分枝模型的几何量,更新树枝中各个结点的半径值,再重新计算经过一轮生长之后的树木模型对周围环境的光照的影响,重算光照资源。停止迭代生长后,输出树枝模型,添加树叶。本发明解决了在光照资源充分的条件下,不能约束树木的生长高度的技术问题。

下面结合附图和具体实施方式对本发明作详细说明。

附图说明

图1是本发明光照与生长方程共同约束的三维数字树木生长建模方法的流程图。

图2是本发明方法中分别采用逻辑斯蒂方程、贝塔兰菲方程和威布尔方程约束树木生长的树高变化示意图。示意图中,纵坐标为相对高度。实际高度是相对高度乘以一个缩放因子。

图3是本发明方法构建的不同参数条件下三维数字树木的建模结果示意图。图中的每个子图下方的3个数分别表示资源分配模型中参数λ/κ/τ的不同取值的例子。

图4是本发明方法中采用光照与逻辑斯蒂方程共同约束的三维数字树木建模结果示意图。

图5是本发明方法中采用光照与贝塔兰菲方程共同约束的三维数字树木建模结果示意图。

图6是本发明方法中采用光照与威布尔方程共同约束的三维数字树木建模结果示意图。

图7是用本发明方法创建的三维数字灌木模型示意图。

图8是用本发明方法创建的在建筑物遮挡光照条件下的三维数字树木建模结果示意图。

图9是用本发明方法创建的在建筑物遮挡光照条件下的三维数字树木建模结果示意图。

图10是用本发明方法创建的2棵三维数字树木在一起的模型示意图。

图11是用本发明方法创建的5棵三维数字树木在一起的小森林模型示意图。

具体实施方式

参照图1-11。本发明光照与生长方程共同约束的三维数字树木生长建模方法具体步骤如下:

步骤一、设置生长环境与参数。

设定一个光照空间为长方体所界定的范围,长方体各条边长大于待构建的三维数字树木的长宽高;指定初始树根的位置,这个位置位于光照空间的有光的位置,以三维坐标(x0,y0,z0)形式表示;对光照空间进行体素化,即划分为小的立方体格,称为体素;对这个光照空间的初始光照条件进行赋值,用数字1表示完全光照,无遮挡;用数字0表示无光,用0到1之间的实数表示光照强度的相对值;指定树木的分枝率κ,这是介于0到1之间的实数;指定树干的持续高度τ,这是大于0的实数,表示明显的树干持续至少高度为τ米,在虚拟三维数字树木中设定为相对高度;指定约束植物生长的生长方程的类型及其参数,每次创建三维数字树木时,指定下面三个植物生长方程中的一个。

逻辑斯蒂(Logistic)方程:

其中,t为生长时间,X(t)表示t时刻的树高,树高以米为单位;Xm是一个常数,表示待建模的树种的最大高度;X0表示使用公式模拟生长的t0时刻的树的初始高度;r为常数,是一个正数。公式中的Xm和r为与树种有关的参数,通过测量,得到数据后用回归分析的方法估计出来。

贝塔兰菲(Bertalanffy)方程:

其中,公式(2)中的β1和β2为与树种有关的参数,通过测量,得到数据后用回归分析的方法估计出来。

威布尔(Welbull)方程:

其中,公式(3)中的ω1、ω2和ω3为与树种有关的参数,通过测量,得到数据后用回归分析的方法估计出来。

图2是本发明方法中分别采用逻辑斯蒂方程,贝塔兰菲方程和威布尔方程约束树木生长的树高变化示意图。示意图中,纵坐标为相对高度。实际高度是相对高度乘以一个缩放因子。图2表明,三个植物生长方程约束后的树高变化都呈S型,即树是以先快后慢的速度生长。

步骤二、计算光照资源的获取。

计算已经生长出来的每个树枝结点获得的光照资源量L,其计算公式为

其中,T和T0分别表示当前时间和该结点的生成的时间,ι表示该结点的所在体素当前的光照强度值,σ表示树枝结点的光的敏感度参数,α表示光转换率参数,参数是用实验测量数据,通过回归分析进行估计。

步骤三、计算光照资源的分配。

采用博彻特-本田模式和优先权模式对已经生长出来的树枝的每个结点进行资源分配。博彻特-本田模式计算第i个结点获得的资源公式为

其中,Lm,i和Lu,i分别表示来自于主枝和侧枝的光资源累积量;λ为0到1之间的实数。

采用优先权模式进行资源分配的调整,其调整的公式为

其中,RPH,i表示树枝结点i的最终获取的资源量,Rr,B表示总的资源量汇聚到结点B,ωi表示结点i的优先权指数。

图3是本发明方法构建的不同参数条件下三维数字树木的建模结果示意图。图中的每个子图下方的3个数分别表示资源分配模型中参数λ/κ/τ的不同取值的例子。图3(a)和图3(b)对比表明λ越大,主枝生长得越粗壮;图3(c)和图3(d)对比效果表明κ越大,树枝越密;图3(e)和图3(f)对比效果表明τ越大,主干越长。

步骤四、用生长方程约束树木生长。

对公式(1)、(2)和(3)所列出的生长方程求导数,得到在三维数字树木生长过程中,如果树枝结点所获取的资源达到或者超过了树木理想生长所需要的资源量,则树木生长速度按照生长方程计算出来的速度实行;如果获取的资源少于树木完全生长所需要的资源,则树木按照资源分配模型计算的速度v进行生长。后者的生长速度v不超过前者的生长速度,即

图4是本发明方法中采用光照与逻辑斯蒂方程共同约束的三维数字树木建模结果示意图。

图5是本发明方法中采用光照与贝塔兰菲方程共同约束的三维数字树木建模结果示意图。

图6是本发明方法中采用光照与威布尔方程共同约束的三维数字树木建模结果示意图。这三个图表明,在采用光照与这三个植物方程共同约束后,三维数字树木的生长都符合S型曲线的生长模式,生长高度都受到控制。

步骤五、优化分枝方向、生成新的分枝。

如果一个树枝结点按照上一步骤计算出来能够生长或者形成新的分枝,则需要计算其最优的生长方向。这个最优生长方向是由其固有生长方向可选生长方向以及弯曲因子方向经过加权组合计算而出。计算公式为

其中,μ和γ都根据树种不同,设置不同的系数。

固有生长方向的计算是根据树木结构特征计算得出:若是不分枝,则保持当前的树枝生长方向;若是形成新的分枝,则通过分枝方式,分枝夹角θo计算出来。

可选生长方向的计算方法是采用周边体素光照强度为权,各体素方向加权之和的方向,其计算公式为

其中,Na表示附近的有光照的体素的个数,ιk表示第k个体素点的光照强度,Po表示当前待分枝点的位置,Pk表示第k个体素中心点的位置。

步骤六、重新计算光照空间。

更新光照空间中各个体素点的光照信息,其计算公式为

ι=ι0-b-q(9)

其中,ι是空间中任意一个位置的光照强度值,ιo是这个位置的更新之前的光照强度值,b是正实数,q是从树枝结点为始点所影响的光照空间的距离。

步骤七、计算半径。

重新计算树枝各个结点的半径,按照是否分枝的两种情况分别计算。第一种情况是不分枝时,父结点半径R用孩子结点半径Rc按照下面公式计算

其中,参数s和p都是正实数,de表示父结点到该枝末端的距离,dc表示父结点到孩子结点的距离.

第二种情况是父结点有分枝的情况,父结点与孩子结点的半径之间的关系满足的公式为

其中N表示分枝的总数,v是正实数,与树种有关的参数。

脱落的树枝,则不计算其半径。

步骤八、更新数据结构和存储信息。

更新的内容包括更新结点数量,拓扑连接关系,光照的空间中各个体素的光照强度。

步骤九、重复上述步骤二到步骤八或者停止生长并输出模型。

按照树木生长时间要求,重复上述步骤二到步骤八,直到达到预期目标,输出生长模型的结果,整个方法的流程图如图1所示。

最后按照文献“Li H,Zhang X,Che W,et al.Smooth Transition BetweenDifferent Plant Leaves Models[C]//Plant Growth Modeling,Simulation,Visualization,and Applications.IEEE Computer Society,2009:376-383.”的方法给树枝模型添加树叶、花朵以及进行纹理贴图。图7表明本发明方法能够创建三维数字灌木模型。

图8表明本发明方法能够创建在树木旁边有建筑物遮挡光照条件下的三维数字树木。

图9表明本发明方法能够创建在树木正上方有建筑物遮挡光照条件下的三维数字树木。

图10和图11表明本发明方法能够创建在一起同时生长的2棵或者2棵以上三维数字树木,也能创建小树林的生长模型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号