一种基于笔画交互的实时3D黏土建模方法技术

技术编号:20590852 阅读:38 留言:0更新日期:2019-03-16 07:46
本发明专利技术公开了一种基于笔画交互的实时3D黏土建模方法,涉及3D建模领域。本发明专利技术包括以下:S01、对空间进行等间距逐点采样并记录各个采样点;S02、根据采样点生成空间内所有的体素以及边元素;S03、对元素的坐标按词典顺序排序并存储至平衡二叉搜索树;S04、构建空间的数据结构并生成模型网格;S05、划定空间中的影响区域以及设定区域内势函数的增减;S06、影响区域将空间中的采样点进行分类;S07、将一次拖动离散化为多次影响区域的位移;S08、重复上述步骤,实现笔画交互实时形变。本发明专利技术通过采用隐式建模手段来实现模型的构建和存储,利用设置空间势场得到需求的等值面来生成模型表面,不用考虑表面的拓扑性,轻松完成材料之间的接触和融合。

【技术实现步骤摘要】
一种基于笔画交互的实时3D黏土建模方法
本专利技术属于3D建模领域,特别是涉及一种基于笔画交互的实时3D黏土建模方法。
技术介绍
设计自古以来就是人类文明中重要的一环,人类所专利技术创造的每一个物品,大到飞机高铁,小到牙刷手机,在投入生产之前都离不开先进行设计。而随着现代社会的发展,使用计算机的数字3D模型设计开始逐渐成为了人类工作生活中不可或缺的一部分。从建筑领域中的房屋造型设计,电影领域的CG制作,到游戏领域的虚拟角色造型设计和各种物品道具模型的构建,一个优秀的数字建模手段在其中都发挥了举足轻重的作用。在现在的数字建模领域中,大多数交互式建模手段都是通过采用沿轴挤压移动表面以达到生成体积的效果,比如非常著名的Swirling-sweeper保体积算法,这种一对一的变形方式被源表面和目标表面所定义,除此之外还有非结构化网格生成方法等等。然而这里提到的很多通过移动表面的建模方式,大多无法改变模型的几何与拓扑结构,因此在处理模型表面面片相交也即两块模型融合的问题时会比较困难,也很难完成例如在模型中心打洞等操作。
技术实现思路
本专利技术的目的在于提供一种基于笔画交互的实时3D黏土建模方法,通过采用隐式建模手段来实现模型的构建和存储,利用设置空间势场得到需求的等值面来生成模型表面,接着根据不同的变形需求决定形变工具的在空间中的影响区域,改变区域内的势场达到形变效果,解决了现有的通过移动表面的建模无法改变模型的几何与拓扑结构以及无法完成在模型中心打洞的问题。为解决上述技术问题,本专利技术是通过以下技术方案实现的:本专利技术为一种基于笔画交互的实时3D黏土建模方法,包括如下步骤:步骤S01:对空间进行等间距逐点采样并记录各个采样点;步骤S02:根据采样点生成空间内所有的体素以及边元素;所述体素具体包括八个指向Cube中各个定点的指针、十二个指向立方体中每条边的指针和体素的MarchingCube算法的编码值;所述边元素具体包括两个指向两个顶点结构的指针、记录了此Edge是否被既定等曲面截断的布尔型变量isCrossed和此边上被等值面截断的点坐标;步骤S03:对元素的坐标按词典顺序排序并将采样点、边元素和体素分别存储至三个平衡二叉搜索树;步骤S04:构建空间的数据结构并生成模型网格;所述模型网格通过以下子步骤生成:步骤S041:在空间中的世界坐标下,确定建隐式函数和等值面的值isoValue的大小;步骤S042:通过空间中的采样点、体素和边元素的数据,将所有截断等势面的体素结构存储至新的二叉树CrossList中;步骤S043:遍历所有在等势面上的体素并利用MarchingCube算法得到逼近内部截断面的三角面片;步骤S044:将步骤S043中得到的所有三角面片进行整合,得到等势面对应的三角网格模型;步骤S05:根据模型网格的变形范围划定空间中的影响区域以及设定区域内势函数的增减,再改变空间的相应数据;步骤S06:将步骤S05中影响区域将空间中的采样点进行分类,将相同类别的点存储至一个临时存在的名为Modifier的二叉平衡树,并对Modifier二叉平衡树进行处理;所述Modifier二叉平衡树通过以下子步骤处理:步骤S061:对Modifier二叉平衡树中的每一个点结构进行势值进行改变和更新操作;步骤S062:分别以所述步骤S061中每一个点为原点,向与其相邻且比其词典排序关键值更大的点结构发出连接,寻找之间的边结构并重新判断边与等曲面的截断关系,更新等值点的坐标;步骤S063:再次以所述步骤S061中每一个点为原点,寻找到关键值与其词典排序关键值相等的体素结构,重新计算MarchingCubes算法得到的结果,以此更新表面情况;步骤S07:通过鼠标进行笔画交互完成一次完整的拉伸/按压操作,拖动影响区域移动来控制形变,将一次拖动离散化为多次影响区域的位移;步骤S08:重复上述步骤,实现一次完成笔画交互实时形变最终效果。优选地,所述步骤S06中,影响区域将空间中的采样点分为三类;所述三类分别为外部点、相关点和内部点;所述外部点为处于空间时间坐标系中,外部点不属于影响工具区域内部,也不和影响区域内的点集相邻的采样点;所述相关点不属于工具的影响区域内部,且与工具影响区域内部的点结构相邻的点;所述内部点为存在于工具影响区域内部的点集合。优选地,所述步骤S061中,势值改变通过将影响区域设为球体,以球体的球心为原点,距离球心的距离设为参数,建立经典Wyvill隐式函数作为影响区域内部的各向同性连续场。优选地,所述步骤S07中,若选择拉伸模型的形变操作时,将影响区域内的势场加到空间中的势场而使点结构势值改变;若选择按压模型的形变操作时,将空间中的势场减去影响区域内的势场而使点结构势值改变。本专利技术具有以下有益效果:(1)本专利技术通过采用隐式建模手段来实现模型的构建和存储,利用设置空间势场得到需求的等值面来生成模型表面,接着根据不同的变形需求决定形变工具的在空间中的影响区域,改变区域内的势场达到形变效果,可以不用考虑表面的拓扑性,轻松完成材料之间的接触和融合。(2)本专利技术通过扩充模型,在增加细节时,会自动增加顶点和三角面片的数量,避免了顶点太少无法展现模型特征的现象当然,实施本专利技术的任一产品并不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的一种基于笔画交互的实时3D黏土建模方法步骤图;图2为生成模型网格的步骤图;图3为Modifier二叉平衡树处理步骤图;图4为影响区域内空间中采样点的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。请参阅图1所示,本专利技术为一种基于笔画交互的实时3D黏土建模方法,包括如下步骤:步骤S01:对空间进行等间距逐点采样并记录各个采样点,记录采样点的信息包括存储隐函数的产生的势值、世界坐标系统的点坐标、颜色以及该采样点的场梯度;步骤S02:根据采样点生成空间内所有的体素以及边元素;体素具体包括八个指向Cube中各个定点的指针、十二个指向立方体中每条边的指针和体素的MarchingCube算法的编码值;其中,八个指向Cube中各个定点的指针至少有一个是非空;体素具体包括八个指向Cube中各个定点的指针、十二个指向立方体中每条边的指针和体素的MarchingCube算法的编码值;边元素具体包括两个指向两个顶点结构的指针、记录了此Edge是否被既定等曲面截断的布尔型变量isCrossed和此边上被等值面截断的点坐标;步骤S03:对元素的坐标按词典顺序排序并将采样点、边元素和体素分别存储至三个平衡二叉搜索树;以上元素存储了空间中左右需要的数据,且会跟着形变操作盖面相应的数据值;步骤S04:构建空间的数据结构并生成模型网格;请参阅图2所示,模型网格本文档来自技高网...

【技术保护点】
1.一种基于笔画交互的实时3D黏土建模方法,其特征在于,包括如下步骤:步骤S01:对空间进行等间距逐点采样并记录各个采样点;步骤S02:根据采样点生成空间内所有的体素以及边元素;所述体素具体包括八个指向Cube中各个定点的指针、十二个指向立方体中每条边的指针和体素的MarchingCube算法的编码值;所述边元素具体包括两个指向两个顶点结构的指针、记录了此Edge是否被既定等曲面截断的布尔型变量isCrossed和此边上被等值面截断的点坐标;步骤S03:对元素的坐标按词典顺序排序并将采样点、边元素和体素分别存储至三个平衡二叉搜索树;步骤S04:构建空间的数据结构并生成模型网格;所述模型网格通过以下子步骤生成:步骤S041:在空间中的世界坐标下,确定建隐式函数和等值面的值isoValue的大小;步骤S042:通过空间中的采样点、体素和边元素的数据,将所有截断等势面的体素结构存储至新的二叉树CrossList中;步骤S043:遍历所有在等势面上的体素并利用MarchingCube算法得到逼近内部截断面的三角面片;步骤S044:将步骤S043中得到的所有三角面片进行整合,得到等势面对应的三角网格模型;步骤S05:根据模型网格的变形范围划定空间中的影响区域以及设定区域内势函数的增减,再改变空间的相应数据;步骤S06:将步骤S05中影响区域将空间中的采样点进行分类,将相同类别的点存储至一个临时存在的名为Modifier的二叉平衡树,并对Modifier二叉平衡树进行处理;所述Modifier二叉平衡树通过以下子步骤处理:步骤S061:对Modifier二叉平衡树中的每一个点结构进行势值进行改变和更新操作;步骤S062:分别以所述步骤S061中每一个点为原点,向与其相邻且比其词典排序关键值更大的点结构发出连接,寻找之间的边结构并重新判断边与等曲面的截断关系,更新等值点的坐标;步骤S063:再次以所述步骤S061中每一个点为原点,寻找到关键值与其词典排序关键值相等的体素结构,重新计算MarchingCubes算法得到的结果,以此更新表面情况;步骤S07:通过鼠标进行笔画交互完成一次完整的拉伸/按压操作,拖动影响区域移动来控制形变,将一次拖动离散化为多次影响区域的位移;步骤S08:重复上述步骤,实现一次完成笔画交互实时形变最终效果。...

【技术特征摘要】
1.一种基于笔画交互的实时3D黏土建模方法,其特征在于,包括如下步骤:步骤S01:对空间进行等间距逐点采样并记录各个采样点;步骤S02:根据采样点生成空间内所有的体素以及边元素;所述体素具体包括八个指向Cube中各个定点的指针、十二个指向立方体中每条边的指针和体素的MarchingCube算法的编码值;所述边元素具体包括两个指向两个顶点结构的指针、记录了此Edge是否被既定等曲面截断的布尔型变量isCrossed和此边上被等值面截断的点坐标;步骤S03:对元素的坐标按词典顺序排序并将采样点、边元素和体素分别存储至三个平衡二叉搜索树;步骤S04:构建空间的数据结构并生成模型网格;所述模型网格通过以下子步骤生成:步骤S041:在空间中的世界坐标下,确定建隐式函数和等值面的值isoValue的大小;步骤S042:通过空间中的采样点、体素和边元素的数据,将所有截断等势面的体素结构存储至新的二叉树CrossList中;步骤S043:遍历所有在等势面上的体素并利用MarchingCube算法得到逼近内部截断面的三角面片;步骤S044:将步骤S043中得到的所有三角面片进行整合,得到等势面对应的三角网格模型;步骤S05:根据模型网格的变形范围划定空间中的影响区域以及设定区域内势函数的增减,再改变空间的相应数据;步骤S06:将步骤S05中影响区域将空间中的采样点进行分类,将相同类别的点存储至一个临时存在的名为Modifier的二叉平衡树,并对Modifier二叉平衡树进行处理;所述Modifier二叉平衡树通过以下子步骤处理:步骤S061:对Modifier二叉平衡树中的每一个点结构进行势值进行改变和更新...

【专利技术属性】
技术研发人员:万云翀杨周旺王康王士玮
申请(专利权)人:合肥阿巴赛信息科技有限公司
类型:发明
国别省市:安徽,34

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

1