一种汽车模型的生成方法及系统的制作方法

文档序号:9688367阅读:265来源:国知局
一种汽车模型的生成方法及系统的制作方法
【技术领域】
[0001] 本发明设及图像处理技术领域,具体设及一种汽车模型的生成方法及系统。
【背景技术】
[0002] 在当今经济迅速发展时代,人们生活质量不断提高,汽车普及率越来越高,汽车模 型生成日益成为汽车设计和生产的重要技术。汽车外观和零件尺寸的设计离不开精准的汽 车模型,同时精准的汽车模型对汽车性能的模拟也提供了巨大的便利。
[0003] 所谓的汽车模型生成,是指在已有数量不多的顶点、曲面情况下,通过插值、逼近 手段,不断生成新的顶点和曲面。当生成的顶点和曲面足够多时,汽车模型由原来的粗糖变 得非常精细,汽车模型表面也趋向光滑,模型趋向真实。
[0004] 传统的递归曲面生成汽车模型方法大多基于纯粹的逼近或插值生成,但是逼近方 法会使得模型变小,而插值方法会使得模型膨胀,运些方法都导致了模型尺寸误差,而汽车 零件对尺寸的精度却要求非常高,运为设计带来了不便。而且传统的方法随着递归次数增 加,运算量也快速增加。因此有必要提供一种速度快、尺寸误差尽可能小的方法来解决上述 缺陷。

【发明内容】

[0005] 本发明的目的在于克服现有技术的不足,本发明提供了一种汽车模型的生成方 法,通过利用综合逼近和插值方法进行细分生成数据模型,对汽车数据模型进行处理,获取 消除冗余的汽车模型,具有更好的效果。
[0006] 为了解决上述问题,本发明提出了一种汽车模型的生成方法,所述方法包括:
[0007] 输入第一汽车模型的顶点和Ξ角面;
[000引根据所述第一汽车模型的顶点和Ξ角面生成半边表结构;
[0009] 根据所述半边表结构,利用综合逼近和插值方法进行细分生成第二汽车模型的顶 点和Ξ角面;
[0010] 对所述第二汽车模型进行处理,获取消除冗余后的所述第二汽车模型数据;
[0011] 根据消除冗余后的所述第二汽车模型数据,获取表面光滑、尺寸精准的汽车模型。
[0012] 优选地,所述半边表结构包括顶点结构、半边结构和面结构。
[0013] 优选地,所述利用综合逼近插值方法进行细分包括:
[0014] 采用参数α来控制逼近细分和插值细分的比例,当α = 1时只做插值细分,当α = 〇时 只做逼近细分;
[0015] α由用户按需求调节,默认α = 〇.5。
[0016] 优选地,所述细分的过程是生成新顶点,移动旧顶点,根据所述新顶点生成新Ξ角 面,所述细分的规则如下:
[0017] 给定η+1 个点Ρο,Ρι,…,Ρη [001 引
ο
[0019] 优选地,所述新顶点生成包括:
[0020] 在每条内边(Pi,Pj)插入所述新顶点q,其中化术)是立角形化,Pj,PkWP^角形 (ΡιΑ,Ρ?)的公共边,所述新顶点q的位置计算公式如下:
[0024] 其中H(P)与点P共享同一条边的点集,η是集合H(P)的元素个数,参数α为所述控制 逼近细分和插值细分的比例值;
[0025] 若边(Pi,Pj)是边界边,则所述新顶点q的位置计算公式如下:
[0026]
[0027]优选地,所述移动旧顶点包括:
[002引处于内部的所述旧顶点作如下公式移动:
[0031] 其中,Pnew为移动后的顶点,Peld为移动前的顶点,H(P)与点P共享同一条边的点集, η是集合H(P)的元素个数,参数α为所述控制逼近细分和插值细分的比例值;
[0032] 若所述旧顶点为边界点,则所述旧顶点作如下公式移动:
[0033]
[0034] 其中,Pb,Pc分别与Peld共享同一条边界边的另一个顶点。
[0035] 优选地,所述根据所述新顶点生成新Ξ角面包括:
[0036] 每个Ξ角面都会生成Ξ个新的顶点,记Ξ角面Ξ个顶点分别为?1、?2、?3,新生成的 Ξ个顶点为化、〇2、化,那么原来的Ξ角面被分割成4个新的Ξ角面,运四个Ξ角面分别为 (Qi,〇2 ,化),(Pl,Ql ,〇3) , (Ρ2,〇2 ,Ql) ,。3,化,〇2)。
[0037] 优选地,所述对所述第二汽车模型进行处理包括:
[0038] 采用边折叠算法消除冗余的边和消除所述冗余边对应的Ξ角面;
[0039] 根据消除冗余的边和消除所述冗余边对应的Ξ角面,消除所述冗余边对应的Ξ角 面的顶点。
[0040] 另外,本发明还提供了一种汽车模型的生成系统,所述系统包括:
[0041] 信息输入模块:用于输入第一汽车模型的顶点和Ξ角面;
[0042] 生成模块:用于根据所述第一汽车模型的顶点和Ξ角面生成半边表结构;
[0043] 细分模块:用于根据所述半边表结构,利用综合逼近和插值方法进行细分生成第 二汽车模型的顶点和Ξ角面;
[0044] 冗余消除模块:用于对所述第二汽车模型进行处理,获取消除冗余后的所述第二 汽车模型数据;
[0045] 模型获取模块:用于根据消除冗余后的所述第二汽车模型数据,获取表面光滑、尺 寸精准的汽车模型。
[0046] 优选地,所述冗余消除模块包括:
[0047] 冗余消除单元:用于采用边折叠算法消除冗余的边和消除所述冗余边对应的Ξ角 面;
[0048] 顶点消除单元:用于根据消除冗余的边和消除所述冗余边对应的Ξ角面,消除所 述冗余边对应的Ξ角面的顶点。
[0049] 在本发明实施例中,通过利用综合逼近插值方法进行细分生成数据模型,对汽车 数据模型进行处理,获取消除冗余的汽车模型,具有更好的效果。
【附图说明】
[0050] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W 根据运些附图获得其它的附图。
[0051 ]图1是本发明实施例的汽车模型的生成方法的流程示意图;
[0052] 图2是本发明实施例逼近造成收缩的示意图;
[0053] 图3是本发明实施例插值造成膨胀的示意图。
[0054] 图4是本发明实施例的汽车模型的生成系统的结构组成示意图;
【具体实施方式】
[0055] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0056] 图1是本发明实施例的汽车模型的生成方法的流程示意图,如图1所示,该方法包 括:
[0057] S11:输入第一汽车模型的顶点和Ξ角面;
[005引S12:根据第一汽车模型的顶点和Ξ角面生成半边表结构;
[0059] S13:根据半边表结构,利用综合逼近和插值方法进行细分生成第二汽车模型数 据;
[0060] S14:对第二汽车模型数据进行处理,获取消除冗余后的第二汽车模型数据;
[0061] S15:根据消除冗余后的第二汽车模型数据,获取表面光滑、尺寸精准的汽车模型。
[0062] 对S11作进一步说明:
[0063] 输入的第一汽车模型的顶点和Ξ角面,顶点为汽车模型的顶点的坐标值,Ξ角面 是Ξ角形的Ξ个顶点的索引,若是第一汽车模型只包含了顶点数据,没有Ξ角面数据,则采 用Delaunay(狄洛尼)Ξ角剖分算法构造 Ξ角面;
[0064] 其中Ξ角剖分算法包括:
[0065] 构造一个超级Ξ角形,包含所有的散点,放入Ξ角形链表;
[0066] 将散点依次插入,在Ξ角形链表中找出外接圆包含插入点的Ξ角形(称该点为影 响Ξ角形点),删除影响Ξ角形的公共边,将插入点与影响Ξ角形的全部顶点连接起来,完 成一个点在DelaunayS角形链表中的插入,构造形成Ξ角面。
[0067] 对S12作进一步说明:
[0068] 半边表结构包括顶点结构、半边结构和面结构;
[0069] 其中,顶点结构:
[0073] 面结构:
[0074] struct HE_face{
[0075] HE_edge*edge; //该面中任意一条半边的指针
[0076] };
[0077] 该步骤中,用Ξ个数组分别存储顶点结构、半边结构和面结构;首先读入模型的顶 点数据,每个顶点都存放在顶点结构数据中;接着读入Ξ角面数据,每次读入Ξ角面数据, 都有3条半边和1个面,分别存储在半边结构数组中和面结构数组中;当读入所有数据后,为 每条半边设置它对应的相对半边,至此完全构造好模型的半边表结构。
[0078] 对S13作进一步说明:
[0079] 采用参数α来控制逼近细分和插值细分的比例,当α = 1时只做插值细分,当α = 〇时 只做逼近细分;α由用户按需求调节,默认α = 0.5;
[0080] 细分的过程中主要是生成新顶点和移动旧顶点,根据新顶点生成新Ξ角面,其中 细分规则如下:
[0081] 给定η+1 个点Ρο,Ρι,…,Ρη
[0082] 0
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1