CN104978765B - 基于草图的树木枝干三维模型构建方法 - Google Patents

基于草图的树木枝干三维模型构建方法 Download PDF

Info

Publication number
CN104978765B
CN104978765B CN201510355771.7A CN201510355771A CN104978765B CN 104978765 B CN104978765 B CN 104978765B CN 201510355771 A CN201510355771 A CN 201510355771A CN 104978765 B CN104978765 B CN 104978765B
Authority
CN
China
Prior art keywords
dimensional
skeleton
curve
skeleton curve
ith
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.)
Active
Application number
CN201510355771.7A
Other languages
English (en)
Other versions
CN104978765A (zh
Inventor
陆声链
郭新宇
温维亮
王传宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Research Center for Information Technology in Agriculture
Original Assignee
Beijing Research Center for Information Technology in Agriculture
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Research Center for Information Technology in Agriculture filed Critical Beijing Research Center for Information Technology in Agriculture
Priority to CN201510355771.7A priority Critical patent/CN104978765B/zh
Publication of CN104978765A publication Critical patent/CN104978765A/zh
Application granted granted Critical
Publication of CN104978765B publication Critical patent/CN104978765B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明具体涉及一种基于草图的树木枝干三维模型构建方法。所述方法包括:根据所要构建的树木枝干生成二维树木枝干骨架,所述二维树木枝干骨架包含多条二维骨架曲线;针对所述二维树木枝干骨架中的每一条二维骨架曲线,提取多个像素点作为控制点实现对该二维骨架曲线进行节间划分,形成划分节间后的二维树木枝干骨架;将所述划分节间后的二维树木枝干骨架进行三维转换,得到三维树木枝干骨架;针对所述三维树木枝干骨架中的每一条三维骨架曲线,生成三维网格,得到所要构建的树木枝干的三维网格模型。通过对枝条进行节间划分,采用了符合树木枝条生长特性的划分机制,使得最终得到的枝条节间长度分布更加符合树木的形态特征。

Description

基于草图的树木枝干三维模型构建方法
技术领域
本发明涉及三维图形生成技术领域,具体涉及一种基于草图的树木枝干三维模型构建方法。
背景技术
在影视制作、数字游戏开发、景观展示等应用中,树木是十分重要的对象。因此,快速构建逼真的树木三维模型对这些应用开发具有十分重要的现实意义,此外,在农学和林业科研中,也有研究者借助于三维设计技术辅助进行树木的株型设计和定量计算分析。枝干是树木形态结构的重要组成部分,在树形塑造中起着决定性的作用。因此,树木枝干的三维重建是构建树木形态结构三维模型的关键。
目前,许多研究者围绕该问题开展了大量研究,提出了一些树木枝干三维模型的构建方法。例如,有人提出了基于二维草图的植物形态结构交互设计方法,通过简单勾画植物拓扑结构的草图,然后通过某种方法将二维草图转换到三维空间,从而得到三维的植物骨架模型,最后结合枝条的半径进行三维模型的生成。有人提出了基于点云数据的树木枝干三维重建方法,首先从树木的三维点云数据中提取枝干骨架,同时利用植物学原理估计枝干半径,最后进行枝干三维网格曲面的生成。此外,也有人利用三维数字化仪获取树木枝干上的特征点,并通过这些特征点进行树木枝干三维模型的重构。
但是,现有树木枝干三维模型的构建方法的不足之处是在重建的枝干三维模型中,往往仅把一根枝条看作一个类圆柱体的对象,缺乏对枝条的节间进行建模和描述。
节间是枝条的组成单位,也是枝条最显著的形态特征之一,叶子、果实、花、芽等附属器官都均依附于节间而生长。同时,树木枝条的节间长度还与枝条类型相关,同一种树木,不同类型、不同生长时期的枝条上节间的长度分布存在差异。在后期树木冠层的三维重建中,需要正确地将叶子、果实等器官放置到枝条的各个节间。此外,很多植物的枝条上,节间连接处都有较为明显的形态特征,例如凸起、颜色加深等。因此,在构建树木枝干三维模型时,考虑节间的描述和建模是十分必要的。
发明内容
针对现有树木枝干三维模型的构建方法中缺乏对枝条的节间进行建模和描述的缺陷,本发明提供了一种基于草图的树木枝干三维模型构建方法。
本发明提供的一种基于草图的树木枝干三维模型构建方法,包括:
根据所要构建的树木枝干生成二维树木枝干骨架,所述二维树木枝干骨架包含多条二维骨架曲线;
针对所述二维树木枝干骨架中的每一条二维骨架曲线,提取多个像素点作为控制点实现对该二维骨架曲线进行节间划分,形成划分节间后的二维树木枝干骨架;
将所述划分节间后的二维树木枝干骨架进行三维转换,得到三维树木枝干骨架;
针对所述三维树木枝干骨架中的每一条三维骨架曲线,生成三维网格,得到所要构建的树木枝干的三维网格模型。
进一步地,所述二维树木枝干骨架中分别采用树干、主枝、侧枝或一年生枝条四种类型的二维骨架曲线表示不同类型的枝条。
进一步地,所述针对所述二维树木枝干骨架中的每一条二维骨架曲线,提取多个像素点作为控制点实现对该二维骨架曲线进行节间划分的步骤,包括:
针对所述二维树木枝干骨架中的第i条二维骨架曲线,根据所述第i条二维骨架曲线包含的像素点数和预设的节间像素点数获得该第i条二维骨架曲线的节间数INsi,其中i为正整数;
判断所述第i条二维骨架曲线是否为一年生枝条,若是,则选取所述第i条二维骨架曲线上的第Pj个像素点作为控制点Rj;其中:
Pj=Pj-1+[aj],P1=1,j=1,2,3...INsi+1
pILength为预设的节间像素点数,RandN(x,y)为取值范围为[x,y]的随机函数;
否则,从所述第i条二维骨架曲线上第一个像素点开始,每隔pILength个像素点取1个像素点,作为该条二维骨架曲线的控制点,共选取INsi+1个控制点。
进一步地,所述将所述划分节间后的二维树木枝干骨架进行三维转换的步骤,包括:
针对所述划分节间后的二维树木枝干骨架中的每一条二维骨架曲线,将该二维骨架曲线上每一个控制点的y坐标和z坐标的值进行互换;
根据所述二维骨架曲线的倾斜度对该二维骨架曲线进行深度方向的增强,得到深度增强后的二维树木枝干骨架;
确定所述深度增强后的二维树木枝干骨架的拓扑关系;
根据所述拓扑关系对所述深度增强后的二维树木枝干骨架进行三维变换,得到三维树木枝干骨架。
进一步地,所述根据所述二维骨架曲线的倾斜度对该二维骨架曲线进行深度方向的增强的步骤,包括:
根据第i条二维骨架曲线上第一个控制点Vis和最后一个控制点Vie获取辅助点Vip,所述辅助点Vip的x坐标和y坐标与所述最后一个控制点Vie相同,z坐标与所述第一个控制点Vis相同,其中i为正整数;
当向量和向量的夹角β满足预设角度大小时,则将所述第i条二维骨架曲线上除第一个控制点外的所有控制点的坐标值都乘以预设数值γ。
进一步地,所述确定所述深度增强后的二维树木枝干骨架的拓扑关系的步骤,包括:
针对所述深度增强后的二维树木枝干骨架中除树干类型以外的每一条二维骨架曲线,选取所述深度增强后的二维树木枝干骨架中与该二维骨架曲线第一个控制点距离最近的二维骨架曲线作为该二维骨架曲线的父枝条二维骨架曲线;
选取所述父枝条二维骨架曲线上与该二维骨架曲线第一个控制点距离最近的控制点作为该二维骨架曲线的着生点。
进一步地,所述根据所述拓扑关系对所述深度增强后的二维树木枝干骨架进行三维变换的步骤,包括:
从所述深度增强后的二维树木枝干骨架中选取父枝条为树干的二维骨架曲线,并将得到的所述二维骨架曲线存入数据集DS1中;
从所述数据集DS1中选取第一个控制点与树干二维骨架曲线的第一个控制点最近的第一二维骨架曲线,并存入数据集DS1-1中,同时将该第一二维骨架线从DS1中删除;
从所述数据集DS1中,再次选取第一个控制点与所述第一二维骨架曲线的第一个控制点距离小于平均节间长度fILength的第二二维骨架曲线,并存入数据集DS1-1中,同时将该第二二维骨架线从DS1中删除;
针对所述数据集DS1-1中第i条二维骨架曲线,将所述第i条二维骨架曲线上除第一个控制点外的控制点绕向量旋转i×fAngle度,其中,Vis为所述第i条二维骨架曲线的第一个控制点,Viq为辅助点,所述辅助点Viq的x、y分量值与Vis相同、z分量值为Vis的z分量值加a,a为预设常数,fAngle=360/N1-1,N1-1为数据集DS1-1的大小,i为正整数;
在所述深度增强后的二维树木枝干骨架中查找所有父枝条为旋转后的第i条二维骨架曲线的二维骨架曲线,并将获得的二维骨架曲线移动到对应的着生点的位置;
清空所述数据集DS1-1,并从所述数据集DS1中未进行旋转的二维骨架曲线中重新选取第一二维骨架线,直至所述数据集DS1成为空集为止。
进一步地,所述针对所述三维树木枝干骨架中的每一条三维骨架曲线,生成三维网格的步骤,包括:
针对所述三维树木枝干骨架中的第i条三维骨架曲线,获得该第i条三维骨架曲线的顶部半径和底部半径,其中,i为正整数;
根据所述第i条三维骨架曲线的顶部半径和底部半径,得到该第i条三维骨架曲线每一个节间的节间半径,并得到控制点半径;
根据所述节间半径和控制点半径生成所述第i条三维骨架曲线的三维网格。
进一步地,所述针对所述三维树木枝干骨架中的第i条三维骨架曲线,获得该第i条三维骨架曲线的顶部半径和底部半径的步骤,包括:
若所述第i条三维骨架曲线为一年生枝条,则该第i条三维骨架曲线的顶部半径为:
pBRadiui_t=pBRadiu×fBLengthi/aBLength
其中,pBRadiu为预设一年生枝条顶部半径基数,fBLengthi为该三维骨架曲线的长度,aBLength为所述三维树木枝干骨架中全部一年生枝条三维骨架曲线的平均长度;
该三维骨架曲线的底部半径为:
pBRadiui_b=pBRadiui_t×k
其中,k为预设常数。
进一步地,所述根据所述第i条三维骨架曲线的顶部半径和底部半径,得到该第i条三维骨架曲线每一个节间的节间半径,并得到控制点半径的步骤,包括:
所述三维骨架曲线第m个节间的节间半径为:
iBRadiuim=pBRadiui_b-(pBRadiui_b-pBRadiui_t)/INsi×m
其中,INsi为所述第i条三维骨架曲线的节间数;
所述控制点半径为:
iBRadiui-d=iBRadiuim×(1+pIHump)
其中,pIHump为预设节间凸起比例。
本发明提供的一种基于草图的树木枝干三维模型构建方法,通过对枝条进行节间划分,采用了符合树木枝条生长特性的划分机制,使得最终得到的枝条节间长度分布更加符合树木的形态特征,同时还可以通过参数控制节间凸起的程度以及节间网格的数量。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1是本发明一个实施例中基于草图的树木枝干三维模型构建方法的流程示意图;
图2是本发明一个实施例中生成的二维树木枝干骨架示意图;
图3是本发明一个实施例中形成划分节间后的二维树木枝干骨架示意图;
图4是本发明一个实施例中得到的三维树木枝干骨架示意图;
图5是本发明一个实施例中得到的所要构建的树木枝干的三维网格模型示意图;
图6是本发明一个实施例中以面绘方式显示的树木枝干三维模型。
具体实施方式
现结合附图和实施例对本发明技术方案作进一步详细阐述。
图1示出了本实施例中基于草图的树木枝干三维模型构建方法的流程示意图,如图1所示,本实施例提供的一种基于草图的树木枝干三维模型构建方法,包括:
S1,根据所要构建的树木枝干生成二维树木枝干骨架,所述二维树木枝干骨架包含多条二维骨架曲线。所述二维树木枝干骨架中分别采用树干、主枝、侧枝或一年生枝条四种类型的二维骨架曲线表示不同类型的枝条。
在生成二维树木枝干骨架时,用户首先选择相应的曲线类型,并公国鼠标或绘图笔绘制一根二维曲线,根据用户输入的指令生成二维树木枝干骨架的一条二维骨架曲线,重复上述操作最终生成如图2所示树木的二维树木枝干骨架。。
S2,针对所述二维树木枝干骨架中的每一条二维骨架曲线,提取多个像素点作为控制点实现对该二维骨架曲线进行节间划分,形成划分节间后的二维树木枝干骨架,如图3所示。具体包括:
针对所述二维树木枝干骨架中的第i条二维骨架曲线,根据所述第i条二维骨架曲线包含的像素点数和预设的节间像素点数获得该第i条二维骨架曲线的节间数INsi,其中i为正整数;
判断所述第i条二维骨架曲线是否为一年生枝条,若是,则选取所述第i条二维骨架曲线上的第Pj个像素点作为控制点Rj;其中:
Pj=Pj-1+[aj],P1=1,j=1,2,3...INsi+1
pILength为预设的节间像素点数,RandN(x,y)为取值范围为[x,y]的随机函数;
否则,从所述第i条二维骨架曲线上第一个像素点开始,每隔pILength个像素点取1个像素点,作为该条二维骨架曲线的控制点,共选取INsi+1个控制点。
S3,将所述划分节间后的二维树木枝干骨架进行三维转换,得到三维树木枝干骨架。具体包括:
S31,针对所述划分节间后的二维树木枝干骨架中的每一条二维骨架曲线,将该二维骨架曲线上每一个控制点的y坐标和z坐标的值进行互换。
S32,根据所述二维骨架曲线的倾斜度对该二维骨架曲线进行深度方向的增强,得到深度增强后的二维树木枝干骨架;
其中,根据第i条二维骨架曲线上第一个控制点Vis和最后一个控制点Vie获取辅助点Vip,所述辅助点Vip的x坐标和y坐标与所述最后一个控制点Vie相同,z坐标与所述第一个控制点Vis相同,其中i为正整数;
当向量和向量的夹角β满足预设角度大小时,即若5°<β<25°时,则将所述第i条二维骨架曲线上除第一个控制点外的所有控制点的坐标值都乘以预设数值γ,取值可以根据用户情况进行设置,例如本实施例中取值1.2。
S33,确定所述深度增强后的二维树木枝干骨架的拓扑关系;
针对所述深度增强后的二维树木枝干骨架中除树干类型以外的每一条二维骨架曲线,选取所述深度增强后的二维树木枝干骨架中与该二维骨架曲线第一个控制点距离最近的二维骨架曲线作为该二维骨架曲线的父枝条二维骨架曲线;
选取所述父枝条二维骨架曲线上与该二维骨架曲线第一个控制点距离最近的控制点作为该二维骨架曲线的着生点。
S34,根据所述拓扑关系对所述深度增强后的二维树木枝干骨架进行三维变换,得到如图4所示的三维树木枝干骨架;
从所述深度增强后的二维树木枝干骨架中选取父枝条为树干的二维骨架曲线,并将得到的所述二维骨架曲线存入数据集DS1中;
从所述数据集DS1中选取第一个控制点与树干二维骨架曲线的第一个控制点最近的第一二维骨架曲线,并存入数据集DS1-1中,同时将该第一二维骨架线从DS1中删除;
从所述数据集DS1中,再次选取第一个控制点与所述第一二维骨架曲线的第一个控制点距离小于平均节间长度fILength的第二二维骨架曲线,并存入数据集DS1-1中,同时将该第二二维骨架线从DS1中删除;
针对所述数据集DS1-1中第i条二维骨架曲线,将所述第i条二维骨架曲线上除第一个控制点外的控制点绕向量旋转i×fAngle度,其中,Vis为所述第i条二维骨架曲线的第一个控制点,Viq为辅助点,所述辅助点Viq的x、y分量值与Vis相同、z分量值为Vis的z分量值加a,a为预设常数,例如取值1.0,fAngle=360/N1-1,N1-1为数据集DS1-1的大小,i为正整数;
在所述深度增强后的二维树木枝干骨架中查找所有父枝条为旋转后的第i条二维骨架曲线的二维骨架曲线,并将获得的二维骨架曲线移动到对应的着生点的位置;
清空所述数据集DS1-1,并从所述数据集DS1中未进行旋转的二维骨架曲线中重新选取第一二维骨架线,直至所述数据集DS1成为空集为止。
S4,针对所述三维树木枝干骨架中的每一条三维骨架曲线,生成三维网格,得到所要构建的树木枝干的三维网格模型。具体包括:
S41,针对所述三维树木枝干骨架中的第i条三维骨架曲线,获得该第i条三维骨架曲线的顶部半径和底部半径,其中,i为正整数。
若所述第i条三维骨架曲线为一年生枝条,则该第i条三维骨架曲线的顶部半径为:
pBRadiui_t=pBRadiu×fBLengthi/aBLength
其中,pBRadiu为预设一年生枝条顶部半径基数,fBLengthi为该三维骨架曲线的长度,aBLength为所述三维树木枝干骨架中全部一年生枝条三维骨架曲线的平均长度;
该三维骨架曲线的底部半径为:
pBRadiui_b=pBRadiui_t×k
其中,k为预设常数,在本实施例中取值为1.5。
若所述第i条三维骨架曲线为侧枝,则该第i条三维骨架曲线的顶部半径为:
计算所述三维树木枝干骨架中全部侧枝的三维骨架曲线的长度,并记录下最小的长度值lb2_min
设置该侧枝的顶部半径为rmin,然后计算该枝条骨架线的长度length,则该枝条的底部半径为
若所述第i条三维骨架曲线为主枝,则该第i条三维骨架曲线的顶部半径为:
计算所述三维树木枝干骨架中全部侧枝的三维骨架曲线的长度,并记录下最小的长度值lb1_min
对所述第i条三维骨架曲线,执行如下操作:
a.设置该主枝的顶部半径为2×rmin
b.查找所述三维树木枝干骨架中以该主枝为父枝的全部侧枝,并将这些侧枝的三维骨架曲线加入数据集Sb1中;
c.若数据集Sb1中的枝条骨架线个数不为0,则令rt_bottom为数据集Sb1中第t根侧枝的底部半径,则枝条该主枝的底部半径为其中,n为数据集Sb1中的枝条骨架线个数;
d.若数据集Sb1中的枝条骨架线个数不为0,则该主枝的底部半径为2.8×rmin
若所述第i条三维骨架曲线为树干,则该第i条三维骨架曲线的顶部半径为:
将树干枝条的底部半径设置为rroot
然后查找所述三维树木枝干骨架中的主枝起点位置与树干的终点位置重合的主枝的三维骨架曲线,并将这些三维骨架曲线加入数据集St中;
令rh_bottom为数据集St中第h根枝条的底部半径,则树干枝条的顶部半径为其中h为数据集St中的枝条骨架线个数。
S42,根据所述第i条三维骨架曲线的顶部半径和底部半径,得到该第i条三维骨架曲线每一个节间的节间半径,并得到控制点半径;
所述三维骨架曲线第m个节间的节间半径为:
iBRadiuim=pBRadiui_b-(pBRadiui_b-pBRadiui_t)/INsi×m
其中,INsi为所述第i条三维骨架曲线的节间数;
所述控制点半径为:
iBRadiui-d=iBRadiuim×(1+pIHump)
其中,pIHump为预设节间凸起比例,一般取值为小于1的常数。
S43,根据所述节间半径和控制点半径生成所述第i条三维骨架曲线的三维网格。
以第m个节间的两个控制点组成的线段作为骨架线,同时采用纵向网格划分段数Meshh(默认取值是6)和横截面网格划分数Meshv(默认取值是5)进行对网格数量进行控制。在利用轴骨架网格化方法时,需要在骨架线一定半径的周围生成一些点集。在该节间的两个端点(控制点)处,使用半径iBRadiui-d,其他地方直接采用作为iBRadiuim半径。这样就能在生成的网格上产生节间凸起的效果,得到如图5所示的三维网格模型。进而对三维网格模型进行渲染等操作最终得到如图6所示的以面绘方式显示的树木枝干三维模型。
本实施例提供的一种基于草图的树木枝干三维模型构建方法,通过对枝条进行节间划分,采用了符合树木枝条生长特性的划分机制,使得最终得到的枝条节间长度分布更加符合树木的形态特征,同时还可以通过参数控制节间凸起的程度以及节间网格的数量。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (9)

1.一种基于草图的树木枝干三维模型构建方法,其特征在于,所述方法包括:
根据所要构建的树木枝干生成二维树木枝干骨架,所述二维树木枝干骨架包含多条二维骨架曲线;
针对所述二维树木枝干骨架中的每一条二维骨架曲线,提取多个像素点作为控制点实现对该二维骨架曲线进行节间划分,形成划分节间后的二维树木枝干骨架;
将所述划分节间后的二维树木枝干骨架进行三维转换,得到三维树木枝干骨架;
针对所述三维树木枝干骨架中的每一条三维骨架曲线,生成三维网格,得到所要构建的树木枝干的三维网格模型;
针对所述二维树木枝干骨架中的每一条二维骨架曲线,提取多个像素点作为控制点实现对该二维骨架曲线进行节间划分的步骤,包括:
针对所述二维树木枝干骨架中的第i条二维骨架曲线,根据所述第i条二维骨架曲线包含的像素点数和预设的节间像素点数获得该第i条二维骨架曲线的节间数INsi,其中i为正整数;
判断所述第i条二维骨架曲线是否为一年生枝条,若是,则选取所述第i条二维骨架曲线上的第Pj个像素点作为控制点Rj;其中:
Pj=Pj-1+[aj],P1=1,j=1,2,3...INsi+1
<mrow> <msub> <mi>a</mi> <mi>j</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>p</mi> <mi>I</mi> <mi>L</mi> <mi>e</mi> <mi>n</mi> <mi>g</mi> <mi>t</mi> <mi>h</mi> <mo>&amp;times;</mo> <mi>R</mi> <mi>a</mi> <mi>n</mi> <mi>d</mi> <mi>N</mi> <mrow> <mo>(</mo> <mn>0.9</mn> <mo>,</mo> <mn>1.1</mn> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mn>1</mn> <mo>&lt;</mo> <mi>j</mi> <mo>&lt;</mo> <msub> <mi>IN</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> </msub> <mo>/</mo> <mn>2.0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>p</mi> <mi>I</mi> <mi>L</mi> <mi>e</mi> <mi>n</mi> <mi>g</mi> <mi>t</mi> <mi>h</mi> <mo>&amp;times;</mo> <mrow> <mo>(</mo> <mn>0.3</mn> <mo>+</mo> <mn>0.7</mn> <mo>&amp;times;</mo> <mo>(</mo> <mn>1.0</mn> <mo>-</mo> <mfrac> <mrow> <mo>|</mo> <mrow> <mo>(</mo> <msub> <mi>IN</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> </msub> <mo>-</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>IN</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> </msub> <mo>/</mo> <mn>2.0</mn> <mo>|</mo> </mrow> <mrow> <mo>(</mo> <msub> <mi>IN</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> </msub> <mo>/</mo> <mn>2.0</mn> <mo>)</mo> </mrow> </mfrac> <mo>)</mo> </mrow> <mo>)</mo> </mrow> </mtd> <mtd> <mrow> <mi>e</mi> <mi>l</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
pILength为预设的节间像素点数,RandN(x,y)为随机函数;
否则,从所述第i条二维骨架曲线上第一个像素点开始,每隔pILength个像素点取1个像素点,作为该条二维骨架曲线的控制点,共选取INsi+1个控制点。
2.根据权利要求1所述的方法,其特征在于,所述二维树木枝干骨架中分别采用树干、主枝、侧枝或一年生枝条四种类型的二维骨架曲线表示不同类型的枝条。
3.根据权利要求1所述的方法,其特征在于,所述将所述划分节间后的二维树木枝干骨架进行三维转换的步骤,包括:
针对所述划分节间后的二维树木枝干骨架中的每一条二维骨架曲线,将该二维骨架曲线上每一个控制点的y坐标和z坐标的值进行互换;
根据所述二维骨架曲线的倾斜度对该二维骨架曲线进行深度方向的增强,得到深度增强后的二维树木枝干骨架;
确定所述深度增强后的二维树木枝干骨架的拓扑关系;
根据所述拓扑关系对所述深度增强后的二维树木枝干骨架进行三维变换,得到三维树木枝干骨架。
4.根据权利要求3所述的方法,其特征在于,所述根据所述二维骨架曲线的倾斜度对该二维骨架曲线进行深度方向的增强的步骤,包括:
根据第i条二维骨架曲线上第一个控制点Vis和最后一个控制点Vie获取辅助点Vip,所述辅助点Vip的x坐标和y坐标与所述最后一个控制点Vie相同,z坐标与所述第一个控制点Vis相同,其中i为正整数;
当向量和向量的夹角β满足预设角度大小时,则将所述第i条二维骨架曲线上除第一个控制点外的所有控制点的坐标值都乘以预设数值γ。
5.根据权利要求3所述的方法,其特征在于,所述确定所述深度增强后的二维树木枝干骨架的拓扑关系的步骤,包括:
针对所述深度增强后的二维树木枝干骨架中除树干类型以外的每一条二维骨架曲线,选取所述深度增强后的二维树木枝干骨架中与该二维骨架曲线第一个控制点距离最近的二维骨架曲线作为该二维骨架曲线的父枝条二维骨架曲线;
选取所述父枝条二维骨架曲线上与该二维骨架曲线第一个控制点距离最近的控制点作为该二维骨架曲线的着生点。
6.根据权利要求5所述的方法,其特征在于,所述根据所述拓扑关系对所述深度增强后的二维树木枝干骨架进行三维变换的步骤,包括:
从所述深度增强后的二维树木枝干骨架中选取父枝条为树干的二维骨架曲线,并将得到的所述二维骨架曲线存入数据集DS1中;
从所述数据集DS1中选取第一个控制点与树干二维骨架曲线的第一个控制点最近的第一二维骨架曲线,并存入数据集DS1-1中,同时将该第一二维骨架线从DS1中删除;
从所述数据集DS1中,再次选取第一个控制点与所述第一二维骨架曲线的第一个控制点距离小于平均节间长度fILength的第二二维骨架曲线,并存入数据集DS1-1中,同时将该第二二维骨架线从DS1中删除;
针对所述数据集DS1-1中第i条二维骨架曲线,将所述第i条二维骨架曲线上除第一个控制点外的控制点绕向量旋转i×fAngle度,其中,Vis为所述第i条二维骨架曲线的第一个控制点,Viq为辅助点,所述辅助点Viq的x、y分量值与Vis相同、z分量值为Vis的z分量值加a,a为预设常数,fAngle=360/N1-1,N1-1为数据集DS1-1的大小,i为正整数;
在所述深度增强后的二维树木枝干骨架中查找所有父枝条为旋转后的第i条二维骨架曲线的二维骨架曲线,并将获得的二维骨架曲线移动到对应的着生点的位置;
清空所述数据集DS1-1,并从所述数据集DS1中未进行旋转的二维骨架曲线中重新选取第一二维骨架线,直至所述数据集DS1成为空集为止。
7.根据权利要求1所述的方法,其特征在于,所述针对所述三维树木枝干骨架中的每一条三维骨架曲线,生成三维网格的步骤,包括:
针对所述三维树木枝干骨架中的第i条三维骨架曲线,获得该第i条三维骨架曲线的顶部半径和底部半径,其中,i为正整数;
根据所述第i条三维骨架曲线的顶部半径和底部半径,得到该第i条三维骨架曲线每一个节间的节间半径,并得到控制点半径;
根据所述节间半径和控制点半径生成所述第i条三维骨架曲线的三维网格。
8.根据权利要求7所述的方法,其特征在于,所述针对所述三维树木枝干骨架中的第i条三维骨架曲线,获得该第i条三维骨架曲线的顶部半径和底部半径的步骤,包括:
若所述第i条三维骨架曲线为一年生枝条,则该第i条三维骨架曲线的顶部半径为:
pBRadiui_t=pBRadiu×fBLengthi/aBLength
其中,pBRadiu为预设一年生枝条顶部半径基数,fBLengthi为该三维骨架曲线的长度,aBLength为所述三维树木枝干骨架中全部一年生枝条三维骨架曲线的平均长度;
该三维骨架曲线的底部半径为:
pBRadiui_b=pBRadiui_t×k
其中,k为预设常数。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第i条三维骨架曲线的顶部半径和底部半径,得到该第i条三维骨架曲线每一个节间的节间半径,并得到控制点半径的步骤,包括:
所述三维骨架曲线第m个节间的节间半径为:
iBRadiuim=pBRadiui_b-(pBRadiui_b-pBRadiui_t)/INsi×m
其中,INsi为所述第i条三维骨架曲线的节间数;
所述控制点半径为:
iBRadiui-d=iBRadiuim×(1+pIHump)
其中,pIHump为预设节间凸起比例。
CN201510355771.7A 2015-06-24 2015-06-24 基于草图的树木枝干三维模型构建方法 Active CN104978765B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510355771.7A CN104978765B (zh) 2015-06-24 2015-06-24 基于草图的树木枝干三维模型构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510355771.7A CN104978765B (zh) 2015-06-24 2015-06-24 基于草图的树木枝干三维模型构建方法

Publications (2)

Publication Number Publication Date
CN104978765A CN104978765A (zh) 2015-10-14
CN104978765B true CN104978765B (zh) 2017-12-26

Family

ID=54275239

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510355771.7A Active CN104978765B (zh) 2015-06-24 2015-06-24 基于草图的树木枝干三维模型构建方法

Country Status (1)

Country Link
CN (1) CN104978765B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106231290B (zh) * 2016-08-30 2018-05-04 浙江工业大学 基于深度模板的3d树木图像构建方法
CN109978992B (zh) * 2019-03-15 2022-06-14 广西师范大学 一种树木枝干形态测量与三维重建方法及系统
EP4018816A1 (en) * 2020-12-23 2022-06-29 Kubota Corporation Method for determining output data from crop plant characteristics for a crop plant, method for controlling operation of an agricultural machine, agricultural machine, and computer program product
CN117710601B (zh) * 2023-12-27 2024-05-24 南京林业大学 一种基于激光点云和图像信息的单木骨架提取方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100259951B1 (ko) * 1997-12-19 2000-06-15 정선종 시각 스크립트를 이용하여 3차원 애니메이션을 생성하는 방법
CN101488226A (zh) * 2008-01-16 2009-07-22 中国科学院自动化研究所 基于单次三维激光扫描的树木测量和重建方法
CN101706968A (zh) * 2009-12-10 2010-05-12 江苏大学 基于图像的果树枝干三维模型重建方法
CN103077554A (zh) * 2013-01-04 2013-05-01 北京农业信息技术研究中心 基于节单位的作物交互式设计方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9183467B2 (en) * 2013-05-03 2015-11-10 Microsoft Technology Licensing, Llc Sketch segmentation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100259951B1 (ko) * 1997-12-19 2000-06-15 정선종 시각 스크립트를 이용하여 3차원 애니메이션을 생성하는 방법
CN101488226A (zh) * 2008-01-16 2009-07-22 中国科学院自动化研究所 基于单次三维激光扫描的树木测量和重建方法
CN101706968A (zh) * 2009-12-10 2010-05-12 江苏大学 基于图像的果树枝干三维模型重建方法
CN103077554A (zh) * 2013-01-04 2013-05-01 北京农业信息技术研究中心 基于节单位的作物交互式设计方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于手绘图形的三维分形树木生成技术;刘树群等;《甘肃科学学报》;20100930;第22卷(第3期);第36-39页 *

Also Published As

Publication number Publication date
CN104978765A (zh) 2015-10-14

Similar Documents

Publication Publication Date Title
CN104978765B (zh) 基于草图的树木枝干三维模型构建方法
Xie et al. Tree modeling with real tree-parts examples
Zamuda et al. Differential evolution for parameterized procedural woody plant models reconstruction
EP2996086A1 (en) System, method and computer program product for automatic optimization of 3d textured models for network transfer and real-time rendering
CN106202701A (zh) 一种三维房屋图像的生成方法及客户端
CN113592711A (zh) 点云数据不均匀的三维重建方法、系统、设备及存储介质
CN103021012A (zh) 结合静态结构利用计算机绘制动态3d植物的方法
Zhang et al. [Retracted] Virtual Reality Design and Realization of Interactive Garden Landscape
US20140347373A1 (en) Method of generating terrain model and device using the same
CN108492365B (zh) 一种基于颜色分级的树叶自适应贴图可视化模拟方法
CN104866266A (zh) 农作物性状展示方法及装置
CN111161134A (zh) 基于伽马变换的图像艺术风格转换方法
CN103077554B (zh) 基于节单位的作物交互式设计方法和系统
CN104851125B (zh) 一种植物叶子三维模型建模方法及系统
CN107590829A (zh) 一种适用于多视角密集点云数据配准的种子点拾取方法
CN113298923B (zh) 一种仿真电子画的生成方法、装置、设备及存储介质
CN111523187B (zh) 一种基于粒子群的虚拟植物生长模型参数提取方法
CN107292942B (zh) 一种权值c2连续的线性混合形状编辑方法
CN117576280B (zh) 一种基于3d数字人的智能端云一体化生成方法及系统
Erickson et al. Re-creating Pre-Columbian Life in the Baures Region of the Bolivian Amazon
Anada et al. The number of cells in regions shifted on 2d images represented by raster data with heterogeneous parts
Machado et al. Applicability of convolutional neural network artistic style transfer algorithms
CN109978992B (zh) 一种树木枝干形态测量与三维重建方法及系统
Xin et al. The 3D reconstruction of greenhouse tomato plant based on real organ samples and parametric L-system
KR20130073523A (ko) 사실적인 실시간 모델링 시스템 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant