一种带尖锐特征的无网格表面绘制方法

文档序号:6385391阅读:302来源:国知局
专利名称:一种带尖锐特征的无网格表面绘制方法
技术领域
本发明涉及一种无网格表面绘制方法,尤其是涉及一种带尖锐特征的无网格表面绘制方法。
背景技术
三维扫描系统输出的是采样点元,通过该技术所得到的点元集合可以准确地表达物体的几何形状。由于各点元之间没有连接关系,也不需要保存拓扑结构信息,因此在处理复杂的三维物体时显得特别灵活和简单。因此,基于点的无网格几何建模和绘制在计算机图形学领域内受到越来越多的关注。使用点元作为基本元素进行表面绘制最早由Levoy等人提出。之后,出现了各种无网格表面绘制方法,例如,使用图像空间表面重建技术的方法、QSplat系统以及利用移动最小二乘(MLS,Moving Least Square)的方法等。Splatting算法是一种比较快速也较易实现的实时算法。在这种方式中,每个表面点元用一个小圆盘近似,这一近似的小圆盘被称为Splat。然而,Splatting算法并不能很好地处理表面模型中的尖锐特征,例如边或角等。这些尖锐特征在某些应用中是非常重要的,例如CSG(构造实体几何)建模、切割模拟等。Adams等人提出在边角区域用非常小的splat进行重采样。然而,这种方法需要非常高的采样率,并且这也只是一种近似方法,当将边角区域放大时,仍能看到失真。Pauly等人提出了一种用特殊的splat来绘制边缘的方法。这种splat由两个相交的圆盘组成,并且这两个圆盘拥有公共的圆心。切割的边缘就是两个圆盘的交线。这种方法的一个重要缺陷是不能绘制角点。Zwicker等提出切割线(clip line)的概念,指出边缘信息可以通过计算两个相交圆盘所在平面的交线得到。Wicke等提出了如何在CSG模型中绘制尖锐特征。此方法将splat的裁剪转化为内外点测试问题(inside/outside test,判断空间内一点是在模型内部还是模型外部)。该方法是目前最准确的方法,但该方法依赖于CSG模型,限制了它的应用。最近,为了去除对CSG模型的依赖,Ivo等使用了自适应的splat裁剪方法。但该方法对某些复杂情况仍然无法处理。点边混合模型是绘制尖锐特征的另一种策略,由Zhang等提出。除了点元集合外,该模型还包括了一个切割线的集合,用来绘制边角。但是有三个限制,因此在绘制前需要对模型进行一次预处理过程,当某个限制不满足时,增加点元集合的采样率,直到所有限制都被满足。

发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种稳定可靠、实现方便、非常适合于实际工程应用的带尖锐特征的无网格表面绘制方法。本发明的目的可以通过以下技术方案来实现一种带尖锐特征的无网格表面绘制方法,该方法包括以下步骤
第一步,采用点边混合模型对待绘制物体的表面进行建模;第二步,将模型中的表面点与相应的切割边进行关联,并保存关联结果;第三步,将模型中所有的切割边投影到观察平面上,形成投影切割边;第四步,将模型中所有的表面点投影到观察平面上,形成一个个相互重叠的椭圆;第五步,利用第三步中投影后的切割边,通过之字形剪裁算法对每个投影在观察平面上的椭圆进行裁剪;第六步,裁剪完毕后,对整个观察平面上的像素点进行归一化,获得待绘制物体的无网格表面。所述的无网格表面由若干个光滑表面s组成,所述的尖锐特征仅出现在两个或多个相邻的光滑表面之间,对于每个光滑表面S,有S= {Pn, LJ 其中,Pn为η个表面点的集合,η > 0,每个表面点中包含该点的属性,Lt为t个切割环的集合,t ^ 0,每个切割环包含一个边点的序列,在每个切割环中,连接任意两个的边点的线段称为切割边。所述的点的属性包括点的位置、法向量、颜色值和该点所代表的splat的半径。所述的点边混合模型PEM定义如下PEM = {SK, VJ其中,Sk表不包含K个光滑表面的集合,Vm为m个边点的集合。所述的边点为尖锐特征中的边上的点。所述的表面点与切割边进行关联是指在每个光滑表面中,计算表面点与切割边间的距离,实现关联,具体描述为以表面点的位置为球心,表面点所表示的splat的半径为半径作每个表面点的包围球,同时将切割边用包围球包起来,然后作包围球间的碰撞检测,若某一包围球与某一切害I]边相交,则表明它们之间有关联关系。所述的之字型裁剪算法是指根据观察平面上有离散点的射线与切割边判断该离散点是否需被裁剪,并舍弃需被裁剪的离散点,具体为I)针对观察平面上的某一离散点D,从该点画一条射线,使这条射线经过第一条切割边的中心c ;2)计算该射线与所有投影切割边的交点,并记录距离点D最近的交点,该交点所在的切割边定义为关键切割边e ;3)判断点D是否满足志*;^<0,若是,则点D为需被裁剪的离散点,舍弃点D,若否,则保留点D。当距离点D最近的交点为两条投影切割边的公共点时,另取一条射线,使其通过其中一条切割边的中点,并计算其与另一条边的交点,根据交点与点D的距离选取关键切割边。与现有技术相比,本发明具有以下优点(I)省去了增加采样点这一复杂的预处理过程,简化了整个建模过程;(2)绘制过程是在经典的Splatting算法中做的部分改进,整个绘制过程非常易于实现;(3)本发明对于处理各种尖锐边缘效果非常好。


图1为本发明的流程示意图;图2为采用本发明方法绘制的齿轮模型效果图。
具体实施例方式下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。实施例如图1所示,一种带尖锐特征的无网格表面绘制方法,该方法包括以下步骤第一步,在绘制前,采用点边混合模型对待绘制物体的表面进行建模,;在点边混合模型中,用P来表示表面点;而用V来表示尖锐特征中的边上的点,并称其为边点。所述的无网格表面由若干个光滑表面s组成,规定尖锐特征仅出现在两个或多个相邻的光滑表面之间,对于每个光滑表面S,有s = {Pn, LJ其中,Pn为η个表面点的集合,η > O,每个表面点中包含该点的属性,包括点的位置、法向量、颜色值和该点所代`表的splat的半径;Lt为t个切割环的集合,t ^ O。每个切割环包含一个边点的序列,将这些边点按该序列连接起来,并连上其头尾,就可以组成一个环状的切割环。由于我们之前规定了尖锐特征只能出现在两个或多个相邻的光滑表面之间,因此这些特征只能以环状形式存在于模型中。切割环中的边点是按逆时针的顺序排列的,即当视线沿着表面点的法向量的反方向看过去,边点的排列顺序是逆时针的。另外需要指出的是,每个光滑表面可以没有切割环,例如一个光滑的球面;也可以有多于一个的切割环,这种情况发生在表面中有洞的情况。在每个切割环中,连接任意两个的边点的线段称为切割线段或切割边。所述的点边混合模型PEM定义如下PEM = {SK,VJ其中,3£表示包含K个光滑表面的集合,Sk = {Si|i = 1,…,K},VmSm个边点的
隹A
口 O第二步,将模型中的表面点与相应的切割边进行关联,并保存关联结果。所述的表面点与切割边进行关联是指在每个光滑表面中,计算表面点与切割边间的距离,实现关联,具体描述为以表面点的位置为球心,表面点所表示的splat的半径为半径作每个表面点的包围球,同时将切割边用包围球包起来,然后作包围球间的碰撞检测,若某一包围球与某一切害I]边相交,则表明它们之间有关联关系。第三步,绘制过程从这步开始,将模型中所有切割边投影到观察平面上,形成投影切割边。
第四步,将模型中所有的表面点投影到观察平面上,形成一个个相互重叠的椭圆。第五步,利用第三步中投影后的切割边,通过之字形剪裁算法对每个投影在观察平面上的椭圆进行裁剪。所述的之字型裁剪算法如下所述的之字型裁剪算法是指根据观察平面上有离散点的射线与切割边判断该离散点是否需被裁剪,并舍弃需被裁剪的离散点,具体为I)针对观察平面上的某一离散点D,从该点画一条射线,使这条射线经过第一条切割边的中心c ;2)计算该射线与所有投影切割边的交点,并记录距离点D最近的交点,该交点所在的切割边定义为关键 切割边e ;3)判断点D是否 两足cD*ne<0 ι右是,则点D为需被裁到的尚散点,舍弃点D,右否,则保留点D。另外需要指出的是,当射线正好通过两条切割边的公共点时,则可能会无法判断这两个切割边哪个是关键切割边。解决办法是另画一条射线,使其通过其中一条切割边的中点,并计算其与另一条边的交点,看哪个交点最近哪个就是关键切割边。该裁剪算法的伪代码如下所示
权利要求
1.一种带尖锐特征的无网格表面绘制方法,其特征在于,该方法包括以下步骤 第一步,采用点边混合模型对待绘制物体的表面进行建模; 第二步,将模型中的表面点与相应的切割边进行关联,并保存关联结果; 第三步,将模型中所有的切割边投影到观察平面上,形成投影切割边; 第四步,将模型中所有的表面点投影到观察平面上,形成一个个相互重叠的椭圆; 第五步,利用第三步中投影后的切割边,通过之字形剪裁算法对每个投影在观察平面上的椭圆进行裁剪; 第六步,裁剪完毕后,对整个观察平面上的像素点进行归一化,获得待绘制物体的无网格表面。
2.根据权利要求1所述的一种带尖锐特征的无网格表面绘制方法,其特征在于,所述的无网格表面由若干个光滑表面s组成,所述的尖锐特征仅出现在两个或多个相邻的光滑表面之间,对于每个光滑表面S,有S = {Pn, LJ 其中,PnS η个表面点的集合,η > O,每个表面点中包含该点的属性,Lt为t个切割环的集合,t ^ O,每个切割环包含一个边点的序列,在每个切割环中,连接任意两个的边点的线段称为切割边。
3.根据权利要求2所述的一种带尖锐特征的无网格表面绘制方法,其特征在于,所述的点的属性包括点的位置、法向量、颜色值和该点所代表的splat的半径。
4.根据权利要求2所述的一种带尖锐特征的无网格表面绘制方法,其特征在于,所述的点边混合模型PEM定义如下PEM = {SK,VJ 其中,Sk表不包含K个光滑表面的集合,Vm为m个边点的集合。
5.根据权利要求2或4所述的一种带尖锐特征的无网格表面绘制方法,其特征在于,所述的边点为尖锐特征中的边上的点。
6.根据权利要求3所述的一种带尖锐特征的无网格表面绘制方法,其特征在于,所述的表面点与切割边进行关联是指在每个光滑表面中,计算表面点与切割边间的距离,实现关联,具体描述为 以表面点的位置为球心,表面点所表示的splat的半径为半径作每个表面点的包围球,同时将切割边用包围球包起来,然后作包围球间的碰撞检测,若某一包围球与某一切割边相交,则表明它们之间有关联关系。
7.根据权利要求1所述的一种带尖锐特征的无网格表面绘制方法,其特征在于,所述的之字型裁剪算法是指根据观察平面上有离散点的射线与切割边判断该离散点是否需被裁剪,并舍弃需被裁剪的离散点,具体为 1)针对观察平面上的某一离散点D,从该点画一条射线,使这条射线经过第一条切割边的中心c ; 2)计算该射线与所有投影切割边的交点,并记录距离点D最近的交点,该交点所在的切割边定义为关键切割边e ; 3)判断点D是否满足疋*&<0,若是,则点D为需被裁剪的离散点,舍弃点D,若否,则保留点D。
8.根据权利要求7所述的一种带尖锐特征的无网格表面绘制方法,其特征在于,当距离点D最近的交点为两条投影切割边的公共点时,另取一条射线,使其通过其中一条切割边的中点,并计算其与另一条边的交点,根据交点与点D的距离选取关键切割边。
全文摘要
本发明涉及一种带尖锐特征的无网格表面绘制方法,该方法包括以下步骤第一步,采用点边混合模型对待绘制物体的表面进行建模;第二步,将模型中的表面点与相应的切割边进行关联,并保存关联结果;第三步,将模型中所有的切割边投影到观察平面上,形成投影切割边;第四步,将模型中所有的表面点投影到观察平面上,形成一个个相互重叠的椭圆;第五步,利用第三步中投影后的切割边,通过之字形剪裁算法对每个投影在观察平面上的椭圆进行裁剪;第六步,裁剪完毕后,对整个观察平面上的像素点进行归一化,获得待绘制物体的无网格表面。与现有技术相比,本发明具有稳定可靠、实现方便、非常适合于实际工程应用等优点。
文档编号G06T17/30GK103065362SQ201210571768
公开日2013年4月24日 申请日期2012年12月25日 优先权日2012年12月25日
发明者顾力栩, 戴春锋 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1