当前位置: 首页 > 专利查询>浙江大学专利>正文

一种快速分割三角形的光滑自由变形方法技术

技术编号:15844258 阅读:177 留言:0更新日期:2017-07-18 17:43
本发明专利技术公开了一种快速分割三角形的光滑自由变形算法,属于计算机图像处理技术领域,该算法包括三角均匀剖分步骤;三角均匀剖分步骤包括依据等分段长度控制参数,计算初始三角面片三边的等分段数;从查找表中获取与三边等分段数相对应的剖分方案对初始三角面片进行三角剖分,查找表为以三角面片三边的等分段数为索引的剖分方案集合。通过设置使用查找表,不仅加快了该三角均匀剖分骤的运行速度,且缩短了各类初始三角面片的剖分时间差,从而适合于在GPU进行并行三角均匀剖分计算。

A fast free-form deformation algorithm for fast segmentation of triangles

The invention discloses a fast segmentation free smooth triangular deformation algorithm, which belongs to the technical field of computer image processing, the algorithm includes delta uniform mesh steps; trigonometric uniform subdivision steps include the basis of segment length control parameters, the calculation of the initial triangle three side of the number of segments; acquisition and edge segment number corresponding to three the section from the lookup table divides the triangle on the initial triangles, the lookup table is the three side of the triangle with the number of segments for the index subdivision scheme set. By using a lookup table, not only speed up the running speed of the triangle mesh uniform, and shortened the various initial triangle mesh time difference, thus suitable for the parallel GPU trigonometric uniform subdivision calculation.

【技术实现步骤摘要】
一种快速分割三角形的光滑自由变形算法
本专利技术涉及计算机图像处理
,具体地说,涉及一种快速分割三角形的光滑自由变形算法。
技术介绍
在几何建模和计算机动画中,空间变形是几何外形编辑和柔性体动画生成的关键技术之一,其中,最具代表性的是自由变形技术(FFD),已发展出多个变种,如精确自由变形方法、光滑自由变形方法等,由于其简单易用、功能强大,已经被集成到3DSMax、Maya、SoftimageXSI等商业软件中。由于传统自由变形方法的变形是作用到待编辑模型的采样点上,再由采样点变形后的位置还原出模型的变形结果,导致其在变形过程中存在因采样点密度太小而出现走样的问题。为解决走样问题,通常是增加采样点的密度,但会造成性能上较大的开销;更进一步的方法是根据面片大小和曲面曲率,自适应确定采样密度,虽然降低了性能开销,但自适应算法实现相对复杂,且无法很好地处理一些奇异情况。精确自由变形作为解决FFD中走样问题的方法,其是通过沿节点盒切割初始三角面片,计算三角面片上足够数目采样点变形后的位置,再用采样点插值计算出原始三角面片变形后的精确结果。光滑自由变形方法通过以下七个步骤对精确自由变形方法进行改进:(1)定义变形空间步骤选用B样条体作为变形空间,记作R(u,v,w):其中,表示mu×mv×mw个控制顶点。是B样条基函数。然后用该变形空间包裹住待变形模型。(2)三角剖分步骤通过B样条体上的节点盒分割初始三角面片。(3)模型嵌入步骤在本步骤中,嵌入过程为计算待变形模型在变形空间中参数坐标的过程,具体通过嵌入函数U=E(X)将采样点从世界坐标系映射到变形空间,其中,X为采样点在世界坐标系中的坐标,U为采样点在变形空间的参数坐标。嵌入函数E由变形空间决定,在光滑自由变形中,通常是通过的一定的方法构造B样条体,使嵌入变形空间点的参数坐标与该点在世界坐标系中的坐标相等,即E(X)=X,以简化嵌入过程中的计算。并通常选用三次贝塞尔曲面片来拟合精确的变形结果,由于每一个切割产生的三角形,都会在变形后得到一个三角贝赛尔曲面片,所以要在每一个切割产生的三角形上进行采样,共需要3×3个约束点及m(m由变形空间的次数决定)个拟合点,即光滑自由变形共需要9+m个采样点。然后用E(X)=X计算出采样点在变形空间中的参数坐标,同时通过重心坐标插值计算采样点的法向。(4)几何变形步骤几何变形过程为改变变形空间并将该变形传递至待变形模型的过程,具体为将采样点嵌入B样条体中,以通过这些采样点将变形空间的变形传递至待变形模型中的。当用户改变B样条体控制顶点的位置后,先将采样点的参数坐标和控制顶点位置代入到定义变形空间所用的公式中,以求得采样点变形后的位置;再以这些新的位置为输入,通过带约束的拟合方法,求出作为变形结果的三角贝塞尔曲面的控制顶点。(5)法向变形步骤为了解决精确自由变形中结果不够光滑自然的问题,通过重心坐标插值估算得采样点的法向,然后计算出采样点的法向量变形以后的值;接着,用与几何变形步骤中相同的方法,以采样点变形后的法向量为输入,用三次贝塞尔曲面片拟合出变形后的三角曲面片法向量场。在细分阶段同时细分法向量场,并以此作为细分三角形的法向,从而可得到在光滑边两侧视觉上G1连续的几何和G0连续的法向量场;在尖锐边两侧G0连续的几何和G-1连续的法向量场。(6)几何微调步骤为了得到视觉上更加细腻的变形结果,还需根据法向信息对表示几何的三角贝塞尔曲面片的控制顶点进行微调。(7)细分绘制步骤将法向变形步骤和几何微调步骤的结果进行细分后绘制。经过上述七个步骤的处理后,通过将CUDA应用到了精确自由变形中,不仅可实现比精确自由变形方法快50倍左右的计算速度,而且改进了变形结果的视觉美观度。另一方面,FFD构架下的算法大多是计算密集型的,且这些算法能较好地适用于单指令流多数据流计算模型,随着通用计算的兴起,很多学者利用GPU加速各类FFD,从而使这些算法能对大型三维模型进行实时编辑。GPU从一个仅负责图形绘制的专用硬件渐渐演变为一个多线程、高带宽的通用计算硬件。CUDA、OpenCL等通用计算框架的出现,更加方便了人们用GPU对各类算法进行加速。然而,在GPU平台上实现光滑自由变形方法中的剖分三角形步骤存有两个问题:(1)在GPU中进行并行计算时,其三角均匀剖分步骤中的时间取决于剖分时间最长的初始三角面片;(2)GPU不适合针对“剖分三角形”这种复杂的算法进行加速;所以现有三角剖分步骤均在CPU中进行,导致在载入模型时需要较长的初始化时间。以上所述是光滑自由变形的一个问题,另一方面,光滑自由变形中,其它步骤均用CUDA实现,无法跨平台计算。
技术实现思路
本专利技术的目的为提供一种快速分割三角形的光滑自由变形算法,使其能在GPU中进行三角均匀剖分,提高光滑自由变形速度,且克服了原有光滑自由变形只能在NVDIA硬件中运行的平台局限性。为了实现上述目的,本专利技术提供的光滑自由变形算法包括三角均匀剖分步骤,三角均匀剖分步骤包括:依据等分段长度控制参数,计算初始三角面片三边的等分段数;从查找表中获取与三边等分段数相对应的剖分方案对初始三角面片进行三角剖分,查找表为以三角面片三边的等分段数为索引的剖分方案集合。由于在生成查找表步骤中,各基准三角面片的剖分方案已制成以其三边等分段数为索引的集合,所以在对模型上的初始三角面片进行均匀剖分时,只需依据等分段长度控制参数计算其三边的等分段数,就可直接调用对应剖分方案对该初始三角面片进行剖分,不仅加快了该步骤的运行速度,且缩短各类初始三角面片的剖分时间差,从而使三角均匀剖分步骤适合于在GPU进行加速。一个具体的方案为等分段数是初始三角面片的边长度与等分段长度控制参数之商的向上取整值。算法简单。另一个具体的方案为还包括:接收对等分段长度控制参数的设定。通过接收用户对等分段长度控制参数的设置,便于用户对分割产生子三角形的大小进行控制,以根据需求和硬件的性能,对变形误差进行控制。另一个具体的方案为剖分方案包括各等分点的重心坐标及剖分后各子三角形顶点的连接关系。该存储方式简单且易于查找。进一步的具体方案为从查找表中获取与三边等分段数相对应的剖分方案对初始三角面片进行三角剖分的步骤包括:从查找表中获取对应剖分方案中等分点的重心坐标与子三角形顶点的连接关系;根据初始三角面片三个顶点在当前坐标系中的坐标与对应分割方案中各等分点的重心坐标,用公式Pa=u*P1+v*P2+w*p3计算出各等分点在当前坐标系中的坐标,其中,(u,v,w)为等分点重心坐标,P1,P2,P3为初始三角形的顶点坐标。Pa为计算所得的等分点的坐标;根据连接关系连接各等分点对初始三角面片进行三角剖分。一个优选的方案为生成查找表的步骤包括:计算一系列基准三角面片三边的长度;依据基准等分段长度控制参数,计算各基准三角面片三边的等分段数;对基准三角面片进行三角剖分,并从剖分结果中提取剖分方案,并将剖分方案以三边等分段数为索引存储到查找表中。将一系列基准三角面片的剖分结果提取成剖分方案并以该基准三角面片的三边等分段数为索引储存到查找表中,以便随时调用该剖分方案,节省了大量的时间。更优选的方案为基准三角面片三边的等分段数为各边的长度与基准等分段长度控制参数之商的向上取整值本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201710153488.html" title="一种快速分割三角形的光滑自由变形方法原文来自X技术">快速分割三角形的光滑自由变形方法</a>

【技术保护点】
一种快速分割三角形的光滑自由变形算法,包括三角均匀剖分步骤;其特征在于,所述三角均匀剖分步骤包括:依据等分段长度控制参数,计算初始三角面片三边的等分段数;从查找表中获取与三边等分段数相对应的剖分方案对初始三角面片进行三角剖分,所述查找表为以三角面片三边的等分段数为索引的剖分方案集合。

【技术特征摘要】
1.一种快速分割三角形的光滑自由变形算法,包括三角均匀剖分步骤;其特征在于,所述三角均匀剖分步骤包括:依据等分段长度控制参数,计算初始三角面片三边的等分段数;从查找表中获取与三边等分段数相对应的剖分方案对初始三角面片进行三角剖分,所述查找表为以三角面片三边的等分段数为索引的剖分方案集合。2.根据权利要求1所述的光滑自由变形算法,其特征在于:等分段数为初始三角面片的边长度与等分段长度控制参数之商的向上取整值。3.根据权利要求1所述的光滑自由变形算法,其特征在于,还包括:接收对等分段长度控制参数的设定。4.根据权利要求1所述的光滑自由变形算法,其特征在于:所述剖分方案包括各等分点的重心坐标及剖分后各子三角形顶点的连接关系。5.根据权利要求4所述的光滑自由变形算法,其特征在于,所述从查找表中获取与三边等分段数相对应的剖分方案对初始三角面片进行三角剖分的步骤包括:从查找表中获取对应剖分方案中等分点的重心坐标与子三角形顶点的连接关系;根据初始三角面片三个顶点在当前坐标系中的坐标及对应剖分方案中各等分点的重心坐标,计算出各等分点在当前坐标系中的坐标;根据连接关系连接各等分点对初始三角面片进行三角剖分。6.根据权利要求1至5任一项权利要求所述的光滑自由变形算法,其特征在于,生成所述查找表的步骤包括:计算一系列基准三角面片三边的长度;依据基准等分段长度控制参数,计算各基准三角面片三边的等分段数;对基准三角面片进行三角剖分,并从剖分结果中提取剖分方案;剖分方案以三...

【专利技术属性】
技术研发人员:冯结青陆哲琪
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1