CN107452066A - 一种基于b样条曲线的树冠三维形态模拟方法 - Google Patents
一种基于b样条曲线的树冠三维形态模拟方法 Download PDFInfo
- Publication number
- CN107452066A CN107452066A CN201710671803.3A CN201710671803A CN107452066A CN 107452066 A CN107452066 A CN 107452066A CN 201710671803 A CN201710671803 A CN 201710671803A CN 107452066 A CN107452066 A CN 107452066A
- Authority
- CN
- China
- Prior art keywords
- spline curves
- point
- crown
- branch
- tree crown
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004088 simulation Methods 0.000 claims abstract description 23
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000005259 measurement Methods 0.000 claims description 15
- 238000005516 engineering process Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 10
- 230000000694 effects Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000000877 morphologic effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种基于B样条曲线的树冠三维形态模拟方法属于树木形态结构三维可视化模拟技术领域。提出了以树冠形态数据为基础,拟合树冠纵断面和横断面B样条曲线,构建约束控制树冠三维形态的包络网格模型以及树枝密度控制方法。本发明可以更好地反映冠形的局部特性,能够很好地模拟出复杂树冠的外形,控制局部树枝长短的差异,实现对树木冠形准确、逼真的三维可视化模拟,使构建的三维树木模型更加符合自然特征。
Description
技术领域
本发明涉及一种基于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传统冠形曲线模拟效果及冠形曲线;
图6c B样条曲线模拟效果及树冠形态;
图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不同阈值下一级树枝个数
阈值Th | 0.025 | 0.020 | 0.015 | 0.010 |
一级树枝个数(枝) | 47 | 44 | 35 | 26 |
模拟效果对比如图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。
如上所述,对本发明的实施例进行了详细地说明,但是只要实质上没有脱离本发明的发明点及效果可以有很多的变形,这对本领域的技术人员来说是显而易见的。因此,这样的变形例也全部包含在本发明的保护范围之内。
Claims (1)
1.一种基于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);
<mrow>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<msqrt>
<mn>2</mn>
</msqrt>
<msub>
<mi>A</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msub>
<mi>Y</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mi>h</mi>
<mo>*</mo>
<mi>i</mi>
<mo>,</mo>
<mi>i</mi>
<mo>&Element;</mo>
<mo>&lsqb;</mo>
<mn>1</mn>
<mo>,</mo>
<mi>N</mi>
<mo>&rsqb;</mo>
</mrow>
经过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
在包络网格上搜索满足上述关系的点,计算树枝长度,即交点到一级树枝着枝点的距离:
<mrow>
<mi>D</mi>
<mo>=</mo>
<msqrt>
<mrow>
<msup>
<mi>a</mi>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mrow>
<mo>(</mo>
<mi>b</mi>
<mo>-</mo>
<mi>m</mi>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</msqrt>
</mrow>
二、树枝密度控制技术
由于在交点搜索过程中很难找到使等式严格成立的点,需要设置交点搜索阈值Th,找到近似交点,使其满足关系:
|k*a+m-b|<Th
搜索到交点,计算一级树枝长度,如果没有搜索到交点,则令交点坐标为(0,m),计算得到枝长为零,认为该处没有一级树枝;
阈值Th的大小会影响树枝的疏密程度;在树枝建模过程中,从树木枝下高开始,由下向上,搜索一级树枝着枝点与树冠包络网格模型的交点,当Th较小时,包络网格模型上满足相交条件的点较少,树枝稀疏;当Th较大,能够满足条件的点较多,树枝密集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710671803.3A CN107452066B (zh) | 2017-08-08 | 2017-08-08 | 一种基于b样条曲线的树冠三维形态模拟方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710671803.3A CN107452066B (zh) | 2017-08-08 | 2017-08-08 | 一种基于b样条曲线的树冠三维形态模拟方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107452066A true CN107452066A (zh) | 2017-12-08 |
CN107452066B CN107452066B (zh) | 2020-08-11 |
Family
ID=60491179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710671803.3A Expired - Fee Related CN107452066B (zh) | 2017-08-08 | 2017-08-08 | 一种基于b样条曲线的树冠三维形态模拟方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107452066B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108492372A (zh) * | 2018-01-15 | 2018-09-04 | 哈尔滨工业大学(威海) | 一种b样条曲面的形状编辑方法 |
CN111127588A (zh) * | 2019-12-26 | 2020-05-08 | 中国人民解放军海军航空大学青岛校区 | 基于DirectX的大数据量参数曲线回放方法 |
CN111462312A (zh) * | 2020-04-01 | 2020-07-28 | 中国林业科学研究院资源信息研究所 | 一种考虑空间结构的枝下高动态可视化模拟方法及系统 |
CN112450527A (zh) * | 2020-11-24 | 2021-03-09 | 上海市建工设计研究总院有限公司 | 外包装树树枝结构的建立方法 |
CN112487571A (zh) * | 2020-11-24 | 2021-03-12 | 上海市建工设计研究总院有限公司 | 外包装树树冠枝条的设计方法 |
CN113599818A (zh) * | 2021-08-16 | 2021-11-05 | 北京字跳网络技术有限公司 | 植被渲染方法、装置、电子设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5581672A (en) * | 1991-12-19 | 1996-12-03 | Aerohydro, Inc. | System of relational entities for object-oriented computer-aided geometric design |
US6639592B1 (en) * | 1996-08-02 | 2003-10-28 | Silicon Graphics, Inc. | Curve network modeling |
CN101833787A (zh) * | 2010-04-13 | 2010-09-15 | 北京农业信息技术研究中心 | 一种基于球b样条的植物叶片建模方法 |
CN106447767A (zh) * | 2016-09-30 | 2017-02-22 | 信阳师范学院 | 一种基于点云数据的树干三维干轴曲线构建的树干参数提取方法 |
-
2017
- 2017-08-08 CN CN201710671803.3A patent/CN107452066B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5581672A (en) * | 1991-12-19 | 1996-12-03 | Aerohydro, Inc. | System of relational entities for object-oriented computer-aided geometric design |
US6639592B1 (en) * | 1996-08-02 | 2003-10-28 | Silicon Graphics, Inc. | Curve network modeling |
CN101833787A (zh) * | 2010-04-13 | 2010-09-15 | 北京农业信息技术研究中心 | 一种基于球b样条的植物叶片建模方法 |
CN106447767A (zh) * | 2016-09-30 | 2017-02-22 | 信阳师范学院 | 一种基于点云数据的树干三维干轴曲线构建的树干参数提取方法 |
Non-Patent Citations (3)
Title |
---|
ZAIYANG MA .ECT: "D Visual Simulation of Chinese Fir Based on the Influence of Different Stand Spatial Structures", 《2017 2ND INTERNATIONAL CONFERENCE ON IMAGE, VISION AND COMPUTING》 * |
ZHONGKE WU .ECT: "Interactive Modeling of 3D Tree with Ball B-Spline Curves", 《THE INTERNATIONAL JOURNAL OF VIRTUAL REALITY》 * |
张怀清: "合轴分枝树木形态结构三维可视化模拟方法", 《林业科学》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108492372A (zh) * | 2018-01-15 | 2018-09-04 | 哈尔滨工业大学(威海) | 一种b样条曲面的形状编辑方法 |
CN111127588A (zh) * | 2019-12-26 | 2020-05-08 | 中国人民解放军海军航空大学青岛校区 | 基于DirectX的大数据量参数曲线回放方法 |
CN111462312A (zh) * | 2020-04-01 | 2020-07-28 | 中国林业科学研究院资源信息研究所 | 一种考虑空间结构的枝下高动态可视化模拟方法及系统 |
CN112450527A (zh) * | 2020-11-24 | 2021-03-09 | 上海市建工设计研究总院有限公司 | 外包装树树枝结构的建立方法 |
CN112487571A (zh) * | 2020-11-24 | 2021-03-12 | 上海市建工设计研究总院有限公司 | 外包装树树冠枝条的设计方法 |
CN112450527B (zh) * | 2020-11-24 | 2023-08-11 | 上海市建工设计研究总院有限公司 | 外包装树树枝结构的建立方法 |
CN112487571B (zh) * | 2020-11-24 | 2024-05-14 | 上海市建工设计研究总院有限公司 | 外包装树树冠枝条的设计方法 |
CN113599818A (zh) * | 2021-08-16 | 2021-11-05 | 北京字跳网络技术有限公司 | 植被渲染方法、装置、电子设备及可读存储介质 |
CN113599818B (zh) * | 2021-08-16 | 2023-07-21 | 北京字跳网络技术有限公司 | 植被渲染方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107452066B (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107452066A (zh) | 一种基于b样条曲线的树冠三维形态模拟方法 | |
CN102880741B (zh) | 一种基于个性化三维虚拟人台的服装衣身原型样板生成方法 | |
CN105844709B (zh) | 复杂河道地形流域洪水演进虚拟仿真的淹没线追踪方法 | |
CN105006014B (zh) | 虚拟衣物快速模拟试穿的实现方法及系统 | |
CN103258345B (zh) | 一种基于地面激光雷达三维扫描的树木枝干参数提取方法 | |
CN100583164C (zh) | 一种树状形体的立体分解和分级骨架提取方法 | |
CN109360260A (zh) | 一种三角网格三维模型的切挖重构算法 | |
CN109377561A (zh) | 一种基于共形几何的数模表面网格生成方法 | |
CN105760581B (zh) | 一种基于osg的沟道流域整治规划仿真方法及系统 | |
CN101650836B (zh) | 三维植物器官几何曲面自适应网格化方法及系统 | |
CN101599181B (zh) | 一种代数b样条曲面的实时绘制方法 | |
CN104978763B (zh) | 一种基于三维Douglas‑Peucker算法的河网要素与DEM的同步综合地图仿真方法 | |
CN105225272B (zh) | 一种基于多轮廓线三角网重构的三维实体建模方法 | |
CN101783016A (zh) | 一种基于形状分析的树冠外形提取方法 | |
CN108053477A (zh) | 一种管道内变形的数值处理方法 | |
CN102737542B (zh) | 一种顾及多重约束条件的水深注记自动选取方法 | |
CN101383053B (zh) | 基于表面积保持的3d网格变形方法 | |
CN105844104A (zh) | 基于Morphing变形技术的中尺度涡旋可视化算法 | |
CN109658496A (zh) | 一种飞机红外纹理图像生成方法 | |
CN105205311B (zh) | 一种地层剖面绘制的复数运算法 | |
CN104036549B (zh) | 一种合轴分枝树木形态结构三维可视化模拟方法 | |
CN106875487A (zh) | 一种基于邻域作用力的地质六面体网格平滑方法 | |
Mesuda et al. | Virtual draping by mapping | |
CN101900602B (zh) | 作物冠层散射光分布计算方法 | |
CN107577833A (zh) | 一种三维原型服装的数字化设计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200811 |