CN109472863B - 一种基于笔画交互的实时3d黏土建模方法 - Google Patents
一种基于笔画交互的实时3d黏土建模方法 Download PDFInfo
- Publication number
- CN109472863B CN109472863B CN201811550446.6A CN201811550446A CN109472863B CN 109472863 B CN109472863 B CN 109472863B CN 201811550446 A CN201811550446 A CN 201811550446A CN 109472863 B CN109472863 B CN 109472863B
- Authority
- CN
- China
- Prior art keywords
- point
- space
- influence
- points
- time
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于笔画交互的实时3D黏土建模方法,涉及3D建模领域。本发明包括以下:S01、对空间进行等间距逐点采样并记录各个采样点;S02、根据采样点生成空间内所有的体素以及边元素;S03、对元素的坐标按词典顺序排序并存储至平衡二叉搜索树;S04、构建空间的数据结构并生成模型网格;S05、划定空间中的影响区域以及设定区域内势函数的增减;S06、影响区域将空间中的采样点进行分类;S07、将一次拖动离散化为多次影响区域的位移;S08、重复上述步骤,实现笔画交互实时形变。本发明通过采用隐式建模手段来实现模型的构建和存储,利用设置空间势场得到需求的等值面来生成模型表面,不用考虑表面的拓扑性,轻松完成材料之间的接触和融合。
Description
技术领域
本发明属于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所示,模型网格通过以下子步骤生成:
步骤S041:在空间中的世界坐标下,确定建隐式函数和等值面的值isoValue的大小;
设隐式函数为f(r),r为距原点的距离并设置等势面的值等为d;
步骤S042:通过空间中的采样点、体素和边元素的数据,将所有截断等势面的体素结构存储至新的二叉树CrossList中;
步骤S043:遍历所有在等势面上的体素并利用MarchingCube算法得到逼近内部截断面的三角面片;
步骤S044:将步骤S043中得到的所有三角面片进行整合,得到等势面对应的三角网格模型;得到的三角网格模型生成的算法在每次空间变化之后都会进行一次,使
步骤S05:根据模型网格的变形范围划定空间中的影响区域以及设定区域内势函数的增减,再改变空间的相应数据;
步骤S06:将步骤S05中影响区域将空间中的采样点进行分类,将所有的内部点和相关点存储至一个临时存在的名为Modifier的二叉平衡树,并对Modifier二叉平衡树进行处理;
请参阅图3所示,Modifier二叉平衡树通过以下子步骤处理:
步骤S061:对Modifier二叉平衡树中的每一个点结构进行势值进行改变和更新操作;
步骤S062:分别以步骤S061中每一个点为原点,向与其相邻且比其词典排序关键值更大的点结构发出连接,寻找之间的边结构并重新判断边与等曲面的截断关系,更新等值点的坐标;
步骤S063:再次以步骤S061中每一个点为原点,寻找到关键值与其词典排序关键值相等的体素结构,此点为此体素立方体中大小最小的顶点,重新计算MarchingCubes算法得到的结果,以此更新表面情况;
步骤S07:通过鼠标进行笔画交互完成一次完整的拉伸/按压操作,拖动影响区域移动来控制形变,将一次拖动离散化为多次影响区域的位移;
步骤S08:重复上述步骤,实现一次完成笔画交互实时形变最终效果;一次完整的拉伸/按压操作是通过鼠标进行笔画交互,拖动影响区域移动来控制形变,将一次拖动离散化为多次影响区域的位移,重复上述步骤,实现一次完整笔画交互实时形变最终效果,从而能够根据不同的变形需求决定形变工具的在空间中的影响区域,改变区域内的势场达到形变效果。
请参阅图4所示,步骤S06中,影响区域将空间中的采样点分为三类;三类分别为外部点1、相关点2和内部点3;
外部点1为处于空间时间坐标系中,外部点1不属于影响工具区域内部,也不和影响区域内的点集相邻的采样点,外部点1以图4中浅灰色的点表示;
相关点2不属于工具的影响区域内部,且与工具影响区域内部的点结构相邻的点,相关点2以图4中深灰色的点表示;
内部点3为存在于工具影响区域内部的点集合,内部点3以图4中黑色的点表示。
其中,步骤S061中,势值改变通过将影响区域设为球体,以球体的球心为原点,距离球心的距离设为参数,建立经典Wyvill隐式函数作为影响区域内部的各向同性连续场;如果需要将影响区域伸缩为椭球时,函数值按各轴比例放缩即可。
当选择伸模型的形变操作时,将影响区域内的势场加到空间中的势场而使点结构势值改变;当选择按压模型的形变操作时,将空间中的势场减去影响区域内的势场而使点结构势值改变。
其中,步骤S07中,若选择拉伸模型的形变操作时,将影响区域内的势场加到空间中的势场而使点结构势值改变;若选择按压模型的形变操作时,将空间中的势场减去影响区域内的势场而使点结构势值改变。
值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (4)
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:重复上述步骤,实现一次完成笔画交互实时形变最终效果。
2.根据权利要求1所述的一种基于笔画交互的实时3D黏土建模方法,其特征在于,所述步骤S06中,影响区域将空间中的采样点分为三类;所述三类分别为外部点、相关点和内部点;
所述外部点为处于空间时间坐标系中,外部点不属于影响工具区域内部,也不和影响区域内的点集相邻的采样点;
所述相关点不属于工具的影响区域内部,且与工具影响区域内部的点结构相邻的点;
所述内部点为存在于工具影响区域内部的点集合。
3.根据权利要求1所述的一种基于笔画交互的实时3D黏土建模方法,其特征在于,所述步骤S061中,势值改变通过将影响区域设为球体,以球体的球心为原点,距离球心的距离设为参数,建立经典Wyvill隐式函数作为影响区域内部的各向同性连续场。
4.根据权利要求1所述的一种基于笔画交互的实时3D黏土建模方法,其特征在于,所述步骤S07中,若选择拉伸模型的形变操作时,将影响区域内的势场加到空间中的势场而使点结构势值改变;若选择按压模型的形变操作时,将空间中的势场减去影响区域内的势场而使点结构势值改变。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811550446.6A CN109472863B (zh) | 2018-12-18 | 2018-12-18 | 一种基于笔画交互的实时3d黏土建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811550446.6A CN109472863B (zh) | 2018-12-18 | 2018-12-18 | 一种基于笔画交互的实时3d黏土建模方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109472863A CN109472863A (zh) | 2019-03-15 |
CN109472863B true CN109472863B (zh) | 2022-12-20 |
Family
ID=65675004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811550446.6A Active CN109472863B (zh) | 2018-12-18 | 2018-12-18 | 一种基于笔画交互的实时3d黏土建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109472863B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110033519B (zh) * | 2019-04-23 | 2022-06-28 | 中南大学 | 基于隐式函数的三维建模方法、装置、系统及存储介质 |
CN112344863B (zh) * | 2020-09-11 | 2022-08-09 | 湖北三江航天江北机械工程有限公司 | 一种自由曲面回转体工件壁厚检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930597A (zh) * | 2012-09-28 | 2013-02-13 | 中国科学院自动化研究所 | 一种外存三维模型的处理方法 |
CN103699714A (zh) * | 2013-12-01 | 2014-04-02 | 北京航空航天大学 | 一种基于有限元和无网格耦合的柔性物体实时切割仿真方法 |
CN104268931A (zh) * | 2014-09-11 | 2015-01-07 | 上海大学 | 基于网格模型内部结构可控装配方法 |
-
2018
- 2018-12-18 CN CN201811550446.6A patent/CN109472863B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930597A (zh) * | 2012-09-28 | 2013-02-13 | 中国科学院自动化研究所 | 一种外存三维模型的处理方法 |
CN103699714A (zh) * | 2013-12-01 | 2014-04-02 | 北京航空航天大学 | 一种基于有限元和无网格耦合的柔性物体实时切割仿真方法 |
CN104268931A (zh) * | 2014-09-11 | 2015-01-07 | 上海大学 | 基于网格模型内部结构可控装配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109472863A (zh) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112347546A (zh) | 基于轻量级设备的bim渲染方法、设备和计算机可读存储介质 | |
CN104217460B (zh) | 3d建模对象的压缩与解压缩 | |
CN101807308B (zh) | 三维模型分割装置和方法 | |
CN104361632A (zh) | 一种基于Hermite径向基函数的三角网格补洞方法 | |
CN109118588B (zh) | 一种基于块分解的彩色lod模型自动生成方法 | |
CN105793848B (zh) | 包括建模步骤的计算机辅助设计方法 | |
CN109472863B (zh) | 一种基于笔画交互的实时3d黏土建模方法 | |
CN103914865A (zh) | 形成几何图案的面的组 | |
CN111127615A (zh) | 一种三维模型的数据调度方法、装置及电子设备 | |
CN102629391A (zh) | 基于数字图形介质的三维空间结构图形切割及切片方法 | |
CN115661374B (zh) | 一种基于空间划分和模型体素化的快速检索方法 | |
Fermin-Leon et al. | Incremental contour-based topological segmentation for robot exploration | |
CN114021222B (zh) | 建筑物的建模方法、电子设备及计算机存储介质 | |
WO2024108580A1 (zh) | 多维参数化城市信息模型构建方法、系统及计算机设备 | |
CN111814970B (zh) | 基于神经网络的实时物理引擎增强计算方法、介质及系统 | |
CN117574469A (zh) | 一种复杂模型快速生成的参数化模型生成方法 | |
CA3037575A1 (en) | Geometric modelling for facilitating simulation for manufacturing operations | |
Danilov | Unstructured tetrahedral mesh generation technology | |
CN115047825A (zh) | 一种数控加工铣削实时显示的方法 | |
Perez-Perez et al. | Artificial neural network for semantic segmentation of built environments for automated Scan2BIM | |
CN102646286A (zh) | 三维空间结构的数字图形介质模拟方法 | |
CN107767458B (zh) | 不规则三角网曲面几何拓扑一致分析方法及系统 | |
Guérin et al. | Efficient modeling of entangled details for natural scenes | |
Owen et al. | Mesh‐based geometry | |
CN114443158B (zh) | 基于Navisworks软件处理BIM文件的方法、装置、设备和存储介质 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210108 Address after: Room 902, 9 / F, building F, Tianhe Software Park, Tianhe District, Guangzhou 510000 Applicant after: GUANGDONG 3VJIA INFORMATION TECHNOLOGY Co.,Ltd. Address before: 230000 room 323, building E1, phase II, innovation industrial park, 2800 innovation Avenue, high tech Zone, Hefei City, Anhui Province Applicant before: HEFEI ABACI SCIENCE & TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |