CN108717723B - 一种基于草图实现形状保持的树木变形动画方法 - Google Patents
一种基于草图实现形状保持的树木变形动画方法 Download PDFInfo
- Publication number
- CN108717723B CN108717723B CN201810351876.9A CN201810351876A CN108717723B CN 108717723 B CN108717723 B CN 108717723B CN 201810351876 A CN201810351876 A CN 201810351876A CN 108717723 B CN108717723 B CN 108717723B
- Authority
- CN
- China
- Prior art keywords
- tree
- silhouette
- deformation
- leaf cluster
- model
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/60—3D [Three Dimensional] animation of natural phenomena, e.g. rain, snow, water or plants
-
- 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/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- 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/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于草图的形状保持树木变形动画方法,包括:创建三维树木模型;将三维树木模型用骨架和树叶簇的形式表示;选择感兴趣的视角,检测步骤(2)中所述的三维树木模型的树冠侧影轮廓线,并在草图上绘制变形动画目标树冠侧影轮廓线,将三维树木模型的树冠侧影轮廓线逐渐变形成为变形动画目标树冠侧影轮廓线,并将三维树木模型的树冠侧影轮廓线的形变传递到枝条上,得到平滑的树木变形过程;逐帧记录树冠侧影轮廓线和枝条的变形过程,得到形状保持的树木变形动画。本发明保持树木拓扑一致性和树冠形态学意义,还提供了一种直观的三维树木编辑操作,仅需要绘制简单的草图就能够有效地编辑三维树木模型。
Description
技术领域
本发明涉及计算机图形,树建模与计算机动画领域,特别是涉及一种基于草图的形状保持树木变形动画方法。
背景技术
无论是在现实世界还是虚拟世界,树木都是描述环境不可或缺的一部分。近些年,伴随着数字化科技的蓬勃发展和日渐普及,在影视娱乐,三维游戏以及虚拟现实场景中也广泛出现了计算机合成三维树木的身影。
树木三维建模工作可以追溯到上世纪六十年代。尽管有着很长一段历史,截止到现在,计算机和植物学等各领域的专家们对该方向依旧保持着较高的关注,提出了很多建模方法,以致力于创建更真实美观的三维树木模型。根据不同的建模目的,这些方法大致可以分为两类:静态三维树木建模方法和动态树木动画方法。静态三维树木建模方法的核心在于生成视觉效果真实的三维树木几何造型;动态树木动画方法的目的在于生成视觉美观的三维动画特效,包括树木的生长特效以及树木在光、障碍物、风、雨、火等因素的影响下与环境发生的相互作用。除此之外,在电影和动画行业中,为了营造缥缈虚幻的虚拟环境并烘托其神秘氛围,一些个性化特殊树木变形动画的需求也应运而生。其中,最典型的例子是在2010年迪士尼动画《长发公主》中一匹白马将自己藏在一棵大树后面,然后树枝平滑地变形成为马的形状。因此,风格化的树木变形动画成为树木变形动画领域的一个值得关注的研究方向。
实现形状保持的树木动画需要解决两个关键技术挑战:第一,如何保持树木变形动画中拓扑结构的连续性,即不会产生断裂漂浮的枝条;第二如何在保留拓扑层次结构的同时对树枝进行变形,使其形成有形态学意义的树冠。
从宏观上看,形状保持的三维树木变形动画与基于形状引导的三维树木建模、传统三维树木动画以及近些年提出的拓扑保持树木变形动画这三个方向密切相关。
迄今为止,计算机领域的专家们提出多种基于形状引导的三维树木建模方法,旨在生成符合给定的特定树冠形状的三维树木模型。其中,较经典的方法有剪枝L系统、空间殖民地算法以及变分式逆向树木建模。但是,它们都只能生成静态树,并且对引导形状的变化很敏感。也就是说,当引导形状发生变化时,这些算法需要重新运行以生成符合新的引导形状的三维树木模型。由于该类方法需要针对动画的每一帧重新生成新的树木模型,并且不能保证帧与帧之间树枝的拓扑一致性,因此不适合用来生成需要保持形状的树的动画。
现有关于树木动画的文献大致可以分为两类:树木生长特效动画和树木与环境发生相互作用。针对树木生长动画,现有技术中存在通过插值预定义生长参数来创建具有植物学意义的树的生长动画的算法。但是,它们都不能针对任意一棵树木将其平滑地变形成为用户自定义的形状,并且保证该过程树冠形状的一致性和树枝拓扑的连续性。其主要原因在于这些预定义的生长参数与树冠形状没有直接联系,因此直接对这些参数进行插值并不能保证在动画过程中生成连续而有意义的树冠。除了生长动画之外,还有许多方法致力于模拟并生成树木与环境因素的交互动画效果,如Zhao和(参见Yili Zhao andJernejInteractive authoring of simulation-ready plants.ACMTransactions onGraphics(TOG),32(4):84,2013)生成了视觉上美观真实的树木在风中晃动的动画效果;Pirk等人(参见Pirk,Ondrej Stava,Julian Kratt,Michel AbdulMassih Said,Boris Neubert,Randomir Mech,Bedrich Benes,and OliverDeussen.Plastic trees:interactive self-adapting botanical tree models[J].ACMTransactions on Graphics(TOG),31(4):50,2012)逼真地模拟了树木在光和障碍物等因素作用下与环境的相互作用。尽管树的形状根据环境而发生了改变,然而现有方法没有明确地保留动画过程中树冠的形态学意义,因此并不能将树木有意义地变化成用户所定义的形状状。
最近Wang等人(参见Yutong Wang,Xiaowei Xue,Xiaogang Jin,and ZhigangDeng.Creative virtual tree modeling through hierarchical topology-preservingblending[J].IEEETransactions on Visualization and Computer Graphics,23(12):2521–2534,2017和Yutong Wang,Luyuan Wang,Zhigang Deng,and XiaogangJin.Topologically consistent leafy tree morphing[J].Computer Animation andVirtual Worlds,28(3-4),2017)提出了能够两个拓扑不同的树之间生成拓扑一致的动画方法。然而这些算法并不能保持变化中树冠的形态学意义,导致在具有特定树冠形状的树木之间变形时生成不理想的视觉效果。此外,这些方法严格要求输入两棵树分别作为变形动画的源模型和目标模型。
发明内容
本发明提供了一种基于草图实现形状保持的树木变形动画方法,该方法能够将树木平滑地变形为草图上所规定的具有特定树冠形状的树。
一种基于草图实现形状保持的树木变形动画方法,包括以下步骤:
(1)创建三维树木模型;
(2)将三维树木模型用骨架和树叶簇的形式表示,包括:
(2.1)分离三维树木模型的树叶和树干,所述树干包括树木的主干部分和枝条部分;
(2.2)提取三维树木模型中树干的骨架;
(2.3)基于人对树木主干结构和树冠整体形状的视觉认知确定三维树木模型中的树冠部分,将树冠部分拆分为由树叶组成的若干个外轮廓几何结构,以树叶簇表示,并用均值坐标表示内层树叶簇侧影轮廓线与外层树叶簇侧影轮廓线的相对位置关系。其中,由所有树叶组成的树叶簇即为该三维树木模型的树冠。
根据树木固有的枝条父子层级关系,树叶簇也服从严格的父子层级关系,因此可以将不同树叶簇之间的层级关系描述为多尺度树叶簇拓扑结构树。
考虑到树冠与树叶簇之间的父子层级关系以及外层树叶簇包裹内层树叶簇的性质,将外层树叶簇看作是内层树叶簇的包围网格。因此,在选定的视角下,外层树叶簇的侧影轮廓线也可以看作是内层树叶簇侧影轮廓线的包围多边形。利用该性质,内层树叶簇侧影轮廓线与外层树叶簇侧影轮廓线的相对位置关系可以通过均值坐标表示。
(3)选择感兴趣的视角,检测步骤(2)中所述的三维树木模型的树冠侧影轮廓线,基于草图绘制变形动画目标树冠侧影轮廓线,而后将草图映射到物体空间的树冠侧影轮廓线上;
(4)将三维树木模型的树冠侧影轮廓线逐渐变形成为变形动画目标树冠侧影轮廓线,并将三维树木模型的树冠侧影轮廓线的形变传递到枝条上,得到平滑的树木变形过程;
(5)逐帧记录步骤(4)中的树木变形过程,得到形状保持的树木变形动画。
作为优选,步骤(1)所述的创建三维树木模型采用的方法为:基于真实树木的点云数据重建三维树木模型,这样得到的三维树木模型更加真实。也可以通过基于L-系统由计算机生成虚拟树木模型,或者使用如Maya,3Ds Max等三维建模软件自由创建虚拟树木模型。使用上述方法具有较强的灵活性和可拓展性,对拓扑迥异的不同种树木(包括乔木和灌木)均能够生成形状保持的变形动画。
作为优选,步骤(2.2)中使用拉普拉斯收缩算法提取三维树木模型中树干的骨架:将三维树干的模型顶点沿其法线的逆方向进行移动,即收缩。由于树干近似圆柱体的特征,树干横截面上的顶点最终收敛并汇聚成为一点,即骨架点,将骨架点按照树干的拓扑结构连接起来得到树干的骨架,以收缩前树干模型横截面上所有顶点到该骨架点距离的平均值则作为骨架点的半径,从而将三维树干模型简化成为骨架+半径描述。
作为进一步优选,步骤(2.2)中使用拉普拉斯收缩算法提取的骨架使用球体扫成方法重新恢复成树干的三维模型。
作为优选,步骤(3)中检测三维树木模型树冠的物体空间侧影轮廓线,物体空间侧影轮廓线由三维树木模型上的一系列边构成,这些边的顶点法向量ni和nj与视线方向v满足如下关系:
(ni·v)*(nj·v)=0
物体空间侧影轮廓线的好处在于其精确性,从而方便对三维模型进行直接操作和控制。
作为进一步的优选,步骤(3)中所述的绘制变形动画目标树冠侧影轮廓线,重绘树冠侧影轮廓线上感兴趣的区域并略微修改现有树冠的形状作为草图,可以实现局部的变形而不影响整体。
步骤(3)中也可重新绘制一个新的草图作为变形动画目标树冠的侧影轮廓线。
作为优选,步骤(4)通过多尺度树叶簇拓扑结构和拉普拉斯变形算法将树冠的形变传递到树干上,具体过程为:
(4.1)将外层树叶簇当作内层树叶簇的包围网格,并建立多尺度树叶簇拓扑结构树;
(4.2)根据内层树叶簇侧影轮廓线相对于外层树叶簇侧影轮廓线的均值坐标更新内层树叶簇的侧影轮廓线,依据多尺度树叶簇拓扑结构树,不断地更新内层树叶簇的侧影轮廓线,并将外层树冠侧影轮廓线的形变沿多尺度树叶簇拓扑结构树由外及内逐渐传递到最内层最细尺度的树叶簇为止;
(4.3)依据发生形变的树叶簇侧影轮廓线对树叶簇三维模型进行形变并传递到枝条上。
作为进一步的优选,步骤(4.1)建立多尺度树叶簇拓扑结构树后对处于变形动画目标树冠侧影轮廓线外的枝条进行剪枝。
更进一步的优选,步骤(4.1)具体为:使用Vatti多边形裁剪算法对变形目标树冠侧影轮廓线和原始树冠侧影轮廓线求交,计算该相交区域与原始树冠侧影轮廓线包围区域面积的比率,记为r,基于r判断该树叶簇是否修剪,确定修剪的树叶簇包围的枝条在变形动画中逐渐消亡,得到更自然的变形结果。
作为进一步的优选,步骤(4.2)具体为:首先计算内层树叶簇侧影轮廓线相对于外层树叶簇侧影轮廓线的均值坐标。随后,当外层树叶簇侧影轮廓线发生形变后,利用内层树叶簇侧影轮廓线相对于外层树叶簇侧影轮廓线的均值坐标更新内层树叶簇侧影轮廓线顶点的笛卡尔坐标。接着,利用如下公式继续对内层树叶簇进行变形,使其尽可能覆盖外层树叶簇侧影轮廓线:
其中S=(V,E)是内层侧影轮廓线,其中V是顶点集合,E是边集合,vi和v'i分别为形变前后的该树叶簇侧影轮廓线上顶点的笛卡尔坐标,δi为vi的微分坐标,C是该树叶簇与外层侧影轮廓线上局部匹配的顶点集合,vj和v'j分别为集合C中变形前和变形后的内层树叶簇侧影轮廓线上顶点笛卡尔坐标。
作为进一步的优选,步骤(4.3)的具体步骤为:
(4.3.1)求解步骤(2)中的树叶簇的余切权值拉普拉斯算子,并建立微分坐标方程,从而将三维树木模型中树叶簇的顶点从笛卡尔坐标系变换到微分坐标空间;
(4.3.2)将树叶簇在步骤(3)中选定的视角下侧影轮廓线上的顶点作为约束点集合,与形变后该轮廓线顶点的新位置一起建立满秩线性方程系统:
根据三维树木模型给定树叶簇三维模型,记作M=(V,E,F),其中V是顶点集合,E是模型边集合,F是面的集合,则满秩线性方程系统表达式如下:
其中,vi和v'i分别为形变前后树叶簇上模型顶点的笛卡尔坐标,δi为vi的微分坐标,C表示树叶簇侧影轮廓线上顶点集合,vj和v'j分别为形变前后变形后树叶簇侧影轮廓线上顶点笛卡尔坐标。
通过最小二乘法求解得到在步骤(3)中选定的视角下符合形变后树叶簇侧影轮廓线的新树叶簇三维模型;
(4.3.3)将最内层树叶簇看作是枝条末端的包围网格,由于树冠的形变,通过枝条末端相对于最内层树叶簇的均值坐标计算出形变后枝条末端的新位置;
(4.3.4)求解三维树木模型中枝条的余切权值拉普拉斯算子,建立微分坐标方程,并将枝条根端点作为不动点,将步骤4.3.3)中求得的枝条末端的新位置作为移动点,建立步骤(4.3.2)的满秩线性方程系统,求解得到形变后的枝条;
(4.3.5)由于枝条间的层级关系,当父枝条发生形变后,其子枝条也会发生相应的形变,该形变过程与步骤(4.3.4)中描述的过程一致。
本发明提供了一种基于草图实现形状保持的树木变形动画方法,并具有以下效果:
(1)提出了一种新型的树木变形动画方法,允许交互式地设计和控制变形动画效果,保持树木拓扑一致性和树冠形态学意义;
(2)提供了一种直观的三维树木编辑操作,仅需要绘制简单的草图就能够有效地编辑三维树木模型,将其变形成为草图所描绘的树冠形状,方法明确,界面友好,结果鲁棒,可用于计算机动画,数字娱乐,三维游戏等领域。
附图说明
图1为本发明基于草图实现形状保持的树木变形动画方法流程图;
图2为本发明实施例中的树木变形动画过程示意图,其中a为创建的三维树木模型示意图,b为骨架和树叶簇表示三维树木模型的示意图,c为基于草图绘制的变形动画目标树冠侧影轮廓线示意图,d为树木变形动画的过程示意图;
图3为本发明实施例中建立多尺度树叶簇拓扑结构树过程的示意图,其中a为输入三维树木模型示意图,b为用骨架和树叶簇表示三维树木模型示意图,c为三维树木模型用多尺度树叶簇表示的示意图,d为多尺度树叶簇拓扑结构树示意图;
图4为本发明实施例中树木变形动画效果图。
具体实施方式
下面结合附图及具体实施例对本发明进行详细说明。
如图1所示,本发明的基于草图实现形状保持的树木变形动画方法包括以下步骤:
S101:创建三维树木模型,如图2a所示;
通过激光扫描仪等硬件装置获取真实世界三维树木的点云以及纹理信息,创建三维树木模型。
S102:将三维树木模型用骨架和树叶簇的形式表示,如图2b所示,具体步骤为:
S1021:使用Maya,3DsMax等三维建模软件将步骤(1)三维树木模型的树叶和树干分离,树干包括树木的主干部分和枝条;
S1022:对于三维树木模型中的树干部分,使用拉普拉斯收缩算法提取其骨架:将三维树干的模型顶点沿其法线的逆方向进行移动,即收缩。由于树干近似圆柱体的特征,树干横截面上的顶点会最终收敛并汇聚成为一点,即骨架点。将骨架点按照树干的拓扑结构连接起来就得到了树干的骨架,以收缩前树干模型横截面上所有顶点到该骨架点距离的平均值则作为骨架点的半径,从而将三维树干模型简化成为骨架+半径描述;
S1023:基于人对树木主干结构和树冠整体形状的视觉认知,将树冠拆分为由树枝构成的外轮廓几何结构,即树叶簇。其中,由所有树叶构成的树叶簇被称为该三维树木模型的树冠。由于树木固有的枝条层级关系,这些树叶簇也严格地服从这样的层级关系。建立多尺度树叶簇拓扑结构树对它们之间的层级关系进行描述,其步骤如下:
S201:输入三维树木模型,如图3a所示;
S202:将三维树木模型用骨架和树叶簇表示,如图3b所示;
S203:将三维树木模型用多尺度树叶簇表示,如图3c所示;
S204:建立多尺度树叶簇拓扑结构树,如图3d所示。
S103:选择感兴趣的视角,检测步骤(2)中所述的三维树木模型的树冠侧影轮廓线,基于草图上绘制变形动画目标树冠侧影轮廓线,如图2c所示;
检测步骤(2)中所述的三维树木模型的物体空间的树冠侧影轮廓线,该树冠侧影轮廓线由模型上一系列边构成,这些边的顶点法向量ni和nj与视线方向v满足如下关系:
(ni·v)*(nj·v)=0
采用Hertzmann等人提出的方法获取物体空间侧影轮廓线。具体来说,对于一个封闭的三维网格模型,模型上的每一条边都有两个相邻的三角面片,在某一视点下,如果其中一个三角面片可见而另外一个三角面片不可见,即满足上述公式,则这条边就是该模型在该视点下侧影轮廓线上的边。遍历整个模型,采集所有满足上述公式的边,并采用深度优先算法将它们首尾连接起来,就构成了模型的物体空间侧影轮廓线。
重绘侧影轮廓线上的一部分(即感兴趣区域)并略微地修改现有树冠的形状作为草图。
在草图绘制结束后,将草图从屏幕空间映射到物体空间的树冠侧影轮廓线上。该映射过程通过弧长参数化建立,具体步骤为:
S1031:提取树冠侧影轮廓线上被重绘的部分,将其投影到屏幕空间,并对其进行弧长参数化,表达为:
其中,li为从侧影轮廓线起始点到顶点vi的长度,l为侧影轮廓线的总长度,从而完成将侧影轮廓线离散到[0,1]空间;
S1032:对屏幕空间中重绘的草图进行弧长参数化,将其离散到[0,1]空间;
S1033:将屏幕空间中草图的顶点投影到屏幕空间中树冠侧影轮廓线上参数化数值相同的顶点,完成对应关系的确立;
S1034:得到对应关系后,为屏幕空间中草图的顶点添加深度信息,使其获得对应的物体空间树冠侧影轮廓线顶点的深度,以此完成草图从屏幕空间到物体空间的变换过程;
S1035:将变换到物体空间的草图与树冠侧影轮廓线上未重绘的部分拼接起来,得到完整的变形动画目标树冠侧影轮廓线。
S104:将三维树木模型的树冠侧影轮廓线逐渐变形成为变形动画目标树冠侧影轮廓线,并将三维树木模型的树冠侧影轮廓线的形变传递到枝条上,得到平滑的树木变形过程,如图2d所示,具体步骤为:
S1041:得到树冠的变形目标侧影轮廓线后,根据树冠与树叶簇之间的层级关系以及外层树叶簇包裹内层树叶簇的性质,将外层树叶簇看作是内层树叶簇的包围网格,并建立多尺度树叶簇拓扑结构树;
S1042:检测三维树木模型中枝条与目标侧影轮廓线的位置关系,并适量地对位于变形目标侧影轮廓线外的枝条进行剪枝。基于多尺度树叶簇拓扑结构树,剪枝过程从最粗糙尺度开始进行。
使用Vatti多边形裁剪算法对变形目标树冠侧影轮廓线和原始树冠侧影轮廓线求交,计算该相交区域与原始树冠侧影轮廓线包围区域面积的比率,记为r,基于r,通过以下测试来修剪树枝。
S10421:如果r小于30%,则该参考侧影轮廓线包围的树叶簇被标记为修剪。基于多尺度树叶簇拓扑结构树,该树叶簇内包含的所有内层树叶簇也被标记为修剪,以保持枝条拓扑结构的一致性;
S10422:如果r近似于1,意味着该参考侧影轮廓线包围树叶簇的侧影轮廓线几乎完全处于变形目标侧影轮廓线内部,不需要更多的修剪测试,该树叶簇内以及该树叶簇内包含的所有树叶簇的树枝都不需要进行剪枝;
S10423:在其他情形下,则按照多尺度树叶簇拓扑结构树的层级关系下移到更细尺度进行测试,直到测到最内层的树叶簇或者满足(4.2.1)或(4.2.2)中的情况为止;
S10424:标记为修剪的树叶簇包围的枝条在变形动画中逐渐消亡。
S1043:基于多尺度树叶簇拓扑结构树,在选定的视角下,外层树叶簇的侧影轮廓线看作是内层树叶簇侧影轮廓线的包围多边形。利用该性质,用均值坐标表示内层树叶簇侧影轮廓线与外层树叶簇侧影轮廓线的相对位置关系,表达式为:
其中pi和vj分别是内层和外层树叶簇侧影轮廓线上顶点笛卡尔坐标,ωij是均值坐标,C表示外层树叶簇侧影轮廓线的顶点集合。
这意味着包围多边形内的任何点都可以表示为包围多边形的顶点线性组合。因此,在保证相对位置关系不变的约束下,当外层树叶簇侧影轮廓线发生形变时,通过如下公式快速更新内层树叶簇的侧影轮廓线:
其中,p'i和v'j分别是形变后的内层和外层树叶簇侧影轮廓线上顶点笛卡尔坐标,ωij是均值坐标,C表示外层树叶簇侧影轮廓线的顶点集合。
为了让三维树木模型更好地变形成为变形动画目标树冠的形状,在使用均值坐标更新内层树叶簇侧影轮廓线后需要进一步调整其形状,使处于该外层树叶簇内的所有内层树叶簇的侧影轮廓线尽可能地覆盖该外层树叶簇的侧影轮廓线,具体步骤如下:
S10431:依据内层树叶簇侧影轮廓线对外层树叶簇侧影轮廓线的覆盖情况对外层树叶簇侧影轮廓线进行分割;
设有n个内层树叶簇侧影轮廓线和包围它们的外层树叶簇侧影轮廓线se。将Si集合中的每一个元素与se进行屏幕空间的局部匹配,并将se上与Si中元素匹配的部分标记为覆盖区域并标记为O,se上未与Si中元素匹配的部分标记为未覆盖区域并标记为F,从而完成对外层树叶簇侧影轮廓线se的分割;
S10432:采用贪心算法最大化地覆盖外层树叶簇的侧影轮廓线该过程通过对内层树叶簇侧影轮廓线进行拉普拉斯变形完成;
外层树叶簇侧影轮廓线se对于se上与覆盖区域Oi和Oj区域相邻的未覆盖F区域,对于所有与Oi或者Oj区域局部匹配的内层树叶簇侧影轮廓线将整个作为感兴趣区域,上与F区域局部匹配的区域作为约束点,对进行拉普拉斯变形,具体过程如下:
给定树叶簇侧影轮廓线,记作S=(V,E),其中V是树叶簇侧影轮廓线上顶点集合,E为树叶簇侧影轮廓线的顶点间的边。关于树叶簇侧影轮廓线顶点间相对位置关系的微分坐标,即拉普拉斯坐标,表示为:
其中,δi为vi的微分坐标,N(i)是vi的邻居顶点集合,且满足:
N(vi)={vj|(vi,vj)∈E}
其中,di=|N(vi)|,表示顶点的邻居顶点数目。
侧影轮廓线的拉普拉斯形变符合如下线性方程系统:
其中L(·)为树叶簇侧影轮廓线顶点的拉普拉斯邻接矩阵,vj为外层树叶簇侧影轮廓线上顶点笛卡尔坐标,v′i、v′j为形变后的外层树叶簇侧影轮廓线上顶点笛卡尔坐标,δi为vi的微分坐标,C表示外层顶点的集合;
通过最小二乘法求得唯一解,得到变形后的内层树叶簇侧影轮廓线。
在树冠侧影轮廓线发生变后,依据多尺度树叶簇拓扑结构树和内层树叶簇在该视点下侧影轮廓线相对外层树叶簇的侧影轮廓线的均值坐标,使用均值坐标公式不断地更新内层树叶簇的侧影轮廓线,完成树叶簇侧影轮廓线形变的向下传递,该形变一直传递到最内层树叶簇为止。
S1044:依据发生形变的树叶簇侧影轮廓线对树叶簇三维模型进行形变并传递到枝条上,主要步骤为:
S10441:求解原始树叶簇三维模型的余切权值拉普拉斯算子,建立微分坐标方程,将树叶簇三维模型上的顶点从笛卡尔坐标系变换到微分坐标空间。
根据三维树木模型给定树叶簇三维模型,记作M=(V,E,F),其中V为顶点集合,E为树叶簇三维模型边集合,F为面的集合。
该模型上顶点的笛卡尔坐标表示为vi=(xi,yi,zi),关于顶点间相对位置关系的微分坐标,即拉普拉斯坐标,表示为:
其中,δi为顶点vi的微分坐标,ωj是余切权值,N(vi)是vi的邻居顶点集合,且满足N(vi)={vj|(vi,vj)∈E}。
S10442:将树叶簇在该视点下侧影轮廓线上的顶点作为约束点集合,与形变后该轮廓线顶点的新位置一起建立满秩线性方程系统,表达式为:
其中,δi为vi的微分坐标,即余切权值的拉普拉斯坐标,C为约束点集合,vj和v′j分别为形变前和形变后的约束点坐标位置,v′i为形变后树叶簇模型顶点的笛卡尔坐标,L(·)为树叶簇模型顶点的拉普拉斯邻接矩阵,表示为:
由于集合C中约束顶点的顺序不影响变形结果,所以假设集合C中顶点为C={v1,v2,…vm},且变形后的顶点笛卡尔坐标为{v′1,v′2,…v′m},因此,上述线性方程系统可以写作如下形式:
其中,m为约束顶点数目,ω为约束顶点的权值,Im×m为m行m列的单位矩阵,v′1:m是列向量(v′1,v′2,…v′m)T,L为树叶簇模型顶点的拉普拉斯邻接矩阵,δ为vi的微分坐标;
通过最小二乘法求解该线性方程系统:将系数矩阵记为A,列向量记为B,则该线性方程系统可以写作AV=B的形式。通过V=(ATA)-1ATB对该线性方程系统求解。由于顶点的笛卡尔坐标由(x,y,z)三个维度分量构成,因此对三个分量进行求解:
V(x)=(ATA)-1ATB(x)
V(y)=(ATA)-1ATB(y)
V(z)=(ATA)-1ATB(z)
从而得到在该视点下符合形变后侧影轮廓线的新树叶簇模型;
对于所有发生形变的内层树叶簇侧影轮廓线,使用上述算法求解形变后的树叶簇模型,由此实现从树叶簇侧影轮廓线的形变传递到树叶簇三维模型上。
S10443:由于最内层树叶簇直接生长在枝条顶端,因此将其看作是枝条末端的包围网格。当最内层树叶簇发生形变后,通过枝条末端相对于最内层树叶簇的均值坐坐标可以快速计算得出形变后枝条末端的新位置,表达式为:
其中p′和v′j分别是形变后的枝条末端顶点和最内层树叶簇模型M上的顶点,ωj是均值坐标。
S10444:求解枝条三维模型的余切权值拉普拉斯算子,建立微分坐标方程,并将枝条根端点作为不动点,将步骤S10443中求得的枝条末端的新位置作为移动约束点,建立步骤S10442中的线性方程系统,并通过最小二乘法求解得到形变后的枝条;
S10445:由于枝条间的层级关系,当父亲枝条发生形变后,其子枝条也会发生相应的形变,该形变过程与步骤S10444中描述的过程一致。
S105:逐帧记录步骤S1044中树木枝条的变形过程,得到形状保持的树木变形动画,如图4所示。
Claims (9)
1.一种基于草图实现形状保持的树木变形动画方法,其特征在于,包括以下步骤:
(1)创建三维树木模型;
(2)将三维树木模型用骨架和树叶簇的形式表示,包括:
(2.1)分离三维树木模型的树叶和树干,所述树干包括树木的主干部分和枝条部分;
(2.2)提取三维树木模型中树干的骨架;
(2.3)基于人对树木主干结构和树冠整体形状的视觉认知确定三维树木模型中的树冠部分,将树冠部分拆分为由树叶组成的若干个外轮廓几何结构,以树叶簇表示,并用均值坐标表示内层树叶簇侧影轮廓线与外层树叶簇侧影轮廓线的相对位置关系;
(3)选择感兴趣的视角,检测步骤(2)中所述的三维树木模型的树冠侧影轮廓线,基于草图绘制变形动画目标树冠侧影轮廓线,而后将草图映射到三维树木模型的树冠侧影轮廓线上;
(4)将三维树木模型的树冠侧影轮廓线逐渐变形成为变形动画目标树冠侧影轮廓线,并将三维树木模型的树冠侧影轮廓线的形变传递到枝条上,得到平滑的树木变形过程;
具体过程为:利用树木枝条间的层级关系,建立树叶簇的多尺度拓扑结构树,并利用变形传递算法首先将三维树木模型的树冠侧影轮廓线逐渐变形成为变形动画目标树冠侧影轮廓线,然后通过拉普拉斯变形算法将三维树木模型的树冠侧影轮廓线的形变传递到树木枝条上,从而得到平滑的树木变形过程;包括:
(4.1)将外层树叶簇当作内层树叶簇的包围网格,并建立多尺度树叶簇拓扑结构树;
(4.2)根据内层树叶簇侧影轮廓线相对于外层树叶簇侧影轮廓线的均值坐标更新内层树叶簇的侧影轮廓线,依据多尺度树叶簇拓扑结构树,不断地更新内层树叶簇的侧影轮廓线,并将外层树冠侧影轮廓线的形变沿多尺度树叶簇拓扑结构树由外及内逐渐传递到最内层最细尺度的树叶簇为止;
(4.3)依据发生形变的树叶簇侧影轮廓线对树叶簇三维模型进行形变并传递到枝条上;
(5)逐帧记录步骤(4)中的树木变形过程,得到形状保持的树木变形动画。
2.根据权利要求1所述的基于草图实现形状保持的树木变形动画方法,其特征在于,步骤(1)所述的创建三维树木模型采用的方法为:基于真实树木的点云数据重建三维树木模型、基于L-系统由计算机生成虚拟树木模型或者使用三维建模软件自由创建虚拟树木模型。
3.根据权利要求1所述的基于草图实现形状保持的树木变形动画方法,其特征在于,步骤(2.2)中使用拉普拉斯收缩算法提取三维树木模型中树干的骨架:将三维树干的模型顶点沿其法线的逆方向进行收缩,由于树干近似圆柱体的特征,树干横截面上的顶点最终收敛并汇聚成为一个骨架点,将骨架点按照树干的拓扑结构连接起来得到树干的骨架。
4.根据权利要求3所述的基于草图实现形状保持的树木变形动画方法,其特征在于,步骤(2.2)中使用拉普拉斯收缩算法提取的骨架使用球体扫成方法重新恢复成树干的三维模型。
5.根据权利要求1所述的基于草图实现形状保持的树木变形动画方法,其特征在于,步骤(3)中所述的树冠侧影轮廓线为物体空间侧影轮廓线,由三维树木模型上的一系列边构成,这些边的顶点法向量ni和nj与视线方向v满足如下关系:
(ni·v)*(nj·v)=0。
6.根据权利要求1所述的基于草图实现形状保持的树木变形动画方法,其特征在于,步骤(3)中所述的绘制变形动画目标树冠侧影轮廓线采用的方法为:在草图上重绘树冠侧影轮廓线上感兴趣的区域并略微修改现有树冠的形状;重新绘制一个新的草图作为变形动画目标树冠侧影轮廓线。
7.根据权利要求1所述的基于草图实现形状保持的树木变形动画方法,其特征在于,
步骤(4.1)建立多尺度树叶簇拓扑结构树后对处于变形动画目标树冠侧影轮廓线外的枝条进行剪枝;
步骤(4.2)将外层树叶簇侧影轮廓线的变形传递到内层树叶簇侧影轮廓线,并在该过程中调整内层树叶簇的侧影轮廓线,使其尽可能覆盖外层树叶簇侧影轮廓线。
8.根据权利要求7所述的基于草图实现形状保持的树木变形动画方法,其特征在于,所述的步骤(4.1),对处于变形动画目标树冠侧影轮廓线外的枝条进行剪枝,使用Vatti多边形裁剪算法对变形目标树冠侧影轮廓线和原始树冠侧影轮廓线求交,计算该相交区域与原始树冠侧影轮廓线包围区域面积的比率,记为r,基于r判断该树叶簇是否修剪,确定修剪的树叶簇包围的枝条在变形动画中逐渐消亡,得到更自然的变形结果;
所述的步骤(4.2),当外层树叶簇侧影轮廓线发生形变后,利用内层树叶簇侧影轮廓线相对于外层树叶簇侧影轮廓线的均值坐标更新内层树叶簇侧影轮廓线顶点的笛卡尔坐标,然后利用如下公式继续对内层树叶簇进行变形,使其尽可能覆盖外层树叶簇侧影轮廓线:
其中S=(V,E)是内层侧影轮廓线,其中V是顶点集合,E是边集合,vi和vi′分别为形变前后的该树叶簇侧影轮廓线上顶点的笛卡尔坐标,δi为vi的微分坐标,C是该树叶簇与外层侧影轮廓线上局部匹配的顶点集合,vj和v′j分别为集合C中顶点变形前和变形后的内层树叶簇侧影轮廓线上顶点笛卡尔坐标。
9.根据权利要求1或7所述的基于草图实现形状保持的树木变形动画方法,其特征在于,步骤(4.3)的具体过程为:
(4.3.1)求解步骤(2)中的树叶簇的余切权值拉普拉斯算子,并建立微分坐标方程,从而将三维树木模型中树叶簇的顶点从笛卡尔坐标系变换到微分坐标空间;
(4.3.2)将树叶簇在步骤(3)中选定的视角下侧影轮廓线上的顶点作为约束点集合,与形变后该轮廓线顶点的新位置一起建立满秩线性方程系统:
根据三维树木模型给定树叶簇三维模型,记作M=(V,E,F),其中V是顶点集合,E是模型边集合,F是面的集合,则满秩线性方程系统表达式如下:
其中,vj为外层树叶簇侧影轮廓线上顶点,v′j为形变后的外层树叶簇侧影轮廓线上顶点,v′i是变形后树叶簇三维模型上顶点,δi为vi的微分坐标,C表示外层顶点的集合;
通过最小二乘法求解得到在步骤(3)中选定的视角下符合形变后树叶簇侧影轮廓线的新树叶簇三维模型;
(4.3.3)将最内层树叶簇看作是枝条末端的包围网格,由于树冠的形变,通过枝条末端相对于最内层树叶簇的均值坐标计算出形变后枝条末端的新位置;
(4.3.4)求解三维树木模型中枝条的余切权值拉普拉斯算子,建立微分坐标方程,并将枝条根端点作为不动点,将步骤(4.3.3)中求得的枝条末端的新位置作为移动点,建立步骤(4.3.2)的满秩线性方程系统,求解得到形变后的枝条。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810351876.9A CN108717723B (zh) | 2018-04-19 | 2018-04-19 | 一种基于草图实现形状保持的树木变形动画方法 |
US16/618,752 US11217010B2 (en) | 2018-04-19 | 2018-06-14 | Sketch-based shape-preserving tree animation method |
PCT/CN2018/091223 WO2019200683A1 (zh) | 2018-04-19 | 2018-06-14 | 一种基于草图实现形状保持的树木变形动画方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810351876.9A CN108717723B (zh) | 2018-04-19 | 2018-04-19 | 一种基于草图实现形状保持的树木变形动画方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108717723A CN108717723A (zh) | 2018-10-30 |
CN108717723B true CN108717723B (zh) | 2019-06-11 |
Family
ID=63899204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810351876.9A Active CN108717723B (zh) | 2018-04-19 | 2018-04-19 | 一种基于草图实现形状保持的树木变形动画方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11217010B2 (zh) |
CN (1) | CN108717723B (zh) |
WO (1) | WO2019200683A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110176058B (zh) * | 2019-04-25 | 2020-12-11 | 浙江大学 | 一种基于草图和卷积曲面的沉浸式快速建模方法 |
CN111199571A (zh) * | 2019-12-20 | 2020-05-26 | 江苏原力动画制作股份有限公司 | 一种基于连接关系的控制物体变形方法 |
CN111341392B (zh) * | 2020-02-26 | 2023-05-02 | 西安理工大学 | 一种多域物质体数据内部结构特征表达方法 |
CN112132935A (zh) * | 2020-09-22 | 2020-12-25 | 上海米哈游天命科技有限公司 | 模型元素的形变处理、画面渲染方法、装置、设备及介质 |
CN112541460B (zh) * | 2020-12-21 | 2022-05-13 | 山东师范大学 | 一种车辆再识别方法及系统 |
CN112712509B (zh) * | 2020-12-31 | 2023-09-01 | 重庆大学 | 基于点云的树木参数获取方法、生长评估方法、装置及系统 |
CN112381825B (zh) * | 2021-01-13 | 2021-09-03 | 首都医科大学附属北京友谊医院 | 用于病灶区图像几何特征提取的方法和相关产品 |
CN112951056B (zh) * | 2021-02-19 | 2022-07-22 | 武汉市中心医院 | 虚拟模型三维映射装置及方法 |
CN112799517B (zh) * | 2021-02-23 | 2022-08-16 | 中国科学院深圳先进技术研究院 | 基于手势交互的植物建模方法及其植物建模装置、设备 |
CN112991519B (zh) * | 2021-03-16 | 2023-10-31 | 中国林业科学研究院资源信息研究所 | 一种解决林分中针叶树三维模型树冠分枝交叉重叠的方法 |
CN114494586B (zh) * | 2022-01-10 | 2024-03-19 | 南京林业大学 | 晶格投影的深度学习网络阔叶树枝叶分离与骨架重建方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866495B (zh) * | 2010-06-01 | 2012-03-28 | 中国科学院自动化研究所 | 基于骨架点云的树木建模方法 |
CN102289836B (zh) * | 2011-07-25 | 2013-10-16 | 北京农业信息技术研究中心 | 植物动画合成方法 |
KR20140142470A (ko) * | 2013-06-04 | 2014-12-12 | 한국전자통신연구원 | 나무 모델과 숲 모델 생성 방법 및 장치 |
CN103914869B (zh) * | 2014-02-26 | 2017-02-22 | 浙江工业大学 | 支持骨架个性化编辑的轻量化三维树木模型构建方法 |
CN104392484B (zh) * | 2014-11-13 | 2017-12-12 | 中国科学院深圳先进技术研究院 | 一种三维树木建模方法及装置 |
-
2018
- 2018-04-19 CN CN201810351876.9A patent/CN108717723B/zh active Active
- 2018-06-14 US US16/618,752 patent/US11217010B2/en active Active
- 2018-06-14 WO PCT/CN2018/091223 patent/WO2019200683A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20200160596A1 (en) | 2020-05-21 |
WO2019200683A1 (zh) | 2019-10-24 |
CN108717723A (zh) | 2018-10-30 |
US11217010B2 (en) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108717723B (zh) | 一种基于草图实现形状保持的树木变形动画方法 | |
Longay et al. | TreeSketch: Interactive Procedural Modeling of Trees on a Tablet. | |
CN103366068B (zh) | 虚拟园林植被景观交互式设计方法 | |
CN108629834B (zh) | 一种基于单张图片的三维头发重建方法 | |
Xie et al. | Tree modeling with real tree-parts examples | |
CN100570641C (zh) | 基于物理的植物叶子模拟方法 | |
US9367944B2 (en) | Tree model and forest model generating method and apparatus | |
CA2772530C (en) | Hair meshes | |
TW200945253A (en) | Geospatial modeling system providing simulated tree trunks and branches for groups of tree crown vegetation points and related methods | |
CN105261062B (zh) | 一种人物分段建模方法 | |
CN105205861A (zh) | 基于Sphere-Board的树木三维可视化模型实现方法 | |
Zhang et al. | [Retracted] Virtual Reality Design and Realization of Interactive Garden Landscape | |
Li-Xin | The application of virtual reality technology to digital tourism systems | |
Zhang et al. | Mid-air finger sketching for tree modeling | |
Thiel et al. | Interaction and locomotion techniques for the exploration of massive 3D point clouds in VR environments | |
KR101295063B1 (ko) | 사실적인 실시간 모델링 시스템 및 방법 | |
Favorskaya et al. | Realistic tree modelling | |
Fuhrmann | Hanging Gardens: A City Crown for Halle by Walter Gropius in Virtual Reality | |
US11783516B2 (en) | Method for controlling digital feather generations through a user interface in a computer modeling system | |
Li | Creating for 3D digital Chinese ink-wash landscape paintings based on Maya | |
Wang et al. | Flower Factory: A Component-based Approach for Rapid Flower Modeling | |
Petrasova et al. | Real-Time 3D Rendering and Immersion | |
Petrenko | Simulation of flowering plants | |
Liu et al. | Approach for 3d reconstructing bonsai plant | |
Van Nguyen et al. | A Solution for Building a V-Museum Based on Virtual Reality Application |
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 |