一种构建三维物体的方法及计算机辅助设计系统的制作方法

文档序号:9376910阅读:561来源:国知局
一种构建三维物体的方法及计算机辅助设计系统的制作方法
【技术领域】
[0001] 本发明涉及计算机视觉领域,尤其涉及一种构建三维物体的方法及计算机辅助设 计系统。
【背景技术】
[0002] 通常情况下,人们借助传统的计算机辅助设计系统(Computer Aided Design, CAD 系统),按照WIMP模式(视窗Windows,图标Icon,菜单Menu,鼠标Pointer)生成物体三维 几何模型,首先用户需要从CAD系统的用户交互界面的菜单、面板或者图标中选取不同的 绘制工具,并在交互窗口中选择要绘制物体的各种参数,最后通过点击、拖拽等一系列操作 选择物体的绘制位置、大小比例等,完成三维物体的绘制。虽然CAD系统能够提供强大的三 维物体设计和编辑能力,但是操作比较复杂,只有对于设计系统中繁杂菜单非常熟悉的专 业人员才能很好地完成设计,同时,使用这种操作系统完成三维物体繁琐费时,即使设计一 个比较简单的物体也需要比较长时间。
[0003] 随着电脑技术、三维采集设备和网络的发展,近几年来,人们提出一种新的构思: 利用简单易画的二维线画图(即草图)重构三维物体,并开发出新的CAD系统采用SB頂模 式(sketch-based interfaces for modeling,基于用户草图绘制的三维建模)重构三维物 体,其中,所述草图就是二维线画图,这类操作界面简单易懂,用户只需绘制出与三维物体 对应的二维线画图(草图),系统就可以自动生成用户所需的三维模型,由于同一个二维线 画图对应着无穷多个三维物体,所以这类系统的设计难点在于如何从用户给出的二维线画 图中重构出用户所需要的三维物体。传统的做法是将线画图重构三维物体建立为一个优化 问题,利用最优化方法找到符合人类视觉感知的三维物体,但传统的该类系统只能处理简 单的或部分复杂的线画图,当处理的线画图较为复杂或非常复杂时,系统会因解空间的急 剧膨胀而陷入局部最优,导致三维重构不准确。

【发明内容】

[0004] 本发明实施例提供一种构建三维物体的方法及计算机辅助设计系统,对二维线画 图进行处理,分割出更加简单的、符合视觉感知规律的子线画图,高效准确地完成三维物体 的重建。
[0005] 为达到上述目的,本发明采用的技术方案是,
[0006] 第一方面,本发明实施例提供一种构建三维物体的方法,包括:获取二维线画图; 将所述二维线画图分割为多个子线画图;分别对每个子线画图进行三维重构;将所述子线 画图的三维重构结果进行重组得到三维物体,其特征在于,所述将所述二维线画图分割为 多个子线画图,具体包括:
[0007] 提取所述二维线画图的表面,其中,所述表面为所述二维线画图中处于同一平面 的边围成的区域,为凸面或凹面;
[0008] 若所述二维线画图包含凹面,则根据预设策略,在二维线画图上添加辅助顶点,以 及,辅助边,获取扩展的二维线画图;
[0009] 根据所述扩展的二维线画图,获取所述二维线画图的分割面;
[0010] 根据所述分割面对所述二维线画图进行分割,获取所述二维线画图的多个子线画 图。
[0011] 在第一方面的第一种可能的实现方式中,结合第一方面,所述若所述二维线画图 包含凹面,则根据预设策略,在二维线画图上添加辅助顶点,以及,辅助边,获取扩展的二维 线画图,包括:
[0012] 分别在所述二维线画图的每个凹面上,增加第一类辅助边,其中,所述第一类辅助 边平行于所述凹面的任一边,所述第一类辅助边的一个端点为所述凹面的凹点,所述第一 类辅助边的另一端点为辅助顶点,所述辅助顶点为与所述凹面的边与所述第一类辅助线的 交占.
[0013] 遍历所述二维线画图的凸面;
[0014] 若存在第一凸面的不相邻的两个边上,分别包含所述辅助顶点,则在所述第一凸 面上增加第二类辅助边,其中,所述第二类辅助边的两个端点分别为所述第一凸面的不相 邻的两个边上的辅助顶点。
[0015] 在第一方面的第二种可能的实现方式中,结合第一方面,所述若所述二维线画图 包含凹面,则根据预设策略,在二维线画图上添加辅助顶点,以及,辅助边,获取扩展的二维 线画图,包括:
[0016] 若存在第一凹面,所述第一凹面包含共线边,则在所述第一凹面上增加第三类辅 助边,其中,所述第三类辅助边为所述第一凹面的共线边之间的连线。
[0017] 在第一方面的第三种可能的实现方式中,结合第一方面的第一种可能的实现方式 或第一方面的第二种可能的实现方式,所述根据所述扩展的二维线画图,获取所述二维线 画图的分割面,包括:
[0018] 遍历所述扩展的二维线画图中的边;
[0019] 若存在第一边的两顶点中至少一个顶点的度不小于4,则将所述第一边归入第一 边集合;
[0020] 对所述第一边集合中的每一个边,分别采用深度优先搜索算法获取从所述边的一 端点到所述边的另一端点的回路;
[0021] 若搜索到的回路与预设准则不矛盾,则将所述回路确定为所述二维线画图的分割 面的回路,获取分割面;其中,所述预设准则包括:若回路包含一个度为3的3D凸点,则所 述回路不是分割面的回路;若回路经过两个相邻面fl、f2,且fl、f2共同拥有两个或两个以 上不在同一直线上的边,则所述回路不是分割面的回路;若回路的边自相交,则所述回路不 是分割面的回路;若回路包含有一个弦,且该弦在二维线画图的表面上,则所述回路不是分 割面的回路;若回路包含有两个不共线的边,且两个边是同一个面f的边、以及,所述回路 围城的区域和f之间有重叠区域,则所述回路不是分割面的回路。
[0022] 在第一方面的第四种可能的实现方式中,结合第第一方面的第三种可能的实现方 式,所述方法还包括:
[0023] 在获取的所述二维线画图的分割面中,若同一个凹点上出现至少两个分割面,则 选择包含边的数量最小的分割面或者周长最短的分割面为所述凹点所在的分割面。
[0024] 在第一方面的第五种可能的实现方式中,结合第一方面至第一方面的第四种可能 的实现方式中的任一种实现方式,所述根据所述分割面对所述二维线画图进行分割,获取 所述二维线画图的多个子线画图,包括:
[0025] 在所述扩展的二维线画图中,将与所述分割面有公共边的表面归入第一面集合;
[0026] 选取所述第一面集合中的第一表面归入第二面集合,并将所述第一面集合中的所 述第一表面删除,其中,所述第一表面为所述第一面集合中的任意一个表面;
[0027] 在所述第一面集合中,若存在第二表面,与所述第二面集合中的表面有公共边,且 所述公共边与所述分割面的一个顶点相连,且所述公共边不属于所述分割面的边,则将所 述第二面从所述第一面集合中删除,归入第二面集合;
[0028] 获取与所述分割面的顶点相连但不属于所述分割面的边的边的集合;
[0029] 在所述边的集合中,若存在第一边,与所述第一边相连的所述扩展的二维线画图 的两个表面与所述第二面集合中的第一表面属于同一面集合,则将所述第一边归入第一边 集合,否则,归入第二边集合;
[0030] 根据所述第一面集合,第二面集合,第一边集合,第二边集合对所述二维线画图进 行分割,获取所述二维线画图的多个子线画图。
[0031] 第二方面,本发明实施例提供一种计算机辅助设计系统,包括:获取模块,用于获 取二维线画图;分割模块,用于将所述二维线画图分割为多个子线画图;三维重构模块,用 于分别对每个子线画图进行三维重构;重组模块,用于将所述子线画图的三维重构结果进 行重组得到三维物体,其特征在于,所述分割模块包括:
[0032] 凹面获取单元,用于提取所述二维线画图的表面,其中,所述表面为所述二维线画 图中处于同一平面的边围成的区域,为凸面或凹面;
[0033] 添加单元,用于若所述二维线画图包含凹面,则根据预设策略,在二维线画图上添 加辅助顶点,以及,辅助边,获取扩展的二维线画图;
[0034] 分割面获取单元,用于根据所述扩展的二维线画图,获取所述二维线画图的分割 面;
[0035] 子图获取单元,根据所述分割面对所述二维线画图进行分割,获取所述二维线画 图的多个子线画图。
[0036] 在第二方面的第一种可能的实现方式中,结合第二方面,所述添加单元,具体用 于:
[0037] 分别在所述二维线画图的每个凹面上,增加第一类辅助边,其中,所述第一类辅助 边平行于所述凹面的任一边,所述第一类辅助边的一个端点为所述凹面的凹点,所述第一 类辅助边的另一端点为辅助顶点,所述辅助顶点为与所述凹面的边与所述第一类辅助线的 交占.
[0038] 遍历所述二维线画图的凸面;
[0039] 若存在第一凸面的不相邻的两个边上,分别包含所述辅助顶点,则在所述第一凸 面上增加第二类辅助边,其中,所述第二类辅助边的两个端点分别为所述第一凸面的不相 邻的两个边上的辅助顶点。
[0040] 在第二方面的第二种可能的实现方式中,结合第二方面,所述添加单元,具体用 于:
[0041] 若存在第一凹面,所述第一凹面包含共线边,则在所述第一凹面上增加第三类辅 助边,其中,所述第三类辅助边为所述第一凹面的共线边之间的连线。
[0042] 在第二方面的第三种可能的实现方式中,结合第二方面的第一种可能的实现方式 或第二方面的第二种可能的实现方式,所述分割面获取单元,具体用于:
[0043] 遍历所述扩展的二维线画图中的边;
[0044] 若存在第一边的两顶点中至少一个顶点的度不小于4,则将所述第一边归入第一 边集合;
[0045] 对所述第一边集合中的每一个边,分别采用深度优先搜索算法获取从所述边的一 端点到所述边的另一端点的回路;
[0046] 若搜索到的回路与预设准则不矛盾,则将所述回路确定为所述二维线画图的分割 面的回路,获取分割面;其中,所述预设准则包括:若回路包含一个度为3的3D凸点,则所 述回路不是分割面的回路;若回路经过两个相邻面fl、f2,且fl、f2共同拥有两个或两个以 上不在同一直线上的边,则所述回路不是分割面的回路;若回路的边自相交,则所述回路不 是分割面的回路;若回路包含有一个弦,且该弦在二维线画图的表面上,则所述回路不是分 割面的回路;若回路包含有两个不共线的边,且两个边是同一个面f的边、以及,所述回路 围城的区域和f之间有重叠区域,则所述回路不是分割面的回路。
[0047] 在第二方面的第四种可能的实现方式中,结合第第二方面的第三种可能的实现方 式,所述分割面获取单元,还用于:
[0048] 在获取的所述二维线画图的分割面中,若同一个凹点上出现至少两个分割面,则 选择包含边的数量最小的分割面或者周长最短的分割面为所述凹点所在的分割面。
[0049] 在第二方面的第五种可能的实现方式中,结合第二方面至第二方面的第四种可能 的实现方式中的任一种实现方式,所述子图获取单元,具体用于:
[0050] 在所述扩展的二维线画图中,将与所述分割面有公共边的表面归入第一面集合;
[0051] 选取所述第一面集合中的第一表面归入第二面集
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1