一种参数化三维树木符号模型的构建方法与流程

文档序号:12367325阅读:447来源:国知局
一种参数化三维树木符号模型的构建方法与流程

本发明属于计算机图形学领域,具体涉及一种参数化三维树木符号模型的构建方法。



背景技术:

现有树木建模的方法大体可以分为两类,分别为基于规则驱动的树木建模方法和基于数据驱动的树木建模方法。

(1)基于规则驱动的树木建模方法

对于基于规则的方法,一般需要根据复杂的规则和语法作为驱动总则生成树木模型。早在1994年,Prusinkiewicz等就根据L-system的思想开展了一些相关研究,将植物形态规律用语法方式描述其生长规则,并添加了分枝长度比例等信息,初步实现了植物的表示方法。1995年Weber等根据一整套的几何规则生成了颇具真实感的树木模型。1998年De Reffye等也根据植物学知识使用一整套规则来模拟树木。这类方法在模型视觉效果和模型可编辑方面具有优势,不过往往需要研究者具备一定的植物学背景知识,用于构建符合植物生长规律的规则。基于规则的树木建模方法产生的树木模型比较单一,在一定程度上缺乏树木真实感,同时树木形态也不容易控制,若规则迭代控制不好易产生非正常的树木模型。

(2)基于数据驱动的树木建模方法

对于基于数据的方法,根据输入数据的不同,又可分为基于图像和基于激光点云的方法。基于图像的树木建模方法以拥有单幅或多幅树木图像为前提,采用相应的算法,从图像中的二维特征信息推算相应的三维空间特征信息,最终重构出树木的三维模型。例如,Shlyakter等首先根据多幅图像生成一个可视化的外壳,然后用其来限制基于L-system的树木生长机制。Han等仅用单张图像生成树木模型,通过简单的用户勾勒,即可构建出与图像相似的三维树木枝干结构,不过该方法可重构的树种相当受限。Long Quan等和Ping Tan等皆使用Structure From Motion(SFM)恢复相机参数和植物的3D点云,然后使用3D点云重构枝叶。基于图像的建模方法充分利用了树木图像所拥有的丰富信息,所构建的模型也具有较好的真实感,但是该方法也有一定的局限性。基于图像的树木建模方法至少需要10~20张图像作为输入,对于户外的大型树木进行多角度采集图像通常是比较困难的,该方法一般适用于小型的盆栽植物。同时,使用树木的图像时也需要对背景进行分割,建模过程进一步加长。

此外,三维激光扫描仪可以精准获取树木的各项信息,包括树木尺寸信息和树木冠幅结构信息,对枝干、树叶等细节部分的表现也十分细致,因此直接通过激光扫描获取的点云数据即可还原树木的骨架形态等信息,进而生成相应的三维树木模型。Xu等人采用激光扫描技术得到稀疏点云实现了半自动的多边形模型重建。Wang等人采用LiDAR系统实现了单株三维树木的全自动建模。然而,树木结构的相互遮挡使得激光扫描仪难以获得树木的完整信息,将直接影响最终的三维树木建模的真实感与视觉效果。此外,该方法建模代价较高,一方面需要专业设备进行数据采集,另一方面所要处理的模型数据量相当大,后期在点云数据处理上为取得较好结果往往需要大量的人工干预。

现有的树木建模方法无法同时满足三维树木建模对共性特征建模、参数化建模、多细节层次建模、调参直观化等特殊需求。



技术实现要素:

发明目的:针对现有技术中存在的问题,本发明公开了一种参数化三维树木符号模型的构建方法。该方法的基础是对树木的视觉形态特征抽象为若干具有共性特征的基本形态要素,并建立相应的数据库;基于该数据库,采用参数化方法将形态要素予以集成和组织,满足树木的共性特征表达以及视觉真实感模拟,使三维树木符号模型的构建更加简单、快捷和直观。

技术方案:本发明公开了一种参数化三维树木符号模型的构建方法,可用于三维地理场景中树木的三维符号化表达,参数的设置依赖于形态要素数据库(对树木的视觉形态特征抽象为若干具有共性特征的基本形态要素,基于上述要素所建立的数据库),包括如下步骤:

步骤(1)建立树木枝干参数模型,包括如下步骤:

(11)选择柱体或台柱体作为当前枝干的基础图形;

(12)从形态要素数据库中选择当前枝干的纹理;

(13)设置当前枝干的长度参数和粗细参数;

步骤(2)建立树木分枝结构参数模型,所述参数包括:当前分枝的分枝级数、分枝方式、分枝角度和分枝数量,其中分枝方式和分枝角度根据树木的类型从形态要素数据库中选取;

步骤(3)建立叶序结构参数模型,包括如下步骤:

(31)根据树木类型从形态要素数据库中选择相应的叶序结构,所述叶序结构为互生、对生、轮生、簇生中的一种;

(32)根据确定的叶序结构在生长节点处放置叶片;

(33)对叶片进行随机旋转;

步骤(4)建立树叶参数模型,所述参数包括:参数包括树叶形状、树叶大小、树叶颜色和树叶纹理。

真实枝干在生长过程中受遗传基因和外在环境的共同作用,会呈现不同程度的弯曲形态,步骤(2)中还包括枝干的弯曲形态参数,所述弯曲形态参数的计算方法为:

其中(x,y,z)为枝干骨架点或生长点弯曲前的坐标,(X,Y,Z)为枝干骨架点或生长点弯曲后的坐标,radius_min和radius_max是当前枝干的顶端半径和底端半径,branch_level是当前枝干的分枝级别,perturbanceIntensity取值范围为[10,100],取值步长为10,rand(p1,p2)为生成p1-p2之间随机数的函数。

分枝级数从树木的主干开始计算,主干的分支级数为0。当树木模型分枝级数取值为3时,既能较好地表达树种形态,又能保证渲染效率,所以优选地,分枝级数取值小于等于3。

分枝角度为分枝与母枝之间的夹角,从母枝基部算起第i个生长节点处分枝的分枝角度可以按下式来计算:

其中branchingAngle是表征植物形态的分枝角度,根据不同树种而定,一般为形态要素数据库中给定的固定值;angleAttenuationInensity表示角度衰减系数,取值范围为[10,100],取值步长为10。,N指当前枝干生长节点的数量,i指从枝干基部算起第i个生长节点。

优选地,根据形态要素数据库中给定的固定值,分枝角度可以选取30°、45°、60°或90°中的一种。

对叶片进行旋转可以使叶片的分布错落有致,优选地,旋转角度为随机取值rand(-10°,10°)。

为降低模型的几何复杂度,步骤(4)中树叶的形状采用四边形面片代替,树叶的颜色和纹理采用经预处理的树叶纹理图像填充,根据树木的类型从形态要素数据库中选择相应的纹理。

有益效果:与现有技术相比,本发明公开的参数化三维树木符号模型的构建方法具有以下优点:1、本发明从视觉上将树木形态特征抽象为树形和树叶,结合植物学知识从结构上将树形和树叶转化为对典型树种具有一定普适性的、可建模的树木形态参数,并建立相应的数据库。基于该数据库,采用参数化方法将形态要素予以集成和组织,满足树木的共性特征表达以及视觉真实感模拟,具有简单、快捷和直观的特点。2、对树木分枝划分分枝级别,可以逐级控制进行参数调整,从主干开始,调整主干相关参数取值,待其视觉形态满意之后再设计一级枝干,这样逐级进行枝干系统设计。当枝干系统的视觉形态满意之后,调整树叶相关参数取值进行叶子系统的设计,直至满意。当建立起整个三维树木符号的模型后,观察整体效果是否满意,如果不满意根据具体情况再做调整。这样逐级设计有利于每一级分枝细节的调整,最终生成整体符合要求的树木符号模型。3、采用四边形面片代替树叶形状,可以显著降低模型的几何复杂度,易于通过参数统一控制叶形;通过开启透明度预处理的树叶纹理图像填充树叶颜色和纹理,可以实现树叶的真实感绘制。

附图说明

图1为三维树木符号模型建立流程;

图2为树木分枝方式和枝干骨架点和生长点示意图;

图3为常见叶序示意图;

图4为树叶纹理贴图分类;

图5为采用本发明方法构建的常见树种三维树木符号模型效果图。

具体实施方式

下面结合附图和具体实施方式,进一步阐明本发明。

如图1所示,一种参数化三维树木符号模型的构建方法,包括枝干形态和树叶形态的构建,具体包括如下步骤:

步骤(1)建立树木枝干参数模型,包括如下步骤:

(11)选择柱体或台柱体作为当前枝干的基础图形;

枝干是枝干系统的基本组成单元,枝干的合理抽象对树木模型的形象感有很大的影响。许多树木仿真程序采用六边形台柱或者圆柱体来表达枝干。本实施例采用底部半径大于顶部半径的圆台柱来表达枝干,符合真实枝干沿着枝干末梢方向逐渐变细的形态特征。

(12)选择当前枝干的纹理

根据不同的树种,从形态要素数据库中选择不同的纹理进行枝干纹理贴图,即用同树种的枝干纹理填充建立的枝干参数模型。

形态要素数据库是对树木的视觉形态特征抽象为若干具有共性特征的基本形态要素,包括树木的枝干纹理、分枝方式、分枝角度、叶序和树叶形状等要素,基于此基本形态要素所建立的数据库。

(13)设置当前枝干的长度参数和粗细参数,即设置圆台柱的高度参数、顶端半径和底端半径。

步骤(2)建立树木分枝结构参数模型

分枝结构主要包括枝条的分枝级数、分枝方式、分枝数量与分枝角度。分枝级数指的是从主干开始往外长出不同发育程度枝条的层数。主干的分枝级数为0,一级枝干由主干直接分出,二级枝干则由一级枝干分出,三级枝干进而由二级枝干分出,照此类推。分枝级数的值会对树冠产生一定的影响,通常高大笔直的树木分枝级数相对较少,树冠所占树体比重也较小,而主干低矮不显著的树木,通常分枝级数相对较多,树冠在树体中所占比例也较大。当树木模型分枝级数取值为3时,既能较好地表达树种形态,又能保证渲染效率,本实施例中分枝级数取值为3。

分枝方式指的是枝条在生长过程中往外分出新枝的规律与模式。不同树种分枝方式存在差异。常见的树木分枝方式有以下4种类型:单轴分枝、合轴分枝、假二叉分枝和多歧分枝,如图2所示。根据树木类型从形态要素数据库中选择相应的分枝方式。

分枝数量用来反映枝条长出侧枝的能力,其是决定枝干多少的直接因素。同时用它来表达处于最高分枝级别的枝条长出叶子的能力,所以分枝数量将决定树木枝叶的繁茂程度,对树形的形成产生重要影响。

树木的枝干从基部开始沿轴向进行均分,有分枝的节点为枝干生长点,没有分枝的节点为枝干骨架点,如图2所示。枝干所拥有生长节点的数量为分枝数量。

分枝角度指的是分枝与母枝之间的夹角,其很大程度上决定了树冠的空间延伸趋势。分枝率指的是枝条产生分枝的能力。分枝角度较小时,树冠整体呈现垂直长势,树形呈瘦高状;分枝角度较大时,树冠整体呈现水平长势,胸径较大,树形呈矮胖状。从母枝基部算起第i个生长节点处分枝的分枝角度可以按下式来计算:

其中branchingAngle是表征植物形态的分枝角度,根据不同树种而定,一般为形态要素数据库中给定的固定值;angleAttenuationInensity表示角度衰减系数,用来调整角度衰减的剧烈程度,取值越大衰减越慢,一般取值范围为[10,100],取值步长为10。N指当前母枝生长节点的数量,i是从母枝基部算起第i个生长节点。

真实枝干在生长过程中受遗传基因和外在环境的共同作用,会呈现不同程度的弯曲形态,本发明中通过扰动枝干骨架点或生长点处的空间位置来控制枝干的轴线形状,实现枝干的弯曲感表达。扰动方法,即弯曲形态参数的计算方法为:

其中(x,y,z)为枝干骨架点或生长点弯曲前的坐标,(X,Y,Z)为枝干骨架点或生长点弯曲后的坐标,radius_min和radius_max是当前枝干的顶端半径和底端半径,branch_level是当前枝干的分枝级别,perturbanceIntensity取值范围为[10,100],取值步长为10。

通过调节angleAttenuationInensity和perturbanceIntensity值,可以调节分枝角度以及枝干的弯曲形态,从而调整枝干的形态。也可以将分枝角度的计算进行简化,通常大多数树木的分枝角度存在30°、45°、60°和90°几种情形,采用遍历的方法进行优选。

步骤(3)建立叶序结构参数模型,具体包括如下步骤:

(31)根据树木类型从形态要素数据库中选择相应的叶序结构,所述叶序结构为互生、对生、轮生、簇生中的一种;

通常叶子主要生长于枝干系统中分枝级别最高的枝条上,为方便描述,将这类型枝条称之为末级枝条。树木种类不同,其叶序也不同,主要分为以下四种:互生,即在枝条的每个节点上只着生一片叶,如杨树;对生,即在枝条的每个节点上着生两片相对的叶,如石竹;轮生,即在枝条的每个节点上着生3片或3片以上的叶,如玉兰树;簇生,即多片叶着生于极度缩短的短枝上,如银杏,如图3所示。

(32)根据确定的叶序结构在生长节点处放置叶片,并对叶片进行随机旋转;

对末级枝条沿长度均匀设置骨架点,选取末级枝条上除基部骨架点以外的其它所有骨架点作为该枝条上可能的叶子生长节点。对于互生叶序的模拟,每个叶子生长节点只放置一个叶片,对叶片进行随机旋转使其左右错落分布;对于对生叶序的模拟,每个叶子生长节点放置两个叶片,随机旋转使其呈相对分布;对于轮生叶序的模拟,通过随机函数rand(3,5)控制每个叶子生长节点可放置叶片的数量n,然后对叶子进行随机旋转,使相邻叶片在水平面内的夹角大致相等;对于簇生叶序的模拟,同样采用随机函数rand(3,5)确定叶片数量,将同属一个生长节点的叶片放置到枝条的同侧,对每个叶片进行随机旋转,通过旋转使相邻生长节点的叶片整体上呈左右错落分布。

本实施例中采用的旋转角度为随机取值rand(-10°,10°),可以逼真地模拟出真实的叶序结构。

步骤(4)建立树叶参数模型

树叶的视觉形态特征通常包括树叶形状、树叶大小、树叶颜色和树叶纹理。不同的树种,树叶形态差异明显。

本实施例采用四边形面片作为表达树叶的统一几何图形。首先对采集的树叶纹理图像进行预处理,将树叶纹理图像中树叶以外的像素点α通道值设为0,即全透明,然后将此树叶纹理贴图映射到四边形面片上,实现树叶的真实感绘制。

根据叶片在叶柄上着生的数量,将树叶分为单叶和复叶;此外还有针叶。如图4所示,将树叶纹理贴图概括为三类,分别为:单叶纹理贴图、复叶纹理贴图和枝叶簇纹理贴图,各种类型的纹理贴图存储于形态要素数据库中。对于不同树种而言,只需替换树叶贴图并调整四边形的大小即可实现树叶的差异性表达,在建模过程中,需根据树木类型从形态要素数据库中选择相应的树叶纹理贴图。

图5是采用本发明方法构建的常见树种三维树木符号模型效果图。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1