当前位置: 首页 > 专利查询>江苏大学专利>正文

基于手绘的3D植物枝干建模方法技术

技术编号:12624551 阅读:83 留言:0更新日期:2015-12-31 17:54
本发明专利技术涉及计算机图形处理与人机交互领域,具体涉及一种基于手绘的3D植物枝干建模算法,包括以下步骤:构建一个3D采集窗口,在该窗口内进行手绘3D植物枝干的骨架;提取3D植物骨架信息得到植物枝干的点集数据;以去噪简化后的枝干点集数据为中心构建六棱台生成不同粗细的植物枝干。本发明专利技术基于手绘的3D植物枝干建模算法可以直接手绘3D枝干骨架,不需要2D到3D的骨架转换,方法能适应多种植物的枝干重建,并且后期的参数调整灵活便捷,能够高度还原植物的特征使得重建得到的植物枝干模型更加符合原始手绘草图。

【技术实现步骤摘要】

本专利技术涉及计算机图形处理与人机交互领域,具体涉及一种基于手绘的3D植物枝干建模算法。
技术介绍
植物建模是计算机图形学研究的热点之一,也是虚拟现实的重要组成部分。由于植物种类繁多、易受外界环境影响以及人为因素干扰,所以植物的几何形态丰富多样,无法为植物寻找到一个通用的生成算法。因此植物建模与仿真一直都是计算机图形学中一个具有挑战性的课题。目前基于手绘的植物枝干建模算法主要是由日本东京大学Okabe等提出的基于草图的手绘系统,该系统根据用户手绘出的2D平面植物骨架,使用算法生成3D枝干,但该算法在转换过程中会出现不同程度的失真,绘制的速度也较慢,不能有效表现植物枝干的多变造型。
技术实现思路
针对上述方法存在的问题,本专利技术提出一种基于手绘的3D植物枝干建模算法,通过鼠标绘制3D植物枝干的骨架,利用骨架的点集信息通过渲染窗口生成植物枝干,使生成的植物枝干模型更接近于真实的植物枝干。为实现上述目的,本专利技术具体技术方案如下:一种基于手绘的3D植物枝干建模算法,包括如下步骤:I)绘制植物的枝干骨架,即构建一个3D采集窗口,在该窗口中设定一个固定深度值,通过视角变换在不同的视平面利用鼠标绘制不同的分枝,从而得到植物的枝干骨架;2)采集枝干骨架,得到初始的枝干骨架3D点集数据;3)存储枝干骨架3D点集数据,即构建一个树形存储结构存储枝干骨架3D点集数据,每一级枝干作为离该枝干最近的上一级枝干的子枝干存储;4)利用去噪简化算法对枝干骨架3D点集数据进行数据点集去噪简化操作,得到枝干骨架的简化数据点集;5)将简化数据点集用枝干元渲染成枝干;6)通过枝干粗细度与平滑调整算法调整枝干的局部信息,生成真实多样的3D植物枝干。进一步地,上述步骤4)中,去噪简化算法包括如下步骤:4.1)初始化,即设定夹角阈值,设当前节点为起始节点,转步骤4.2);4.2)保留每个枝干的起始点和终点,转步骤4.3);4.3)计算当前节点与相邻点的切向夹角,转步骤4.4)4.4)判断切向夹角与夹角阈值的大小关系,如果切向夹角小于或等于夹角阈值,则删去该点,转步骤4.5),否则直接转步骤4.5);4.5)判断枝干骨架是否遍历结束,如果遍历结束转步骤4.7),否则转步骤4.6);4.6)选取下一个点为当前节点,转步骤4.3);4.7)去噪简化操作结束,得到枝干骨架的简化数据点集。进一步地,上述步骤5)中,用枝干元将简化数据点集渲染成枝干的方法包括如下步骤:5.1)定义枝干元函数,设定简化后每点的内置半径参数;5.2)对简化数据点集从起始点开始依次将相邻两点传入枝干元函数;5.3)分别以相邻的两个点为圆心,内置半径参数为半径,每个点的切向作为该面的垂直方向,构造两个六边形;5.4)连接两个六边形生成六棱台,即枝干元,将若干个枝干元连接起来生成一个分枝模型;5.5)重复步骤5.2)至步骤5.4),直至数据点集的终点,生成完整的枝干模型。进一步地,上述步骤6)中,枝干粗细度与平滑调整算法包括如下步骤:6.1)调整枝干元六棱台的半径和长度参数,生成不同粗细的枝干;6.2)利用曲线编辑器,生成一条平滑曲线,并在曲线上添加和删除控制点;6.3)通过鼠标拖动控制点调整曲线的形状;6.4)调整点在枝干中的位置及属性值,对生成的植物枝干进行平滑处理。跟现有方法相比,本专利技术的基于手绘的3D植物枝干建模算法可以直接手绘3D枝干骨架,不需要2D到3D的骨架转换;其次该方法能适应多种植物的枝干重建,并且后期的参数调整方法灵活便捷,能够高度还原植物的特征使得重建得到的植物枝干模型更加符合原始手绘草图。【附图说明】图1为基于手绘的3D植物枝干建模算法流程图。图2为去噪简化算法流程图。图3为实施例中枝干元函数的模型。图4为曲线编辑器界面图。图5为实施例中植物枝干手绘图。图6为实施例中植物枝干显示图。【具体实施方式】下面结合附图和实施实例对本专利技术作进一步描述。图1为基于手绘的3D植物枝干建模算法流程图,包括以下步骤:I)绘制植物的枝干骨架,即构建一个3D采集窗口,在该窗口中设定一个固定深度值,通过视角变换在不同的视平面利用鼠标绘制不同的分枝,从而得到植物的枝干骨架;在本实施实例中,构建一个3D的绘图窗口,将其作为三维数据的采集区,深度值大小设定为0.5,用户通过点击按钮来切换绘制的枝干种类,然后在区域内用鼠标绘制出植物的骨架;2)采集枝干骨架点,得到初始的枝干骨架3D点集数据;如果用户需要更为复杂、数量更多的枝干,可以使用随机算法在最后一级枝干随机生成一些子枝干,本实施例中具体做法是在最后一级枝干的点集中随机选取点,取得该点的位置和切向量,随机生成一个O到360度的随机角,该角决定了随机枝干的所在平面,再随机一个O到90度的角,该角确定了在以确定面上,随机枝干与点切向的夹角,将该点沿着得到的方向平移,得到随机枝干的骨架点集;3)存储枝干骨架3D点集数据,构建一个树形存储结构存储枝干骨架3D点集数据,每一级枝干作为离该枝干最近的上一级枝干的子枝干存储;4)利用去噪简化算法对枝干骨架3D点集当前第1页1 2 本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/CN105205856.html" title="基于手绘的3D植物枝干建模方法原文来自X技术">基于手绘的3D植物枝干建模方法</a>

【技术保护点】
一种基于手绘的3D植物枝干建模算法,其特征在于包括如下步骤:1)绘制植物的枝干骨架,即构建一个3D采集窗口,在该窗口中设定一个固定深度值,通过视角变换在不同的视平面利用鼠标绘制不同的分枝,从而得到植物的枝干骨架;2)采集枝干骨架点,得到初始的枝干骨架3D点集数据;3)存储枝干骨架3D点集数据,即构建一个树形存储结构存储枝干骨架3D点集数据,每一级枝干作为离该枝干最近的上一级枝干的子枝干存储;4)利用去噪简化算法对枝干骨架3D点集数据进行数据点集去噪简化操作,得到枝干骨架的简化数据点集;5)用枝干元将简化数据点集渲染成枝干;6)通过枝干粗细度与平滑调整算法调整枝干的局部信息,生成真实多样的3D植物枝干。

【技术特征摘要】

【专利技术属性】
技术研发人员:曾兰玲张巍杨保安陈天放张晓庆
申请(专利权)人:江苏大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1