一种基于Loop细分的三维云纹曲面显示方法及其装置的制造方法

文档序号:9688359阅读:352来源:国知局
一种基于Loop细分的三维云纹曲面显示方法及其装置的制造方法
【技术领域】
[0001] 本发明设及Ξ维建模技术领域,尤其设及一种基于Loop细分的Ξ维云纹曲面显示 方法及其装置。
【背景技术】
[0002] 在当今信息时代,随着计算机技术、多媒体技术和虚拟技术的发展,对Ξ维建模的 技术要求越来越高。特别是随着Ξ维影视,Ξ维游戏的发展,大量的Ξ维模型需要快速生 成,其中Ξ维曲面是Ξ维模型中必不可少的部分。
[0003] 所谓Ξ维云纹曲面显示,是指通过输入一个粗略的Ξ维网格,网格对应的云纹,然 后根据一定的细分技术,快速的生成一个光滑连续的Ξ维云纹曲面。运不仅对云纹曲面适 用,对于连续图案的Ξ维曲面也适用。运在Ξ维建模时曲面的生成有广泛的应用。
[0004] 传统的云纹曲面是基于插值或者逼近的曲面生成方法,而且在表面纹理处理方面 速度慢,比如化tmull-Clark逼近细分、Doo-Sabin逼近细分、Butterf ly插值细分和kot)belt 插值细分曲面生成等,运些方法在Ξ维曲面生成里面具有很好的效果,然而它们却是单一 的插值或者逼近方法,在一些领域达不到预期效果。

【发明内容】

[000引本发明的目的在于克服现有技术的不足,本发明提供了一种基于Loop细分的Ξ维 云纹曲面显示方法及其装置,可W让细分之后的Ξ维云纹曲面保持自然连续,使设计更加 直观和简单,解决不能用单一的逼近与插值方法解决的曲面细分。
[0006] 为了解决上述问题,本发明提出了一种基于Loop细分的Ξ维云纹曲面显示方法, 所述方法包括:
[0007] 基于Loop细分的Ξ维云纹曲面显示方法,其特征在于,所述方法包括:
[0008] 输入一个粗略的Ξ维曲面;
[0009] 输入云纹图;
[0010] 根据输入细分次数进行预处理,生成Ξ角网格;
[0011] 确定一个Ξ角片与云纹图片的关系,预处理成Ξ角云纹网络;
[001引从上一次的曲面进行第k次迭代时,W曲面Fk-I的点、面和云纹计算得到曲面Fk的 点、面和云纹对应关系;
[0013] 进行η次迭代,生成最终的Ξ维云纹曲面。
[0014] 优选地,所述输入一个粗略的Ξ维曲面的步骤包括:
[0015] 输入曲面上的点、曲面上点与面的关系、及对应的云纹,获得一个粗略的云纹曲 面。
[0016] 优选地,在所述确定一个Ξ角片与云纹图片的关系的步骤之后,包括:
[0017] 用展开Ξ角网格的方式,确定每一个Ξ角片在云纹图片上的对应关系。
[001引优选地,所述预处理成Ξ角云纹网络步骤,包括:
[0019] 当输入的粗略的Ξ维曲面中控制网格包括四边形或者大于四边的多边形时,将四 边形或者大于四边的多边形加一些边,使原来的四边形或者大于四边的多边形形状保持不 变。
[0020] 相应地,本发明还提供一种基于Loop细分的Ξ维云纹曲面显示装置,所述装置包 括:
[0021] 输入模块,用于输入一个粗略的Ξ维曲面,及输入云纹图;
[0022] 生成模块,用于根据输入细分次数进行预处理,生成Ξ角网格;
[0023] 预处理模块,用于确定一个Ξ角片与云纹图片的关系,预处理成Ξ角云纹网络;
[0024] 计算模块,用于从上一次的曲面进行第k次迭代时,W曲面Fk-i的点、面和云纹计算 得到曲面Fk的点、面和云纹对应关系;
[0025] 曲面生成模块,用于进行η次迭代,生成最终的Ξ维云纹曲面。
[0026] 优选地,所述输入模块还用于输入曲面上的点、曲面上点与面的关系、及对应的云 纹,获得一个粗略的云纹曲面。
[0027] 优选地,所述预处理模块还用于用展开Ξ角网格的方式,确定每一个Ξ角片在云 纹图片上的对应关系。
[0028] 优选地,所述预处理模块当输入的粗略的Ξ维曲面中控制网格包括四边形或者大 于四边的多边形时,将四边形或者大于四边的多边形加一些边,使原来的四边形或者大于 四边的多边形形状保持不变。
[0029] 在本发明实施例中,在Ξ维云纹曲面显示中采用了融合逼近与插值的Loop细分技 术,可W解决不能用单一的逼近与插值方法解决的曲面细分,适用于云纹、一般的连续图像 等;同时实现了计算云纹的变换的简单快速,稳定性高。
【附图说明】
[0030] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W 根据运些附图获得其它的附图。
[0031] 图1是本发明实施例的基于Loop细分的Ξ维云纹曲面显示方法的流程示意图; [0032]图2a-图化是本发明实施例中Loop细分使用的面具示意图;
[0033] 图3是本发明实施例中Ξ角片网格变形示意图;
[0034] 图4是本发明实施例中云纹扩展算法示意图;
[0035] 图5是本发明实施例的基于Loop细分的Ξ维云纹曲面显示装置的结构组成示意 图。
【具体实施方式】
[0036] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0037]图1是本发明实施例的基于Loop细分的Ξ维云纹曲面显示方法的流程示意图,如 图1所示,该方法包括:
[003引 S1,输入一个粗略的Ξ维曲面;
[0039] S2,输入云纹图;
[0040] S3,根据输入细分次数进行预处理,生成Ξ角网格;
[0041] S4,确定一个Ξ角片与云纹图片的关系,预处理成Ξ角云纹网络;
[0042] S5,从上一次的曲面进行第k次迭代时,W曲面Fk-1的点、面和云纹计算得到曲面Fk 的点、面和云纹对应关系;
[0043] S6,进行η次迭代,生成最终的Ξ维云纹曲面。
[0044] 在S1中,包括输入曲面上的点,曲面上点与面的关系,输入对应的云纹。根据W上 Ξ者,可W得到一个粗略的云纹曲面,每个网络面都有对应的云纹。而输入迭代次数η,是用 来限定进行细分的次数,η越大最终的曲面越精细,但是用的资源也越多。
[004引在S3中,用展开Ξ角网格的方式,确定每一个Ξ角片在云纹图片上的对应关系。当 输入的粗略的Ξ维曲面中控制网格包括四边形或者大于四边的多边形时,将四边形或者大 于四边的多边形加一些边,使原来的四边形或者大于四边的多边形形状保持不变。但是控 制网格变成了 Ξ角形。把运时的Ξ角网格云纹曲面当成是Fo,表示还没有进行细分的曲面。
[0046] 在S5中,计算下一次迭代生成的曲面上的点。
[0047] 根据Loop细分算法把控制网格生成的顶点分为两类顶点,分别是E顶点和V顶点。 它们的分类依据是,E顶点是两个Ξ角形网格共享边生成的顶点,而V顶点是原顶点经过计 算偏移生成的顶点。通过W下公式实现。
[004引
[0049] 计算生成新的曲面上的控制网格点。
[0050] 计算相应的对应面:
[0051 ] Ve顶点对应的在原网格上的点是
Vv顶点对应的在原网格上的点是 V,根据点的对应关系,可W确定新生成的网格的每个Ξ个片在原网格中都可W找到对应 面,由此确定对应关系。
[0052] 当计算出对应的云纹之后,那么Ξ维云纹曲面Fk就生成了。
[0053] 在S6中,根据迭代次数η
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1