论文部分内容阅读
随着虚拟产业的飞速发展,植物建模在游戏设计、三维场景制作、虚拟现实等方面发挥着越来越重要的作用。其中,视觉效果和建模效率是最为关心的问题。然而,植物树木的几何多样性和复杂性给建模任务造成了很大的困难。因此,如何简化植物建模方法并保证模型结果适应各种行业需求是植物建模研究的重要的研究方向。本文在深入研究了现有植物建模方法的基础上提出了一种直接在3D空间作图建模植物的方法,该方法基于一个特殊的3D空间,通过交互式手绘的方式完成复杂结构植物的建模任务。本文的主要研究内容包括以下四个方面:(1)提出并设计了一个虚拟的交互式3D空间绘制模型方法。用户可以通过鼠标画笔在2D屏幕上直接绘制3D植物模型,该3D空间提供多种空间变换方法(多轴旋转、平移、缩放等),空间支持不同密度需求下的空间分割,能够存储大量的顶点信息和颜色信息,支持用户作图时通过快捷键变动空间,实时反馈画板上三维点的投影并通过匹配算法形成连续的3D图像,支持用户主动选择、修改、删除3D空间中的任何点集,并就可能出现的不合理空间问题提供解决方案。(2)提出并实现了绘制复杂结构植物模型的方法以及优化算法。通过记录鼠标轨迹,针对绘制图像可能出现的不合理问题(包括噪点、黏连点、稀疏点)等提供自动的优化方案,优化方案包括去燥、提取特征点、曲线拟合等。本文提出的在实时变动的3D空间中连续作图的方法,改变了传统的绘图方法,用户可以通过绘制一些特殊结构的线条模型,进行组合拓展,模拟出比较复杂的植物(例如螺旋的蔓藤)。不同于2D画板作图,3D空间作图不仅需要平面坐标,还需要提供作图深度,忽视深度信息将会导致模型错位、比例失调等问题,本文结合优化的拾取系统和深度匹配方法,实现了在3D空间中通过空间选取,并基于以选择部件绘制子部件的关联绘制功能(例如基于主枝干绘制子枝干)。(3)研究并实现了虚拟3D空间中植物枝干实时碰撞检测方法。由于2D屏幕绘制的视角限制,用户在空间作图时无法准确充分的感知3D空间,容易出现冲突的模型组合,例如不合理的模型穿透、模型碰撞等,同样的问题也会出现在用于拓展模型的分形过程以及用于模拟植物生命周期的生长过程,本文提出了一种优化的碰撞检测方法。同时,本文引入重力分析算法,基于用户输入的植物结构进行主动学习,提取的有效信息点和父组件的相关信息集,动态保存分形规则,并在用户触发分形命令时实时合理的进行分形操作,在解决不合理绘制问题的同时,提高了系统的运行速度和稳定性。(4)基于上述理论和方法,结合DirectX图形库,使用C++语言完成了原型系统的设计开发。该系统基于一个实时可变的3D空间和2D画板,通过对用户鼠标输入轨迹的优化、拓展、联合得到了基础模型,并基于这个输入模型的自我学习完成了基础模型的拓展,通过引入碰撞检测模型和重力平衡模型实现了真实感处理的功能,通过提供丰富的参数调整功能和元件搭配功能实现了友好的用户体验,并得到了很好的实验结果,论证了直接在3D空间作图完成植物建模的可行性以及该方法的优越性。