一种基于基元分布的三维表面纹理合成方法

文档序号:9327879阅读:745来源:国知局
一种基于基元分布的三维表面纹理合成方法
【技术领域】
[0001] 本发明涉及三维表面纹理合成方法,尤其涉及一种基于基元分布的三维表面纹理 合成方法。
【背景技术】
[0002] 在计算机图形学中,三维表面纹理合成是在三维表面上直接生成与样本纹理相似 的纹理图案,其主要作用是为三维模型添加表面细节,从而增强模型表面的真实感。这样不 仅可以弥补几何绘制的不足,还可以大大简化建模的过程。纹理中具有大量重复的纹理元 素,重复的纹理元素为纹理基元。
[0003]目前,在三维表面进行纹理合成的一种最直接方式是:首先需要获得一张尺寸足 够大的纹理图像,即通过采用二维纹理合成技术自动生成一张具有任意尺寸的且与样本纹 理具有相似外观的新纹理图像,然后再直接映射到三维表面。但该过程需要对模型进行全 局参数化,而且还可能产生纹理失真的情况,因而会极大地影响三维表面纹理合成的效果。 另一种处理方式是:根据样本纹理直接在三维表面上合成新纹理,使得能够避免直接映射 时所产生的纹理扭曲或者不连续的问题。这种三维表面纹理合成方式通常可以取得较好的 纹理合成效果,但需要在合成过程中对样本纹理进行大量搜索匹配,故合成效率较低。
[0004] Dichler 等人提出的方法(Dischler M. J.,Maritaud K.,Levy B.,et al. Texture Particles. Computer Graphics Forum, 2002, 21:401-410)中首先把样本纹理分割成一些 基本的纹理元素,然后分析这些元素在样本纹理中的空间分布,并根据该分布在三维表面 上对这些元素进行重新排列来生成最终的结果。该方法速度很快,可以通过用户交互对合 成过程进行控制,而且还可以用来合成三维几何元素。然而,该方法通常没有考虑不同类型 纹理元素之间的空间相邻关系,以及在重组纹理元素时没有考虑其位置、形状对纹理合成 的影响。因而,在三维表面重组纹理元素后,合成的结果中容易产生区域重叠或较大空洞等 瑕疵,且无法保持输入样本纹理潜在的规律性。
[0005] 基于基元重组的纹理设计与合成方法提供了一种近似规则纹理合成方法:从给定 的样本纹理图像中进行一次基元抽取,之后在纹理设计和合成过程中将不再需要样本纹理 的参与;纹理的生成是按照一定的生成模式重组已抽取基元及变形基元的方式获得新纹 理。该方法能够很好地解决纹理合成过程中需要参照样本纹理的问题,通过用户可控的处 理方式,这使得合成的输出结果可以是多种多样的。然而,该技术方案仅能实现二维纹理的 合成,如果将合成的纹理映射到三维模型表面,则需要对三维模型进行全局参数化,而模型 参数化效果的好坏则直接影响最终纹理贴图的效果。此外,如果通过扩展该技术方案实现 三维表面纹理合成,其中最大的难点在于如何对二维平面邻域和三维表面邻域进行比较。 另一方面,进行邻域匹配时的穷尽搜索会极大地降低纹理合成的效率。
[0006] 现有的三维表面纹理合成中,特别是在三维表面处理近似规则纹理时,合成效果 不能很好地保持纹理元素的完整性,从而产生断裂或不连续的纹理结果。现有的三维表面 合成技术在合成过程中对样本纹理进行大量的邻域匹配搜索,造成纹理合成效率低。
[0007] 因此,如何参照样本纹理的基元分布,在三维表面上直接合成与样本纹理的基元 分布具有相似外观的新的基元分布及如何在三维模型局部参数化的情况下能够进行有效 的纹理映射,从而高效率地、获得高质量的三维表面纹理合成结果成为亟待解决的问题。

【发明内容】

[0008] 本发明所要解决的技术问题是:现有的纹理合成技术中纹理结构扭曲及纹理合成 效率低的问题。
[0009] 为解决上述技术问题,本发明一方面提出了一种基于基元分布的三维表面纹理合 成方法,该方法包括:
[0010] 提取基兀;
[0011 ] 构建基兀连通关系;
[0012] 生成三维模型表面矢量场;
[0013] 构建三维模型表面基元分布;
[0014] 在三维模型表面放置基元。
[0015] 优选地,所述提取基元的步骤包括:
[0016] 结合样本纹理的颜色特征和纹理特征定义相似度量机制,以准确地检测样本纹理 中所有外观相似的基兀;
[0017] 采用基于外观相似的优化图割模型的重复元素提取方法对样本纹理进行分割,从 而同时提取样本纹理的基元。
[0018] 优选地,所述构建基元连通关系的步骤包括:
[0019] 确定每个基元在样本纹理中的位置,以每个基元所在区域的中心位置构建离散点 集;
[0020] 根据所述离散点集,采用三角剖分方法构建基元的连通关系,以获得样本纹理的 基元分布。
[0021] 优选地,所述三角剖分过程中产生的三角形的最大内角小于120度。
[0022] 优选地,所述生成三维模型表面矢量场的步骤包括:
[0023] 在三维模型中随机选取若干个三角面片,在所选三角面片标注切方向矢量;
[0024] 根据所述标注的切方向矢量,采用径向基函数插值算法计算所述三维模型中剩余 三角面片的切方向矢量,以生成三维模型表面矢量场。
[0025] 优选地,所述构建三维模型表面基元分布的步骤包括:
[0026] S41、在三维模型表面选取第一基元,采用投影变换的方式将三维模型表面所述第 一基元的邻域投影到基平面上,以产生与三维表面上的基元分布相对应的二维空间分布;
[0027] S42、参照样本纹理的基元分布,采用邻域比较方法获得三维模型表面上待添加基 元的相对于第一基元的位置信息,根据所述待添加基元的相对于第一基元的位置信息,计 算所述待添加基元在三维模型表面的位置;
[0028] S43、重复步骤S41和S42,逐一计算待添加基元在三维模型表面的位置,以在三维 模型表面生成与样本纹理基元分布具有相似外观的新的基元分布;
[0029] 所述待添加基元的相对于第一基元的位置信息包括待添加基元的偏移方向角和 偏移距离;
[0030] 所述基平面为所述第一基元所在的三角面片。
[0031] 优选地,所述邻域比较方法包括:
[0032] 在三维模型表面选取第一基元,将所述第一基元的投影变换后的邻域与样本纹理 基元分布的邻域逐一进行比较,当所述第一基元的投影变换后的邻域与样本纹理基元分布 的邻域误差最小时,在样本纹理基元分布中确定与所述第一基元具有最相似邻域的参照基 元,建立所述第一基元的投影变换后的邻域中各个基元与样本纹理基元分布的邻域中各个 基元之间的对应关系,获得待添加基元的相对于第一基元的位置信息。
[0033] 优选地,当三维模型表面基元数目达到指定数目时,则停止构建三维模型表面基 元分布。
[0034] 优选地,所述在三维模型表面放置基元的步骤包括:
[0035] 在三维模型表面采用局部区域增长方法确定与待添加基元的大小相适应的目标 区域;
[0036] 对目标区域进行局部参数化展平,在三维模型表面采用局部纹理映射放置基元。
[0037] 优选地,所述在三维模型表面采用局部纹理映射放置基元之后,还包括:
[0038] 放大或缩小映射至三维模型表面的基元,以避免基元之间的空洞或重叠。
[0039] 本发明提出的基于基元分布的三维表面纹理合成方法,参照样本纹理的基元分 布,在三维表面上合成与样本纹理具有一定相似外观的基
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1