一种三维自锁模型的生成方法

文档序号:6634855阅读:343来源:国知局
一种三维自锁模型的生成方法
【专利摘要】本发明公开了一种三维自锁模型的生成方法,其包括:构造三维物体的体素模型,根据体素模型中每一体素所包含三维物体局部形状以及和相邻体素接触的表面积来确定内部体素与外部体素,并根据外部体素与内部体素以及相邻外部体素间的连接强度来构造外部体素连接图;根据内部体素模型构造初始三维自锁模型,获得若干三维拼块的初始模型;根据外部体素连接图将所述外部体素贴附到初始三维拼块模型上,获得每个拼块的体素模型;将每个拼块的体素模型与三维物体的三角网格模型通过构造实体几何的方法做求交运算得到拼块的三角网格模型。通过采用本发明公开的方法可以快速地生成具有较为复杂外形的三维自锁模型,且生成的三维自锁模型可直接进行三维打印。
【专利说明】一种三维自锁模型的生成方法

【技术领域】
[0001] 本发明涉及三维设计【技术领域】,尤其涉及一种三维自锁模型的生成方法。

【背景技术】
[0002] 三维自锁模型(Interlocking Model)是由多个拼块组成的、可组装和拆解的三维 几何结构;当所有拼块组装在一起时,这些拼块相互锁住,使得整个模型非常稳固。三维自 锁模型的实际应用非常广泛,例如智力玩具、家具设计、和建筑设计等方面。
[0003] 三维自锁模型有以下特征:当所有拼块组装在一起时,只有一个拼块可以移动 (称为钥匙拼块),其他所有的拼块以及拼块的组合都是不可以移动的。三维自锁模型的基 本原理是通过拼块相互之间的阻挡来实现它们之间的连接。因而组装好的自锁模型非常稳 固,且不需要任何其他方法如胶水、螺丝等来连接拼块。由于拼块一般体积较大,通过自锁 机制实现的拼块之间的连接往往较为结实。另外,组装好的自锁模型可以重复拆解和再次 组装,因而便于模型的存储、运输、和维护。
[0004] 目前设计三维自锁模型的主要方法是基于手工设计。但该方法费时耗力,例如有 经验的工匠设计一个包含少量拼块(例如五个)的自锁模型一般需要一天或以上的时间。 另外,通过手工方法设计出的自锁模型往往外形较为简单(例如方块形状)。因而,该方法 不适合设计由大量拼块组成的、且具有任意形状的三维自锁模型。


【发明内容】

[0005] 本发明的目的是提供一种三维自锁模型的生成方法,可以快速地生成具有较为复 杂外形、且包含多个拼块的三维自锁模型。
[0006] 本发明的目的是通过以下技术方案实现的:
[0007] -种三维自锁模型的生成方法,该方法包括:
[0008] 构造三维物体的体素模型,根据所述体素模型中每一体素所包含三维物体局部形 状以及和相邻体素接触的表面积来确定内部体素与外部体素,并根据所述外部体素与内部 体素以及相邻外部体素之间的连接强度来构造外部体素连接图;
[0009] 根据所述内部体素模型构造初始三维自锁模型,获得若干初始的三维拼块;
[0010] 根据所述外部体素连接图将所述外部体素贴附到所述初始的三维拼块模型上,获 得由拼块组成的三维自锁模型。
[0011] 进一步的,所述构造三维物体的体素模型包括:
[0012] 计算三维物体模型的包围盒,并将该包围盒细分成分成辨率为WXHXD的体素正 交网格;在所述体素正交网格中构造分辨率为(KXW+1) X (KXH+1) X (KXD+1)的均匀采 样点网格,其中K为沿体素每个边的采样点的数量;通过射出(KXW+1)X(KXH+1)条经过 (KXD+1)个采样点的平行射线并与三维物体求交点,来判断每个采样点在所述三维物体模 型的内部或外部,进而根据采样点的位置状态建立物体的体素模型。
[0013] 进一步的,该方法还包括:根据每一体素内采样点的位置状态来计算其所包含三 维物体局部形状信息:
[0014] 若某一体素的所有采样点均在所述三维物体的内部,则该体素为全体素,其包含 物体局部形状的体积为当前体素的体积;若某一体素的所有采样点均在所述物体的外部, 则该体素为空体素,其所包含物体局部形状的体积为零;若某一体素的采样点处于所述物 体的外部与内部,则该体素为部分体素,其所包含物体局部形状的体积,通过计算该体素在 物体内部采样点的数量来确定;
[0015] 对于所述部分体素还包括:使用广度优先搜索的算法来搜索其在物体内部的邻近 采样点,并通过判断能否搜索到所有在物体内部的采样点来确定该体素内物体局部形状是 否连续;通过计算在和邻近体素接触面上物体内部采样点的数量来估算接触面的表面积。
[0016] 进一步的,该方法还包括,对所述体素模型优化的步骤,其包括:
[0017] 通过调整体素网格相对于三维物体模型的位置以及体素的大小来最小化异常体 素的数量;所述异常体素为包含形状体积小于阈值或包含不连续局部形状的体素;
[0018] 对于剩余的异常体素通过对物体模型进行局部变形的方法来去除,所述局部变形 的方法如下:对于包含形状体积小于阈值的异常体素,先确定形状的中心V。、平均表面法向 量义以及最小包围球的半径r;对于包含不连续局部形状的异常体素,先确定每个局部形 状的V。、S以及r参数;再通过逐步移动物体三角网格模型上顶点的位置来实现局部变形; 局部变形公式如下:

【权利要求】
1. 一种三维自锁模型的生成方法,其特征在于,该方法包括: 构造三维物体的体素模型,根据所述体素模型中每一体素所包含三维物体局部形状以 及和相邻体素接触的表面积来确定内部体素与外部体素,并根据所述外部体素与内部体素 以及相邻外部体素之间的连接强度来构造外部体素连接图; 根据所述内部体素模型构造初始三维自锁模型,获得若干初始的三维拼块; 根据所述外部体素连接图将所述外部体素贴附到所述初始的三维拼块模型上,获得由 拼块组成的三维自锁模型。
2. 根据权利要求1所述的方法,其特征在于,所述构造三维物体的体素模型包括: 计算三维物体模型的包围盒,并将该包围盒细分成分成辨率为WXHXD的体素正交 网格;在所述体素正交网格中构造分辨率为(KXW+1) X (KXH+1) X (KXD+1)的均匀采样 点网格,其中K为沿体素每个边的采样点的数量;通过射出(KXW+1) X (KXH+1)条经过 (KXD+1)个采样点的平行射线并与三维物体求交点,来判断每个采样点在所述三维物体模 型的内部或外部,进而根据采样点的位置状态建立物体的体素模型。
3. 根据权利要求1或2所述的方法,其特征在于,该方法还包括:根据每一体素内采样 点的位置状态来计算其所包含三维物体局部形状信息: 若某一体素的所有采样点均在所述三维物体的内部,则该体素为全体素,其包含物体 局部形状的体积为当前体素的体积;若某一体素的所有采样点均在所述物体的外部,则该 体素为空体素,其所包含物体局部形状的体积为零;若某一体素的采样点处于所述物体的 外部与内部,则该体素为部分体素,其所包含物体局部形状的体积,通过计算该体素在物体 内部采样点的数量来确定; 对于所述部分体素还包括:使用广度优先搜索的算法来搜索其在物体内部的邻近采样 点,并通过判断能否搜索到所有在物体内部的采样点来确定该体素内物体局部形状是否连 续;通过计算在和邻近体素接触面上物体内部采样点的数量来估算接触面的表面积。
4. 根据权利要求1所述的方法,其特征在于,该方法还包括,对所述体素模型优化的步 骤,其包括: 通过调整体素网格相对于三维物体模型的位置以及体素的大小来最小化异常体素的 数量;所述异常体素为包含形状体积小于阈值或包含不连续局部形状的体素; 对于剩余的异常体素通过对物体模型进行局部变形的方法来去除,所述局部变形的方 法如下:对于包含形状体积小于阈值的异常体素,先确定形状的中心V。、平均表面法向量义 以及最小包围球的半径r ;对于包含不连续局部形状的异常体素,先确定每个局部形状的 Vc、以及r参数;再通过逐步移动物体三角网格模型上顶点的位置来实现局部变形;局部 变形公式如下: VM = Vtk -a(2r-dist{V^,VC))N 其中,\是物体三角网格模型上的顶点并位于以^为中心、2i为半径的包围球内部,a 是控制物体模型变形速度的参数,k是变形公式迭代的次数。
5. 根据权利要求3所述的方法,其特征在于,所述根据所述体素模型中每一体素所包 含三维物体局部形状以及和相邻体素接触的表面积来确定内部体素与外部体素包括: 1)所述全体素均为内部体素;2)若某一部分体素所包含物体局部形状的体积大于预 设值,六个面不存在接触面积小于阈值的面,且至少有一个邻近体素是全体素,则该部分体 素为内部体素;否则,该部分体素为外部体素。
6. 根据权利要求1所述的方法,其特征在于,所述根据所述内部体素模型构造初始三 维自锁模型,获得若干初始的三维拼块包括: 从所述内部体素模型中抽取第一个拼块Pi,剩下的内部体素模型被称为& ;其中,抽取 Pi的过程中确保[PdRJ是可被拆解的,且Pi只可以沿一个方向被移走; 依次从剩下的内部体素模型中抽取其他拼块Pi+1(i > 0),剩下的部分被称为Ri+1 ;其 中,抽取Pi+1的过程中确保[Pi+1,Ri+1]是可以被拆解的,并确保[PpPi+uRi+J三个拼块是相 互自锁的且Pi是这个三个拼块中的钥匙拼块。
7. 根据权利要求6所述的方法,其特征在于,从所述内部体素模型中抽取第一个拼块 Pi的步骤包括: 选择一个位于所述内部体素模型表面的体素作为种子体素 S,并确定该种子体素 S的 目标移动方向火; 判断所述种子体素 S所有可以移动的方向,在除目标移动方向屯外的其他方向dj上, 选择一对阻挡和被阻挡体素,并使用最短路径的方法连接种子体素 S和被阻挡体素;其中, 所述连接种子体素 S和被阻挡体素时所涉及的体素均被选择; 选择所有位于拼块Pi沿目标移动方向屯上方的体素并分配给拼块Pi ; 判断当前所选择的体素数量是否达到预定值;若否,则选择拼块Pi邻域内的体素直至 拼块Pi的体素达到预定数量,同时确保拼块Pi的阻挡性和可移动性不改变,从而获得所述 第一个拼块Pi。
8. 根据权利要求6或7所述的方法,其特征在于,从剩余内部体素模型中抽取其他拼块 Pi+1的步骤包括: 将与上一个拼块Pi移动方向相垂直的方向作为拼块Pi+1的移动方向di+1 ; 从所述上一个拼块Pi的邻域内选择一个位于所述剩余内部体素模型表面的体素作为 种子体素 C ; 在剩余内部体素模型内,确定阻挡所述种子体素 C沿目标移动方向di+1移动的体素集 合Sv,并使用最短路径的方法连接种子体素 C和体素集合Sv ; 判断当前所选择的体素数量是否达到预定值;若否,则选择拼块Pi+1邻域内的体素直 至拼块Pi+1的体素达到预定数量,同时确保拼块Pi+1的阻挡性和可移动性不改变,从而获得 拼块Pi+1。
9. 根据权利要求1所述的方法,其特征在于,所述根据所述外部体素与内部体素以及 相邻外部体素之间的连接强度来构造外部体素连接图包括: 所述外部体素连接图用于表示外部体素与内部体素以及相邻外部体素之间的连接强 度;其中,所述外部体素与内部体素以及相邻外部体素之间的接触表面积越大,则表示连接 强度越大。
10. 根据权利要求1所述的方法,其特征在于,该方法还包括: 将所述由拼块组成的三维自锁模型中每个拼块的体素模型与所述三维物体的三角网 格模型通过构造实体几何的方法做求交运算得到拼块的三角网格模型;将每个拼块的三角 网格模型输入至三维打印机中进行打印,进而组装成实际的三维自锁模型。
【文档编号】G06T17/00GK104346832SQ201410664520
【公开日】2015年2月11日 申请日期:2014年11月19日 优先权日:2014年11月19日
【发明者】宋鹏, 刘利刚 申请人:中国科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1