CN111191169B - 面向网页端的大规模植物群落轻量级建模及可视化方法 - Google Patents
面向网页端的大规模植物群落轻量级建模及可视化方法 Download PDFInfo
- Publication number
- CN111191169B CN111191169B CN201911397963.9A CN201911397963A CN111191169B CN 111191169 B CN111191169 B CN 111191169B CN 201911397963 A CN201911397963 A CN 201911397963A CN 111191169 B CN111191169 B CN 111191169B
- Authority
- CN
- China
- Prior art keywords
- plant
- branch
- branches
- skeleton
- data
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种面向网页端的大规模植物群落轻量级建模及可视化方法,以少量植物数据作为原始输入,提过骨架提取法将植物模型以骨架化进行表示,并将其分割为不同的枝干集合,形成原始枝干组件库,其次,通过添加虚拟枝干的方式统一植物模型的几何拓扑结构,构建得到相应的植物形状空间,通过形状空间中对植物模型的多重形状插值或统计分析建模,可生成多个的新的植物模型样本数据,之后,将新的植物模型样本数据与原始枝干组件库中的相应枝干进行相似度匹配,替换相似支杆,保留差异支杆,获得最终植物模型数据;将最终植物模型数据以骨架表示方式转为轻量级植物数据,网页端接收所述轻量级植物数据进行渲染,实现大规模植物群落的网页可视化。
Description
技术领域
本发明涉及三维建模与渲染技术领域,特别是涉及一种面向网页端的大规模植物群落轻量级建模及可视化方法。
背景技术
如何以真实、轻量级和实时的方式实现大规模植物场景的可视化一直是Web3D应用中的一个重要问题。无论是在游戏还是在动画中,大规模植物场景的渲染十分普遍。目前。在计算机图形学、计算机视觉和植物科学等不同领域对三维植物建模进行了研究。根据各种建模目标,目前的三维植物建模技术可分为两类:数据驱动的现实植物建模和计算机虚拟植物建模。
大规模森林场景要求多样性,几乎每个树木都不完全相同,无法用复制来实现大规模场景,但是将每个不同的模型存储到数据库中又会给数据传输增加太大压力。基于规则和草图的植物建模方式虽然成本低,但真实性差,模型质量较低。基于图像的植物建模方式虽然真实性高,模型精准,但容易受到噪音的干扰。基于点云的植物建模方式模型质量高,但构建模型的成本很大,建模时间长。为克服现有技术存在的缺陷,本发明提出了一种高效、逼真、低网络带宽、自然性、多样性和轻量级的解决方案,用于Web浏览器上大规模植物场景的即时Web3D可视化。
发明内容
本发明的目的是提供一种面向网页端的大规模植物群落轻量级建模及可视化方法利用植物形状空间、轻量级建模等方式来适应互联网上的即时传输和无需任何插件安装的Web浏览器上的快速渲染。
为实现上述目的,本发明提供了如下方案:
一种面向网页端的大规模植物群落轻量级建模及可视化方法,该方法包括以下步骤:
S1,服务器端采用过渡算法将植物模型进行轻量化处理,获得轻量级植物数据;
S2,网页端接收所述轻量级植物数据进行渲染,实现大规模植物群落的网页可视化;
其中,所述步骤S1包括:
S101,输入至少两个植物模型,对植物模型进行骨架提取,将植物模型以骨架化进行表示,并将其分割为不同的枝干集合,形成原始枝干组件库;
S102,通过添加虚拟枝干的方式统一植物模型的几何拓扑结构,构建得到相应的植物形状空间;
S103,在植物形状空间中,进行统计分析生成多个新的植物模型样本数据;
S104,将新的植物模型样本数据与原始枝干组件库中的相应枝干进行相似度匹配,替换相似支杆,保留差异支杆,获得最终植物模型数据;
S105,将最终植物模型数据以骨架表示方式转为轻量级植物数据。
可选的,所述步骤S102,通过添加虚拟枝干的方式统一植物模型的几何拓扑结构,构建得到相应的植物形状空间,具体包括:
以树木层次信息作为约束,建立层次结构,对于两个枝干数目不同的植物模型,其中通过引入零枝干,使得两个植物模型中每层枝干数目达到一致,将层次结构转换为拓扑结构,一个拓扑结构代表了一棵树,并且拓扑结构中的每个点代表一个植物形状,构成植物形状空间。
可选的,所述步骤S103,在植物形状空间中,进行统计分析生成多个新的植物模型样本数据,具体包括:
获得两个植物模型的拓扑结构,之后从这两个植物模型遍历每一个枝干,通过过渡算法,得到这两个枝干的中间枝干;
获得两个植物模型的中间枝干集合,利用所述步骤S102的逆方法获得中间枝干集合构成的层次结构,最终获得一棵同种异态的植物,得到新的植物模型样本数据。
可选的,所述步骤S104,将新的植物模型样本数据与原始枝干组件库中的相应枝干进行相似度匹配,替换相似支杆,保留差异支杆,获得最终植物模型数据,具体包括:
将新的植物模型样本数据中的支杆与原始枝干组件库中的相应枝干进行相似度匹配,若相似度达到设定阈值,则直接用原始枝干组件库中的相应枝干替代新的植物模型样本数据中的支杆,若相似度未达到设定阈值,则仍然使用新的植物模型样本数据中的支杆,得到最终植物模型数据。
可选的,所述将新的植物模型样本数据与原始枝干组件库中的相应枝干进行相似度匹配,具体包括:
将过渡算法的中间枝干与原始枝干组件库中的枝干的每个骨架点进行比较,计算出各个对应骨架点之间位置的差值,再将该差值的平均值与相似度阈值进行比较。
根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供的面向网页端的大规模植物群落轻量级建模及可视化方法,首先,使用从用户上传的植物模型文件中提取出植物骨架,然后,利用植物空间理论获得过新的植物模型数据,进而生成大规模植物群落数据。所提出的轻量级植物数据可以通过互联网进行大规模的大规模植物群落数据传输,并在浏览器中即时呈现。本申请中的方法可快速生成大规模植物群落,实现大规模植物群落的轻量化构建;此外,植物模型骨架化表示使得植物模型可以文本数据方式简洁地存储至数据库中,节省内存并提高数据传输速度,实现了数据模型的轻量级存储与传输;最后基于原始枝干组件库的相似度匹配方式也使得客户端的批量化渲染成为可能,可实现大规模植物群落的轻量化可视化,大大提高渲染效率,增强了用户的主观体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的面向网页端的大规模植物群落轻量级建模及可视化方法工作流程图;
图2为本发明具体实施过程中的技术路线图;
图3为植物模型的轻量化存储数据图;
图4为本发明的大规模植物群落建模结果以及在网页端可视化的结果。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种面向网页端的大规模植物群落轻量级建模及可视化方法利用植物形状空间、轻量级建模等方式来适应互联网上的即时传输和无需任何插件安装的Web浏览器上的快速渲染。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1-3所示,本发明提供的面向网页端的大规模植物群落轻量级建模及可视化方法,该方法包括以下步骤:
S1,服务器端采用过渡算法将植物模型进行轻量化处理,获得轻量级植物数据;
S2,网页端接收所述轻量级植物数据进行渲染,实现大规模植物群落的网页可视化;
其中,所述步骤S1包括:
S101,输入至少两个植物模型,对植物模型进行骨架提取,将植物模型以骨架化进行表示,并将其分割为不同的枝干集合,形成原始枝干组件库;
S102,通过添加虚拟枝干的方式统一植物模型的几何拓扑结构,构建得到相应的植物形状空间;
S103,在植物形状空间中,进行统计分析生成多个新的植物模型样本数据;
S104,将新的植物模型样本数据与原始枝干组件库中的相应枝干进行相似度匹配,替换相似支杆,保留差异支杆,获得最终植物模型数据;
S105,将最终植物模型数据以骨架表示方式转为轻量级植物数据。
其中,所述步骤S102,通过添加虚拟枝干的方式统一植物模型的几何拓扑结构,构建得到相应的植物形状空间,具体包括:
以树木层次信息作为约束,建立层次结构,对于两个枝干数目不同的植物模型,其中通过引入零枝干,使得两个植物模型中每层枝干数目达到一致,将层次结构转换为拓扑结构,一个拓扑结构代表了一棵树,并且拓扑结构中的每个点代表一个植物形状,构成植物形状空间。
其中,所述步骤S103,在植物形状空间中,进行统计分析生成多个新的植物模型样本数据,具体包括:
获得两个植物模型的拓扑结构,之后从这两个植物模型遍历每一个枝干,通过过渡算法,得到这两个枝干的中间枝干;
获得两个植物模型的中间枝干集合,利用所述步骤S102的逆方法获得中间枝干集合构成的层次结构,最终获得一棵同种异态的植物,得到新的植物模型样本数据。
其中,所述步骤S104,将新的植物模型样本数据与原始枝干组件库中的相应枝干进行相似度匹配,替换相似支杆,保留差异支杆,获得最终植物模型数据,具体包括:
将新的植物模型样本数据中的支杆与原始枝干组件库中的相应枝干进行相似度匹配,若相似度达到设定阈值,则直接用原始枝干组件库中的相应枝干替代新的植物模型样本数据中的支杆,若相似度未达到设定阈值,则仍然使用新的植物模型样本数据中的支杆,得到最终植物模型数据。
其中,所述将新的植物模型样本数据与原始枝干组件库中的相应枝干进行相似度匹配,具体包括:
将过渡算法的中间枝干与原始枝干组件库中的枝干的每个骨架点进行比较,计算出各个对应骨架点之间位置的差值,再将该差值的平均值与相似度阈值进行比较。
实现上述方法需要具备三方面的要求:
第一,自然性:对于WebVR来说,自然性一直是一个大问题,为了显示出更逼真的效果,实验模型均是OBJ模型通过算法解析成为txt文件,txt文件中保留了植物骨架的重要信息,借此可以实现对骨架的还原和修改,来达到更真实的效果;
第二,多样性:植物模型的数量有限,若想通过数量较少的模型来实现大规模植物场景,则可以通过该系统中的植物空间理论,通过上传两个或两个以上的植物模型文件,算法将计算出与这些植物模型文件同种异态的植物骨架,借此实现多样性的植物群落;
第三,轻量化:建模轻量化,通过算法从比较大的OBJ模型中提取出骨架的关键信息并存储到txt文件当中,使文件大小大大降低,并且通过txt还原的模型与原OBJ模型完全一致。存储轻量化,用以实现大规模植物群落的所有植物数据均以文本形式存储在数据库中,大大提升了传输速度。
本申请中,骨架化进行表示,得到了将obj模型转变为txt文件格式的方法。该方法的核心是,通过分析obj模型,来提取其骨架。该方法得到的txt文件后缀名为txtskl,即obj模型文件格式对应的txt文件格式的骨架文件。首先从obj文件格式到txt文件格式大大缩小了文件大小。同时,在转换为txt文件格式时,剔除了很多模型信息,包括几何信息、材质信息、三角面信息等等。最终得到的txt文件格式里只有一些数据和骨架点信息。如图3所示,在txtskl文件的开头,第一行数据代表了该树木模型的层级数,第二行数据代表了某一层,Layer0代表第0层,即该树木第0层的信息。下一行代表该层次树木的枝干数,Layer0代表的是主干层,主干层仅有一个主枝干,因此为1。下一行有两个数据,代表了当前枝干长在上一层第几号枝干的第几个骨架点位置,图3代表当前枝干长在上一层的第三个枝干的第三个骨架点上。下一行的一个数字代表当前枝干的长度,37即由37个骨架点构成。从这之后的每一行都会有四个数据,代表每个骨架点的x、y、z坐标和骨架点的半径,是生成枝干的重要数据。
综上所述,不仅从obj文件格式到txt文件格式的转换缩小了模型文件的大小,同时删除了冗余的信息,并且用简单的数据来表达重要信息,使模型的建立更加轻量化。
枝干重用算法和基本枝干集:
为了实现基于重用的轻量级植物/树木建模算法,本申请引入原始枝干组件库的概念。原始枝干组件库通过降低画面中的数据量来实现轻量级建模。原始枝干组件库包括上传的树木模型中的所有枝干,这些枝干在形状和长度上各不相同。原始枝干组件库中的枝干包括的参数有每个枝干的长度、半径、垂直角度和水平角度。
原始枝干组件库在以重用为基础的轻量级建模中起到重要的作用。在执行过渡算法时,每一次算法生成的结果会与原始枝干组件库中的枝干进行相似度匹配。相似度匹配的过程是将过渡算法的结果过渡枝干与原始枝干组件库中的枝干的每个骨架点进行比较,计算出各个对应骨架点之间位置的差值,再将该差值的平均值与相似度阈值进行比较,若平均值小于阈值,这证明这两个枝干是相似的,可以用原始枝干组件库中的枝干来替代过渡算法的结果过渡枝干,若平均值大于阈值,则证明这两个枝干不相似,此时原始枝干组件库中的枝干没有作用。
轻量级存储方式即分段式圆台表示法:
在获得用户上传的数据模型并计算过渡算法结果后,需要将结果存储到数据库当中。以往的大规模森林场景渲染通常是将3D模型存储到了数据库当中,3D模型文件非常大,数据库中无法存储过多3D模型,并且大文件往往导致数据库的读写非常缓慢,因此常用的做法是在数据库中存储少量的3D模型,大量复制这些模型来实现大规模场景。
但是本申请要实现的大规模森林场景要求多样性,几乎每个树木都不完全相同,无法用复制来实现大规模场景,但是将每个不同的模型存储到数据库中又会给数据传输增加太大压力。因此借用了轻量级建模的思路,本申请实现了轻量级存储。通过采用相关数据库技术,只存储简单字符串的方式,使得原始包含复杂信息的三维模型文件的信息量得到了大幅度的缩减。
植物群落景观建模:
实施例一,乔木建模:
乔木建模最重要的环节应当是骨架抽取,骨架抽取越精准,乔木模型的自然性和真实性越高。基于规则和草图的植物建模方式虽然成本低,但真实性差,模型质量较低。基于图像的植物建模方式虽然真实性高,模型精准,但容易受到噪音的干扰。基于点云的植物建模方式模型质量高,但构建模型的成本很大,建模时间长。通过以上建模方式的分析,提出了一种新的乔木建模方式,利用骨架点和圆台拼接来形成乔木骨架。
轻量级建模多次提及骨架点信息,骨架点在乔木建模中是非常重要的特征点,是构建骨架的重要信息。本申请第三章轻量级建模提到,在通过obj模型转变为txt文本格式的过程中,提取出了该植物的骨架点位置信息以及半径信息。
在得到骨架点信息后需要对骨架点进行分类整理,即一个枝干上的骨架归为一类。通过这样的归类整理,能够得到多个枝干类,每个枝干类下有多个骨架点信息。同时对枝干类进行归类整理,在相同层级的枝干属于同一类,因此可以见一个树木模型分为多个层级类,每个层级类下有多个枝干。层级类分类整理后植物模型,第一层一般为单棵主枝干,该层只有主枝干一棵枝干,第二层为生长在第一层主枝干上的枝干,第三层为生长在第二层枝干上的枝干,依次类推。
至此已经得到了分类整理后的骨架点信息,但是依靠这些信息还不足以生成一个完整的骨架,还需要信息标识各个相邻枝干之间的关系,相邻枝干长在某个枝干的何处。因此需要遍历每个层级的枝干,找出每个枝干的生长点,即每个枝干最开始的骨架点。
在得到以上所有信息后,每棵枝干的长度、半径、生长位置、层级以及位置都已明确。通过以上过程,实现了植物模型向txt文本格式的转换,同时保留了乔木模型骨架的重要信息,接下来则是将这些骨架点信息还原成乔木模型。使用圆台拼接乔木枝干是常见的处理方法,而圆台的重要特征信息则是由骨架点信息构成。在得到一个个骨架点的位置和半径后,以骨架点为圆心,以骨架点的半径为圆环半径,可以得到一个圆环,多个骨架点构成的枝干形成了多个圆环,每个圆环的圆心为骨架点,圆心的方向即枝干的生长方向,多个圆环构成了一个圆环序列,该圆环序列则构成了枝干的雏形。
在得到圆环序列后,需要用同一枝干上相邻的两个圆环组成一个圆台。每个圆环既是上个圆台的上底面,也是下个圆台的下底面,同时在圆台的上下底面分段,在上下底面取多个点之后连接,构成一个三角形,通过该方法来绘制枝干,通过圆台拼接和三角形的绘制得到该枝干后,通过增添纹理,就可以还原乔木模型。
植物形状空间生成新的植物数据算法:
在已有的乔木建模基础上,为了实现大规模建模,本申请引入了植物形状空间概念,可快速实现两个植物模型之间的过渡。该过渡算法是通过输入两棵基样例植物生成指定规模的植物群落,该植物群落由过渡植物构成,是同种异态的植物群落。该算法有效的降低了画面中的数据量,实现了轻量级建模。该算法可以有多个输入,也可以仅仅通过两个模型来构建植物群落。
过渡算法具体步骤如下:
枝干预处理:
枝干的预处理方式决定了过渡算法结果的精准度。实际上,过渡算法的本质是计算两棵基样例枝干的过渡枝干,通过遍历的方式计算完所有枝干后,将这些过渡算法的结果过渡枝干按照现有的植物结构结合起来,就构成了一棵完整的过渡乔木。
首先从输入的两棵基样例树木提取出他们的骨架信息,通过提取算法,能够得到两棵基样例树木的层级结构。层级结构缺少一部分信息,如枝干在上一层枝干的生长位置,因此我们再将其转换为拓扑结构,拓扑结构中的每个节点代表了一个骨架点,分别长在了第一层枝干上的指定节点位置,以此类推,第三层节点生长在了第二层枝干的指定位置上,构成了一个乔木的拓扑结构。在得到拓扑结构后,同时也得到了两棵乔木的生长规则,即相邻枝干之间的生长位置,这对过渡乔木的生成非常重要。从这两个拓扑结构中遍历每一个对应枝干,将每个对应枝干作为过渡算法的输入,从而能够得到过渡枝干。
在生成乔木的骨架结构中还有两步重要的枝干预处理:添加零枝干和紧凑化处理。
现实环境中的乔木与人一样,几乎不能找到两棵骨架完全相同的乔木,而过渡算法的每次输入两棵过渡枝干,这就要去了输入的基样例树木骨架特征相同,即枝干数和层级结构要相同,否则无法实现对应枝干的过渡。为了解决这个问题,需要给枝干添加零枝干。零枝干代表长度为零的枝干,它的作用是为了实现两个不同层级结构的对应。为了解决包含不同枝干的子树对应问题,本专利中是在子树主干相同的生长位置插入必要的零枝干,达到两个子树的枝干数量一致。零枝干添加后,进行两棵子树之间过渡时,零枝干对应的枝干在视觉效果上越变越小,直至消失。
紧凑化处理是拓扑结构生成过程中的一个骨架调节方式,由于一些原始模型不够精准,往往会导致枝干飞离骨架的现象,在紧凑化处理之前,已经得到了对应的拓扑结构,因此对于每棵枝干的生长位置也已经记录在了骨架点信息内。将飞离的枝干的起始骨架点位置固定到上一层枝干的生长骨架点,使两个骨架点重合,借此实现紧凑化处理,实际上也是让两个骨架点的位置完全一致。
基于重用的过渡算法:
在通过枝干预处理得到处理后的枝干后,需要对两棵枝干执行过渡计算。
本申请的过渡算法结合了重用算法,输入是两个枝干。如果过渡算法的输入具有一个零枝干,则输出将是另一个枝干的一半。如果过渡算法的输入是两个完整的枝干,则该算法将计算每个对应骨架点的位置和半径。在计算中,必须首先获得两个枝干的骨架点信息。然后计算相应骨架点之间的中点,中点半径将是相应骨架点半径之和除以2。最后,将得到一个包含每个骨架点的坐标和半径的圆环序列。该圆环序列就是过渡枝干。
针对树木/植物形状空间由及样本过渡生成的树木/植物,将其生成枝干与基本枝干集中的枝干逐一匹配,从其中选取与其最佳匹配的基本枝干代替它,如此所有由树木/植物形状空间过渡生成的树木/植物枝干均重用基本枝干集的枝干单元,这样就保证了本申请大规模树木/植物群落景观的轻量性,往往规模越大,数据量就显得越小。
实施例二,灌木群落景观建模
灌木的生长特性与乔木不同,但相比于草本植物和农作物,灌木和乔木之间具有更多的特性,因此本申请提供了另一种灌木建模方式,由乔木到灌木的转变,通过这样的方式,不仅能提供大量的灌木模型,也实现了更加真实性的灌木景观。
对于灌木和乔木的差异,乔木转灌木的过程中主要有以下四点:
第一,主干要尽可能变小,这是灌木和乔木的一大差别,乔木的主干粗壮且枝干的生长节点高,而灌木的枝干生长节点点低,甚至无法分辨主干,因此第一步是将乔木的主干缩小,可以缩小到肉眼难以分辨,也可以缩小至一半左右;
第二,灌木侧枝更少,灌木由于生长矮小,侧枝相对较少,因此在这个过程中要减少侧枝数量;
第三,灌木侧枝的方向多是斜向上的,在这个过程需要将乔木子枝干的方向向上倾斜;
第四,从叶子的角度上来说,俯视灌木的时候几乎看不到枝干,从侧面观察时,则能看到枝干,即灌木的叶子多集中在顶部。
灌木转乔木算法的具体步骤如下:
为乔木的每一棵枝干打上标签,以判断其为主干或是侧枝;
主干骨架点的位置和半径信息按一定参数进行缩小,尤其是主干骨架点的y坐标,减小y坐标来减低其高度;
侧枝缩小的比例小于主干;
对侧枝进行剪枝操作,由于灌木侧枝较少,需要对最上一层的枝干进行剪枝处理;
修改侧枝骨架点的坐标位置,使其生长方向斜向上;
为灌木增添更多的叶子。
实施例三,农作物群落景观与草本植物景观建模
与乔木灌木大不相同,农作物与草本植物之间差异太大,从叶片到花朵不同草本植物各不相同,而草本植物与其它三类植物相比非常矮小,几乎没有骨架,因此也不适用于过渡算法。目前最常见的草本植物建模方式是使用贴图来替代模型,原因一是在于,贴图比模型更小,占用内存和渲染的压力也更小,另一个原因是,草本植物在森林场景中大量出现,数量级最大,但是非常矮小,不易观察到,因此采用贴图是最理想的建模方式。
既然采用了贴图的建模方式,就难以避免观察到“面片”,左边的花几乎成面片的状态,而右边的花可以看到完整的模型。为了解决该问题,针对贴图模型引入了广告牌技术。
广告牌技术,指的是观察者无论从任何角度观察该模型,模型都永远面向观察者,这是图形学领域中一种绘制方式,这种方式在场景浏览、游戏中普遍存在,开发者不必渲染复杂的三维模型,而只需加入一张二维贴图并使用广告牌技术,便可以大大减轻渲染的时间和内存的消耗,该方法可以大大提高界面的流畅性。
树木/植物群落景观的传输机制:
从服务器到网页客户端传输的数据只有每颗过渡生成的树木/植物的参数集与基本重用枝干集。具体文件格式如图2中所示。
网页端的批量化渲染和克隆:
基于植物形状空间与枝干重用的过渡算法得到过渡植物的数量还不足以构成森林群落,在具体的实验中,建模时间有时会达到5s,甚至更长,原因在于为了生成大规模森林景观,需要过渡算法计算2000次来得到2000株植物,虽然已经采用了轻量级建模,但2000株植物模型依然是很大的数据量,会占用大量的内存,导致界面不够流畅,同时2000株植物都是同种异态的,形态上差异并不是很大。为了解决该问题,采用复制的方式,将过渡算法的结果复制上百棵,再对这上百棵树木进行形态上的调整,这样不仅缩短了建模时间,也减小了模型总量的数据量。
为了实现复制的功能,本申请使用了批量化渲染和克隆,相关的可视化渲染结果如图4所示。
本发明提供的面向网页端的大规模植物群落轻量级建模及可视化方法中,网上大规模植物群落平台的输入为植物模型,植物模型的数量不限,但由于是靠输入模型来获得大规模植物群落,上传的模型数量越多,植物群落多样性越高。植物模型包括各种乔木和灌木,文件格式限于具有特殊格式的txt文本申请件。为了实现该平台的泛用性,实现了obj模型文件向txt文本申请件格式的转换,而且还缩小了文件的大小。为了获得大规模植物群落,需要使用过渡算法来针对所有上传的植物模型。而过渡算法每次的输入为两个植物模型,首先提取其骨架,其次将它们分割为不同的枝干集合,并转换为层次结构。紧接着,再将层次结构转换为拓扑结构,一个拓扑结构代表了一棵树,并且拓扑结构中的每个点代表圆环序列中的一个节点。通过以上的步骤,能够获得两个植物模型的拓扑结构,之后从这两个植物模型遍历每一个枝干,通过过渡算法,能够得到这两个枝干的中间枝干,其次,我们对该中间枝干与原始枝干组件库中的枝干进行相似度匹配,若相似度达到阈值,则直接用原始枝干组件库中对应的枝干替代中间枝干,若未达到,则仍然使用中间枝干。通过以上步骤,能够获得两个植物模型的中间枝干集合,利用前一步的逆方法能够获得中间枝干集合构成的层次结构,最终获得一棵同种异态的树木。通过该方法,能够快速获得一片大规模植物群落,且保证了其自然性与多样性.。
本发明的面向网页端的大规模植物群落轻量级建模及可视化方法达到了如下效果:
规模化:它使得植物建模达到了规模化可以很容易生成任意一排/一片形态类似过渡自然的多棵树/植物群落;
多样性:也使得所生成的树木/植物群落呈现多样化形态,即任意两颗树木/植物在形态上都是不同的,这样就避免了当今3D/VR/游戏场景中为了轻量化而采用整棵/植物树木重用而带来的同质化;
真实性:群落中的所有树木/植物均由基树木/植物样本自然过渡而生成,形态看上去均比较真实。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本申请中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (2)
1.一种面向网页端的大规模植物群落轻量级建模及可视化方法,其特征在于,包括以下步骤:
S1,服务器端采用过渡算法将植物模型进行轻量化处理,获得轻量级植物数据;
S2,网页端接收所述轻量级植物数据进行渲染,实现大规模植物群落的网页可视化;其中,使用批量化渲染和克隆,即采用复制的方式,将过渡算法的结果复制上百棵,再对这上百棵树木进行形态上的调整;
其中,所述步骤S1包括:
S101,输入至少两个植物模型,对植物模型进行骨架提取,将植物模型以骨架化进行表示,并将其分割为不同的枝干集合,形成原始枝干组件库;将植物模型以骨架化进行表示,具体包括:在通过obj模型转变为txt文本格式的过程中,提取出植物的骨架点位置信息以及半径信息,在得到骨架点信息后需要对骨架点进行分类整理,即一个枝干上的骨架归为一类,通过这样的归类整理,能够得到多个枝干类,每个枝干类下有多个骨架点信息,同时对枝干类进行归类整理,在相同层级的枝干属于同一类,因此可以见一个树木模型分为多个层级类,每个层级类下有多个枝干;层级类分类整理后植物模型,第一层一般为单棵主枝干,该层只有主枝干一棵枝干,第二层为生长在第一层主枝干上的枝干,第三层为生长在第二层枝干上的枝干,依次类推;至此已经得到了分类整理后的骨架点信息,但是依靠这些信息还不足以生成一个完整的骨架,还需要信息标识各个相邻枝干之间的关系,相邻枝干长在某个枝干的何处,因此需要遍历每个层级的枝干,找出每个枝干的生长点,即每个枝干最开始的骨架点;
S102,通过添加虚拟枝干的方式统一植物模型的几何拓扑结构,构建得到相应的植物形状空间;具体包括:
以树木层次信息作为约束,建立层次结构,对于两个枝干数目不同的植物模型,其中通过引入零枝干,使得两个植物模型中每层枝干数目达到一致,将层次结构转换为拓扑结构,一个拓扑结构代表了一棵树,并且拓扑结构中的每个点代表一个植物形状,构成植物形状空间;
S103,在植物形状空间中,进行统计分析生成多个新的植物模型样本数据;具体包括:
获得两个植物模型的拓扑结构,之后从这两个植物模型遍历每一个枝干,通过过渡算法,得到这两个枝干的中间枝干;过渡算法结合了重用算法,输入是两个枝干,如果过渡算法的输入具有一个零枝干,则输出将是另一个枝干的一半,如果过渡算法的输入是两个完整的枝干,则该算法将计算每个对应骨架点的位置和半径,在计算中,必须首先获得两个枝干的骨架点信息,然后计算相应骨架点之间的中点,中点半径将是相应骨架点半径之和除以2,最后,将得到一个包含每个骨架点的坐标和半径的圆环序列,该圆环序列就是中间支杆;
获得两个植物模型的中间枝干集合,利用所述步骤S102的逆方法获得中间枝干集合构成的层次结构,最终获得一棵同种异态的植物,得到新的植物模型样本数据;
S104,将新的植物模型样本数据与原始枝干组件库中的相应枝干进行相似度匹配,替换相似支杆,保留差异支杆,获得最终植物模型数据;具体包括:
将新的植物模型样本数据中的支杆与原始枝干组件库中的相应枝干进行相似度匹配,若相似度达到设定阈值,则直接用原始枝干组件库中的相应枝干替代新的植物模型样本数据中的支杆,若相似度未达到设定阈值,则仍然使用新的植物模型样本数据中的支杆,得到最终植物模型数据;
S105,将最终植物模型数据以骨架表示方式转为轻量级植物数据。
2.根据权利要求1所述的面向网页端的大规模植物群落轻量级建模及可视化方法,其特征在于,所述将新的植物模型样本数据与原始枝干组件库中的相应枝干进行相似度匹配,具体包括:
将过渡算法的中间枝干与原始枝干组件库中的枝干的每个骨架点进行比较,计算出各个对应骨架点之间位置的差值,再将该差值的平均值与相似度阈值进行比较。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911397963.9A CN111191169B (zh) | 2019-12-30 | 2019-12-30 | 面向网页端的大规模植物群落轻量级建模及可视化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911397963.9A CN111191169B (zh) | 2019-12-30 | 2019-12-30 | 面向网页端的大规模植物群落轻量级建模及可视化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111191169A CN111191169A (zh) | 2020-05-22 |
CN111191169B true CN111191169B (zh) | 2021-12-07 |
Family
ID=70709718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911397963.9A Active CN111191169B (zh) | 2019-12-30 | 2019-12-30 | 面向网页端的大规模植物群落轻量级建模及可视化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111191169B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646421A (zh) * | 2013-12-13 | 2014-03-19 | 贾金原 | 基于增强型PyrLK光流法的树木轻量化3D重建方法 |
CN103914869A (zh) * | 2014-02-26 | 2014-07-09 | 浙江工业大学 | 支持骨架个性化编辑的轻量化三维树木模型构建方法 |
CN106780722A (zh) * | 2016-12-05 | 2017-05-31 | 同济大学 | 一种同种异态森林场景构建方法及系统 |
CN110136246A (zh) * | 2019-05-15 | 2019-08-16 | 南京林业大学 | 基于类主干点的三维树木几何模型重建方法 |
-
2019
- 2019-12-30 CN CN201911397963.9A patent/CN111191169B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646421A (zh) * | 2013-12-13 | 2014-03-19 | 贾金原 | 基于增强型PyrLK光流法的树木轻量化3D重建方法 |
CN103914869A (zh) * | 2014-02-26 | 2014-07-09 | 浙江工业大学 | 支持骨架个性化编辑的轻量化三维树木模型构建方法 |
CN106780722A (zh) * | 2016-12-05 | 2017-05-31 | 同济大学 | 一种同种异态森林场景构建方法及系统 |
CN110136246A (zh) * | 2019-05-15 | 2019-08-16 | 南京林业大学 | 基于类主干点的三维树木几何模型重建方法 |
Non-Patent Citations (3)
Title |
---|
Image-based lighweigh tree modeling;Ruoxi Sun等;《 https://www.researchgate.net/publication/216338870》;20090131;第17-22页 * |
Rule and Reuse Based Lightweight Modeling and Real Time Web3D Rendering of Forest Scenes;Guan Wang等;《the 23rd International ACM Conference》;20180618;摘要,正文第3-4节 * |
The Shape Space of 3D Botanical Tree Models;GUAN WANG等;《ACM Transactions on Graphics》;20180131;第1-4节 * |
Also Published As
Publication number | Publication date |
---|---|
CN111191169A (zh) | 2020-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xie et al. | Tree modeling with real tree-parts examples | |
CN101751694B (zh) | 一种对复杂叶片的快速简化和绘制方法 | |
Lim et al. | Three-dimensional visualization forest of landscapes by VRML | |
CN103871100B (zh) | 基于点云与数据驱动的树木模型重建方法 | |
Zhang et al. | Data-driven synthetic modeling of trees | |
CN110134724A (zh) | 一种建筑信息模型的数据智能提取与显示系统及方法 | |
TW200945253A (en) | Geospatial modeling system providing simulated tree trunks and branches for groups of tree crown vegetation points and related methods | |
CN101119485A (zh) | 一种基于特征保留的三维模型递进传输方法 | |
CN111617485B (zh) | 一种虚拟地形场景的制作方法及装置 | |
CN110322497A (zh) | 一种基于三维可视化的交互式点云对象提取方法 | |
CN115423931B (zh) | 一种基于点体素的实景树木三维模型重建方法 | |
CN115661404A (zh) | 一种多细粒度树木实景参数化建模方法 | |
CN103021012A (zh) | 结合静态结构利用计算机绘制动态3d植物的方法 | |
CN104866549B (zh) | 一种适于多智能体仿真的地形环境数据库系统 | |
CN111191169B (zh) | 面向网页端的大规模植物群落轻量级建模及可视化方法 | |
CN109102565A (zh) | 一种自动生成虚拟地形的方法 | |
Deng et al. | Multiresolution foliage for forest rendering | |
Wang et al. | Creative virtual tree modeling through hierarchical topology-preserving blending | |
CN106780722B (zh) | 一种同种异态森林场景构建方法及系统 | |
Ling et al. | [Retracted] Computer 3D Scene Simulation of Ecological Landscape Layout Planning | |
Favorskaya et al. | Tree modelling in virtual reality environment | |
CN114332376B (zh) | 一种基于拓扑结构流形空间的树状三维模型重建方法 | |
KR20130073523A (ko) | 사실적인 실시간 모델링 시스템 및 방법 | |
Strnad et al. | Efficient representation of geometric tree models with level-of-detail using compressed 3D chain code | |
Zeng et al. | 3D plants reconstruction based on point cloud |
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 |