一种基于B样条曲线的树冠三维形态模拟方法与流程

文档序号:13138683阅读:593来源:国知局
一种基于B样条曲线的树冠三维形态模拟方法与流程
本发明涉及一种基于b样条曲线的树冠三维形态模拟方法,属于树木形态结构三维可视化模拟
技术领域

背景技术
:树木三维可视化模拟是林业数字化、信息化的基础,目前已经有了较多的研究成果与技术创新,可以基于相关的技术与方法,依据不同树种的特点,实现符合树木总体特征的三维可视化模型构建。当前专家学者基于主要的树冠形态特征参数,使用冠形曲线模拟树冠的三维形态结构,模拟结果可以反映出树冠主要的形态特征。但是,树木的形态结构不仅由树种决定,还会受到生长环境等外部因素的影响。处于森林中的树木,面对复杂的生长环境和来自周围林木的竞争压力,其树冠的形态结构也是各不相同的,例如林木树冠会呈现出不同程度的偏冠现象。使用当前技术方法构建的树木模型,在形态上普遍具有相似性,无法反映出局部冠形的不同,也不能灵活地控制树枝密度的差异。为了模拟树木在森林中的真实树冠形态,表现自然界中同一树种在不同生长环境下外形的差异,克服当前树木可视化模拟中同一树种冠形特征相似的问题,需要一种可以控制树冠外形并真实模拟树冠形态局部差异性变化的方法。b样条曲线是由一组可以通过参数控制的曲线段构成的光滑曲线,具有良好的局部性,能够很好地逼近具有复杂形状的图形边界。技术实现要素:为了克服现有技术的不足,涉及到计算机图形图像学中的b样条曲线拟合计算与绘制技术和树木三维建模中的树冠形态约束与控制技术,为了克服同一树种具有相似的树冠外形特征的问题,实现更为逼真的树冠三维形态模拟,再现树木在自然界中的真实生长状态。一种基于b样条曲线的树冠三维形态模拟方法,包括树冠包络网格模型构建技术,树枝密度控制技术,具体有以下步骤:一、构建树冠包络网格模型树冠包络网格模型主要由纵向和横向的b样条曲线构成,其中纵向曲线共有8条,分别位于树冠东、东南、南、西南、西、西北、北、东北方向;横向曲线的条数等于测量树冠形态数据时的分层数n;步骤1、计算东、南、西、北的纵向b样条曲线东、南、西、北四个方向的纵向b样条曲线以实际测量数据为依据;其中,树木的树高为h;树木的枝下高为hb;对树冠按高度h进行分层(分层高度h越小,树冠形态模拟越逼真),分层数为n(n=(h-hb)/h,n按向上取整数;树冠各层在东、南、西、北四个方向上的最大树冠半径为cri;对应高度为hi,i∈[1,n];将测量的树冠形态数据作为型值点datapti,型值点个数为n+2,坐标为(0,hb)、(0,h)和(xi,yi);xi=cri,yi=hi,i∈[1,n]使用型值点进行b样条的反算,求取n+2个控制点ctrlpti(xi,yi),利用求得的控制点ctrlpti拟合b样条曲线;可以计算得到,东、南、西、北四个方向上,b样条曲线上点的坐标分别为(ex,ey)、(sx,sy)、(wx,wy)、(nx,ny);步骤2、计算各层横向b样条曲线对于东、南、西、北四个方向的纵向b样条曲线,沿y轴方向,从曲线底端开始采样,采样偏移距离为h,采样数为n;四个方向纵向b样条曲线的第i个采样点为ebsplinepti、sbsplinepti、wbsplinepti、nbsplinepti,坐标为(exi,eyi)、(sxi,syi)、(wxi,wyi)、(nxi,nyi);eyi=syi=wyi=nyi=h*i,i∈[1,n]对应的横向闭合b样条的型值点分别为(exi,0)、(0,-sxi)、(-wxi,0)、(0,nxi);通过型值点反求b样条控制点,再经过闭合b样条曲线的正算,可以拟合高度h*i处的横向b样条曲线;同理,各横向b样条曲线均可计算得到;步骤3、计算东北、东南、西北、西南方向纵向b样条曲线东北、东南、西北、西南方向四条纵向b样条曲线没有实测数据,无法直接计算型值点坐标,需要以各层横向b样条曲线为基础,推算型值点;以一条横向b样条曲线为例,在由这条曲线确定的平面上,建立二维直角坐标系xoy,以(0,0)点为原点,经过原点,向45°、135°方向做两条直线,直线方程分别为:y=x,y=-x计算两条直线与横向闭合b样条曲线的四个交点(直线y=x与b样条曲线有两个交点,坐标为(a,a)、(-b,-b),位于东北方向和西南方向;直线y=-x与b样条曲线的两个交点,坐标为(-c,c)、(d,-d),位于西北方向和东南方向)(交点计算过程:将b样条上的点分别带入直线方程y=x、y=-x,如果等式成立,则说明该点为b样条曲线与直线的交点);直线与各横向b样条曲线的交点组成型值点;在东北方向上,各交点为(a1,a1)、(a2,a2)…(an,an),型值点为(0,h)和(xi,yi);经过b样条曲线的反算与正算,得到东北方向上的纵向b样条曲线;按照相同的方法,计算另外三条纵向b样条曲线;步骤4、构建三维树冠包络网格模型8条纵向b样条曲线和n条横向b样条曲线都计算完成;由于横、纵向b样条曲线的计算过程是:依据东、南、西、北方向的纵向曲线计算各横向曲线,再基于横向曲线拟合东北、东南、西北、西南方向纵向曲线,所以8条纵向非闭合b样条曲线和n条横向闭合b样条曲线相互交织,可以共同组成树冠包络网格模型;将各b样条曲线映射到三维坐标系中(坐标系统使用directx的左手坐标系);纵向曲线东、南、西、北方向上,对应点的坐标为(exi,eyi,0)、(0,syi,-sxi)、(-wxi,wyi,0)、(0,nyi,nxi);东北、东南、西南、西北方向上,对应点的坐标为(enxi,enyi,enxi)、(esxi,esyi,-esxi)、(-wsxi,wsyi,-wsxi)、(-wnxi,wnyi,wnxi);横向曲线上的点(cxi,cyi)对应坐标为(cyi,h*i,cyi);使用线条绘制工具或者编程中相关的类与函数,依次连接曲线上的各点,可以绘制出三维立体的树冠包络网格模型;通过树冠包络网格模型控制树冠形态,关键在于计算一级树枝长度;假设:一级树枝着枝点的坐标为(0,m),斜率为k,则树枝与包络网格的交点为(a,b),满足等式:k*a+m=b在包络网格上搜索满足上述关系的点,计算树枝长度,即交点到一级树枝着枝点的距离:二、树枝密度控制技术由于在交点搜索过程中很难找到使等式严格成立的点,需要设置交点搜索阈值th,找到近似交点,使其满足关系:|k*a+m-b|<th搜索到交点,计算一级树枝长度,如果没有搜索到交点,则令交点坐标为(0,m),计算得到枝长为零,认为该处没有一级树枝;阈值th的大小会影响树枝的疏密程度;在树枝建模过程中,从树木枝下高开始,由下向上,搜索一级树枝着枝点与树冠包络网格模型的交点,当th较小时,包络网格模型上满足相交条件的点较少,树枝稀疏;当th较大,能够满足条件的点较多,树枝密集。本发明提供一种基于b样条曲线的树冠三维形态模拟方法,首次将b样条曲线拟合计算与绘制技术和树木三维可视化模拟研究相结合,并提出了以树冠形态数据为基础,使用b样条函数拟合树冠纵断面和横断面的外形曲线,控制树冠三维形态,模拟真实树木冠形的新方法。本发明可以构建具有不同树冠形态的三维树木模型,为森林三维可视化模拟的树木模型库提供丰富且逼真的树木模型。本发明的优点是:本发明基于b样条曲线,拟合树木真实树冠形态,在树木三维建模过程中对树冠形态进行约束控制,并创造性的提出了一种依据树冠形态数据,拟合树冠纵断面和横断面b样条曲线,构建约束控制树冠三维形态的包络网格模型以及树枝密度控制方法。使用此方法可以实现对树木冠形准确、逼真的三维可视化模拟,使构建的三维树木模型更加符合自然特征。附图说明当结合附图考虑时,通过参照下面的详细描述,能够更完整更好地理解本发明以及容易得知其中许多伴随的优点,但此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定,如图其中:图1树木冠形参数示意图;图2纵向b样条曲线上的点及坐标;图3计算横向闭合b样条的型值点及坐标;图4直角坐标系xoy下的型值点坐标;图5空间左手坐标系及树冠包络网格模型;图6a真实树木及树冠形态;图6b传统冠形曲线模拟效果及冠形曲线;图6cb样条曲线模拟效果及树冠形态;图7a不同阈值下树枝疏密程度模拟效果;th1=0.025,一级树枝个数为47枝,树枝密度大;图7b不同阈值下树枝疏密程度模拟效果;th2=0.020,一级树枝个数为44枝,树枝密度较大;图7c不同阈值下树枝疏密程度模拟效果;th3=0.015,一级树枝个数为35枝,树枝密度较小;图7d不同阈值下树枝疏密程度模拟效果;th4=0.010,一级树枝个数为26枝,树枝密度小;图8a基于b样条曲线绘制二维树木形态-南北向;图8b基于b样条曲线绘制二维树木形态-东西向;图8c基于b样条曲线绘制二维树木形态-顶视图;图9a真实树木及树冠形态;图9b基于b样条曲线的树冠三维形态模拟效果;图10树冠包络网格模型构建程序流程图;下面结合附图和实施例对本发明进一步说明。具体实施方式显然,本领域技术人员基于本发明的宗旨所做的许多修改和变化属于本发明的保护范围。本
技术领域
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当称元件、组件被“连接”到另一元件、组件时,它可以直接连接到其他元件或者组件,或者也可以存在中间元件或者组件。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。本
技术领域
技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。为便于对本发明实施例的理解,下面将做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。实施例1:一种基于b样条曲线的树冠三维形态模拟方法,具体包括:树冠包络网格模型构建技术,树枝密度控制技术,包含有以下步骤:一、构建树冠包络网格模型(程序流程图见图10)树冠包络网格模型主要由纵向和横向的b样条曲线构成,其中纵向曲线共有8条,分别位于树冠东、东南、南、西南、西、西北、北、东北方向。横向曲线的条数等于测量树冠形态数据时的分层数n。1、计算东、南、西、北的纵向b样条曲线东、南、西、北四个方向的纵向b样条曲线以实际测量数据为依据。其中,树木的树高为h;树木的枝下高为hb;对树冠按高度h进行分层(分层高度h越小,树冠形态模拟越逼真),分层数为n(n=(h-hb)/h,n按向上取整数;树冠各层在东、南、西、北四个方向上的最大树冠半径为cri;对应高度为hi,i∈[1,n],如图1所示。图1中:以此株树木为例,测量右侧的树冠形态数据。树高为h;枝下高为hb;树冠分为n层;分层高度为h;测得树冠形态数据:高度h1,树冠半径cr1;高度h2,树冠半径cr2;高度h3,树冠半径cr3;高度h4,树冠半径cr4。将测量的树冠形态数据作为型值点datapti,型值点个数为n+2,坐标为(0,hb)、(0,h)和(xi,yi)。xi=cri,yi=hi,i∈[1,n]使用型值点进行b样条的反算,求取n+2个控制点ctrlpti(xi,yi),利用求得的控制点ctrlpti拟合b样条曲线。可以计算得到,东、南、西、北四个方向上,b样条曲线上点的坐标分别为(ex,ey)、(sx,sy)、(wx,wy)、(nx,ny),如图2。2、计算各层横向b样条曲线对于东、南、西、北四个方向的纵向b样条曲线,沿y轴方向,从曲线底端开始采样,采样偏移距离为h,采样数为n。四个方向纵向b样条曲线的第i个采样点为ebsplinepti、sbsplinepti、wbsplinepti、nbsplinepti,坐标为(exi,eyi)、(sxi,syi)、(wxi,wyi)、(nxi,nyi)。eyi=syi=wyi=nyi=h*i,i∈[1,n]如图3可得,对应的横向闭合b样条的型值点分别为(exi,0)、(0,-sxi)、(-wxi,0)、(0,nxi)。通过型值点反求b样条控制点,再经过闭合b样条曲线的正算,可以拟合高度h*i处的横向b样条曲线。同理,各横向b样条曲线均可计算得到。3、计算东北、东南、西北、西南方向纵向b样条曲线东北、东南、西北、西南方向四条纵向b样条曲线没有实测数据,无法直接计算型值点坐标,需要以各层横向b样条曲线为基础,推算型值点。以一条横向b样条曲线为例,在由这条曲线确定的平面上,建立二维直角坐标系xoy,以(0,0)点为原点。如图4所示,经过原点,向45°、135°方向做两条直线,直线方程分别为:y=x,y=-x计算两条直线与横向闭合b样条曲线的四个交点(直线y=x与b样条曲线有两个交点,坐标为(a,a)、(-b,-b),位于东北方向和西南方向;直线y=-x与b样条曲线的两个交点,坐标为(-c,c)、(d,-d),位于西北方向和东南方向)(交点计算过程:将b样条上的点分别带入直线方程y=x、y=-x,如果等式成立,则说明该点为b样条曲线与直线的交点)。直线与各横向b样条曲线的交点组成型值点。在东北方向上,各交点为(a1,a1)、(a2,a2)…(an,an),型值点为(0,h)和(xi,yi)。经过b样条曲线的反算与正算,得到东北方向上的纵向b样条曲线。按照相同的方法,计算另外三条纵向b样条曲线。图4中交点在坐标系xoy中,坐标为(ai,ai)。将其作为型值点,在新的二维平面直角坐标系xoy中,其坐标为4、构建三维树冠包络网格模型8条纵向b样条曲线和n条横向b样条曲线都计算完成。由于横、纵向b样条曲线的计算过程是:依据东、南、西、北方向的纵向曲线计算各横向曲线,再基于横向曲线拟合东北、东南、西北、西南方向纵向曲线,所以8条纵向非闭合b样条曲线和n条横向闭合b样条曲线相互交织,可以共同组成树冠包络网格模型。将各b样条曲线映射到三维坐标系中(坐标系统使用directx的左手坐标系)。纵向曲线东、南、西、北方向上,对应点的坐标为(exi,eyi,0)、(0,syi,-sxi)、(-wxi,wyi,0)、(0,nyi,nxi);东北、东南、西南、西北方向上,对应点的坐标为(enxi,enyi,enxi)、(esxi,esyi,-esxi)、(-wsxi,wsyi,-wsxi)、(-wnxi,wnyi,wnxi);横向曲线上的点(cxi,cyi)对应坐标为(cyi,h*i,cyi)。使用线条绘制工具或者编程中相关的类与函数,依次连接曲线上的各点,可以绘制出三维立体的树冠包络网格模型,如图5。通过树冠包络网格模型控制树冠形态,关键在于计算一级树枝长度。假设:一级树枝着枝点的坐标为(0,m),斜率为k,则树枝与包络网格的交点为(a,b),满足等式:k*a+m=b在包络网格上搜索满足上述关系的点,计算树枝长度,即交点到一级树枝着枝点的距离:二、树枝密度控制技术由于在交点搜索过程中很难找到使等式严格成立的点,需要设置交点搜索阈值th,找到近似交点,使其满足关系:|k*a+m-b|<th搜索到交点,计算一级树枝长度,如果没有搜索到交点,则令交点坐标为(0,m),计算得到枝长为零,认为该处没有一级树枝。阈值th的大小会影响树枝的疏密程度。在树枝建模过程中,从树木枝下高开始,由下向上,搜索一级树枝着枝点与树冠包络网格模型的交点,当th较小时,包络网格模型上满足相交条件的点较少,树枝稀疏;当th较大,能够满足条件的点较多,树枝密集。实施例2:一种基于b样条曲线的树冠三维形态模拟方法,本发明的效果主要可以分为两部分,一个是对树冠形态的模拟效果,另一个是对树枝疏密程度的控制效果。为了说明上述效果,使用基于b样条曲线的树冠三维形态模拟效果与采用传统冠形曲线的模拟效果进行比较。同时,对相同b样条曲线下,不同交点搜索阈值th控制的树冠疏密程度进行比较。对于树冠形态的模拟效果,传统冠形曲线的局部特性较差,只能反映树冠形态的总体形态,对局部形态特征无法做到准确、逼真的展现。也就是说,对于形态比较复杂,具有明显偏冠现象,或者局部树枝长短不一的树冠,传统冠形曲线模拟方法难以表现出这些特征。本发明使用的b样条曲线具有更好的局部特性,可以很好地模拟出复杂树冠的外形,控制局部树枝长短的差异。例如,针对如图6a所示的树木,采用基于传统冠形曲线的模拟方法,测量树高、冠幅、冠高、枝下高等数据,并计算所需的冠形参数,模拟效果如图6b所示,图6c为依据实测树冠形态数据,基于b样条曲线的树冠三维形态模拟效果。可以明显看出,传统冠形曲线方法只能表现出树木冠高、枝下高、冠幅、树高等几个基本的树冠形态特征,对树冠的总体形态进行模拟。而本发明中,基于b样条曲线的模拟方法,依据树木冠形测量数据,可以更加真实、准确的模拟出树冠的三维形态,尤其是树冠形态的局部细节特征。在相同的b样条曲线控制下,保持树冠形态不变,设置四个不同交点搜索阈值th1=0.025、th2=0.020、th3=0.015、th4=0.010。基于b样条曲线的树冠三维形态模拟方法,在四个不同的阈值下,模拟出的一级树枝的个数,如表1所示。表1不同阈值下一级树枝个数阈值th0.0250.0200.0150.010一级树枝个数(枝)47443526模拟效果对比如图7a、图7b、图7c、图7d所示。实施例3:基于b样条曲线的树冠三维形态模拟1.树冠形态数据使用已有的树冠形态实测数据。树木高度为10米;树木东、南、西、北四个方向,每个方向枝下高为3.7米、3.3米、3.4米、3.6米;树冠按照每隔1米进行分层,n=7,从枝下高开始,自下向上,四个方向的树冠形态,测量结果如表2所示(单位:米)。表2东、南、西、北方向冠形测量数据2.构建树冠包络网格模型(1)首先读取树冠形态测量数据,计算纵向b样条曲线拟合的型值点,型值点个数为n+2=9,如表3。计算东、南、西、北方向的四条纵向b样条曲线。表3东、南、西、北方向纵向b样条曲线型值点型值点东南西北1(0,3.7)(0,3.3)(0,3.4)(0,3.6)2(0.8,4.1)(1.8,4.3)(2,4.2)(1.1,4.2)3(1.8,5.2)(2.0,4.6)(2.1,4.3)(1.3,4.7)4(2,5.8)(1.7,5.9)(1.9,5.8)(1.8,6)5(1.1,7.2)(1.2,6.9)(1,6.8)(1.1,6.7)6(1.8,7.9)(1.7,8)(1.5,8.2)(1.7,8)7(1,9.2)(1.2,8.4)(1.4,8.3)(1.2,8.7)8(0.9,9.3)(0.9,9.4)(0.7,9.5)(0.6,9.4)9(0,10)(0,10)(0,10)(0,10)(2)依据上述四条b样条曲线,拟合计算横断面的7条b样条曲线。(3)以横向b样条曲线为基础,计算东南、西南、东北、西北四个方向的纵向b样条曲线。(4)使用b样条曲线,构建三维树冠包络网格模型。根据计算的纵向、横向b样条曲线,可以绘制出树木三个不同方向的二维视图,如图8a、图8b及图8c。3.实现树冠形态控制和树枝密度控制(1)基于树冠包络网格模型,计算树冠各一级树枝的长度,并将各一级树枝长度的计算结果导入到建模过程中,控制树冠的三维形态。(2)设置交点搜索阈值(th=0.015),控制树枝密度,达到与实际树木相似的效果,如图9a、图9b。如上所述,对本发明的实施例进行了详细地说明,但是只要实质上没有脱离本发明的发明点及效果可以有很多的变形,这对本领域的技术人员来说是显而易见的。因此,这样的变形例也全部包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1