旋转体模型生成方法

文档序号:6513375阅读:435来源:国知局
旋转体模型生成方法
【专利摘要】本发明涉及图像处理【技术领域】,公开了一种旋转体模型生成方法,包括以下步骤:S1:在旋转体上且垂直于旋转轴的平面上划分出包括底面和顶面的N个圆盘,N≥3;S2:在每一层圆盘的圆周上分别采集Mi个点作为待建立的旋转体模型的顶点,Mi≥2,i表示圆盘的层数,1≤i≤N;S3:对于任一个圆盘,连接其上相邻的两个顶点和与该圆盘相邻圆盘上的至少一个顶点形成的多边形组成的面作为旋转体模型的侧面,且将底面的顶点连接起来形成旋转体模型的底面,且将顶面的顶点连接起来形成旋转体模型的顶面。本发明提出的旋转体模型的生成方法生成旋转体模型时间复杂度低,并且存储时能够进行很大程度的压缩,节省存储空间。
【专利说明】 旋转体模型生成方法

【技术领域】
[0001]本发明涉及图像处理【技术领域】,特别涉及一种旋转体模型生成方法。

【背景技术】
[0002]三维模型是现实世界物体在计算机中的虚拟表示,是实体造型、仿真计算、动画制作等应用的基本单元。在图形学的研究中,三维模型始终得到了研究者很大的关注。
[0003]三维模型有多种表示方法,目前最为流行的三维模型的表示方法为网格的表示法。一个三维模型包括众多顶点,相邻的若干顶点构成面片,面片包含表示其方向的法向。根据面片的种类可以将模型分为三角形面片模型和其他多边形面片模型,这些构成了网格模型的最基本的元素。模型还可以拥有纹理、材质、反光特性等其他属性。目前比较流行的三维模型的格式有obj格式、3ds格式、ply格式等。
[0004]旋转体是一类较为特殊的几何形体。一条平面曲线绕着它所在的平面内的一条定直线旋转所形成的曲面叫旋转面,封闭的旋转面围成的几何体叫旋转体。许多物体如花瓶、杯子、路灯等都可以看作是旋转体。旋转体广泛存在于现实世界中的人造物体中。
[0005]现有的网格表示旋转体时没有充分利用旋转体的几何性质,因此信息冗余度较高,浪费了很多存储空间。并且在建模时由于现有的网格表示只有顶点的位置信息而没有相邻顶点位置关系的信息,通常需要交复杂的顶点连接算法生成面片,因为建模过程的时间見杂度闻。


【发明内容】

[0006](一)要解决的技术问题
[0007]本发明要解决的技术问题是:如何在生成旋转体模型时降低建模过程的时间复杂度。
[0008](二)技术方案
[0009]为解决上述技术问题,本发明提供了一种旋转体模型生成方法,包括以下步骤:
[0010]S1:在旋转体上且垂直于旋转轴的平面上划分出包括底面和顶面的N个圆盘,N ^ 3 ;
[0011]S2:在每一层圆盘的圆周上分别采集Mi个点作为待建立的旋转体模型的顶点,Mi彡2,i表示圆盘的层数,I ^ i
[0012]S3:对于任一个圆盘,连接其上相邻的两个顶点和与该圆盘相邻圆盘上的至少一个顶点形成的多边形组成的面作为所述旋转体模型的侧面,且将所述底面的顶点连接起来形成所述旋转体模型的底面,且将所述顶面的顶点连接起来形成所述旋转体模型的顶面。
[0013]其中,所述步骤SI中,在旋转体上且垂直于旋转轴的平面上等间距地划分出包括底面和顶面的N个圆盘。
[0014]其中,所述步骤S2中,对于第i层圆盘,等角度地采集Mi个点。
[0015]其中,等角度地采集Mi个点,使相邻两点对应的圆心角为5°?20°。
[0016]其中,所述步骤S2中,每层圆盘采集的点数相等。
[0017]其中,所述步骤S3中,对于任一个圆盘,连接其上相邻的两个顶点和与该圆盘相邻圆盘上的至少一个顶点形成的多边形组成的面作为所述旋转体模型的侧面具体为:
[0018]以第η层圆盘上的相邻两点为顶点,以第η+1层圆盘上的一个点为顶点形成三角形面片,其中,I ^ n ^ N -1 ;或以第η层圆盘上的相邻两点为顶点,以第η — I层圆盘上的一个点为顶点形成三角形面片,其中,2 < η < N,若干所述三角形面片形成所述旋转体模型的侧面。
[0019]其中,所述步骤S3中,将所述底面的顶点连接起来形成所述旋转体模型的底面具体为:
[0020]以底面圆周上的三个点Α、Β和C为顶点,且点B和C为底面圆周上相邻的两个点,连接Α、B和C三个点形成三角形面片。
[0021]其中,所述步骤S3中,将所述顶面的顶点连接起来形成所述旋转体模型的顶面具体为:
[0022]以顶面圆周上的三个点Α、Β和C为顶点,且点B和C为顶面圆周上相邻的两个点,连接Α、B和C三个点形成三角形面片。
[0023](三)有益效果
[0024]本发明提出的旋转体模型的生成方法实现简单,根据若干垂直于旋转体轴线的圆盘中相邻圆盘上的相邻顶点位置关系,定位圆盘上的点更加方便,避免了现有技术中网格顶点没有关联关系需要复杂的连接算法生成面片,因此本发明相对于现有的方法生成旋转体模型时间复杂度低。

【专利附图】

【附图说明】
[0025]图1是本发明实施例的一种旋转体模型生成方法流程图;
[0026]图2是采用本发明的方法形成的花瓶的旋转体模型示意图。

【具体实施方式】
[0027]下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0028]本实施例提供的旋转体模型生成方法如图1所示,包括:
[0029]步骤S110,在旋转体上且垂直于旋转轴的平面上划分出包括底面和顶面的N个圆盘,NS 3。可以将旋转体的高度均匀地分成N — I (N为正整数,可以取50)份,这样便划分出了 N个圆盘。
[0030]步骤S120,在每一层圆盘的圆周上分别采集Mi个点作为待建立的旋转体模型的顶点,MiS 2,i表示圆盘的层数,I彡i彡N (即?=1,2,...,Ν)。每层的圆盘上采集的点数可以不同也可以相同。
[0031]步骤S130,对于任一个圆盘,连接其上相邻的两个顶点和与该圆盘相邻圆盘上的至少一个顶点形成的多边形组成的面作为所述旋转体模型的侧面,且将所述底面的顶点连接起来形成所述旋转体模型的底面,且将所述顶面的顶点连接起来形成所述旋转体模型的顶面。
[0032]本实施例的旋转体模型生成方法中,根据若干垂直于旋转体轴线的圆盘中相邻圆盘上的相邻顶点位置关系,定位圆盘上的点更加方便,避免了现有技术中网格顶点没有关联关系需要复杂的连接算法生成面片,因此本发明相对于现有的方法生成旋转体模型时间复杂度低。
[0033]进一步地,为了使最终生成的旋转体模型表面更均匀,步骤SllO中,在旋转体上且垂直于旋转轴的平面上等间距地划分出包括底面和顶面的N个圆盘。
[0034]进一步地,为了使最终生成的旋转体模型表面更均匀,步骤S120中,对于第i层圆盘,等角度地采集Mi个点。即相邻两点对应的圆心角相等,优选地,使相邻两点对应的圆心角为5°?20°,这样采集的点交密集,形成的三角形面片较小,使旋转体表面更接近于真实物体表面。为了方便采集,在每层圆盘采集的点数相等,无需对每一层圆盘设置要采集的点数。
[0035]从理论上讲,划分出的圆盘数越多,采集的点越密集,最终生成的旋转体模型表面更均匀,更接近于真实物体表面。另外等间距的划分圆盘及等角度的采点可以采用更少的存储空间,因为每一层都是一个圆盘,并且均匀采点,所以知道了采样数,只要知道圆盘上其中一个点的坐标,可以用圆心角+半径来表示一层所有的点,不用存储每一个点的具体坐标。
[0036]本实施例的步骤S3中,将相邻两层圆盘的顶点连接起来形成所述旋转体模型的侧面具体为:
[0037]以第η层圆盘上的相邻两点为顶点,以第η+1层圆盘上的一个点为顶点形成三角形面片,其中,I ^ n ^ N -1 ;或以第η层圆盘上的相邻两点为顶点,以第η — I层圆盘上的一个点为顶点形成三角形面片,其中,2 < η < N,若干所述三角形面片形成所述旋转体模型的侧面。优选地,在第η+1或第η — I层圆盘上的一个点也优选离第η层圆盘上的两点较近或最近(第η+1或第η — I层圆盘上的点分别离第η层圆盘上的两点的距离和最小)的点,这样使得最终生成的旋转体模型表面更均匀,更接近于真实物体表面。
[0038]旋转体模型的底面和顶面为平面,因此形成底面和顶面相对简单,也可以采用三角形面片形成底面和顶面。
[0039]本实施例的步骤S3中,将所述底面的顶点连接起来形成所述旋转体模型的底面具体为:以底面圆周上的三个点Α、Β和C为顶点,为了便于算法设计,减小算法复杂度,点B和C为底面圆周上相邻的两个点,连接Α、Β和C三个点形成三角形面片。
[0040]本实施例的步骤S3中,将所述顶面的顶点连接起来形成所述旋转体模型的顶面具体为:以顶面圆周上的三个点Α、Β和C为顶点,为了便于算法设计,减小算法复杂度,点B和C为顶面圆周上相邻的两个点,连接Α、Β和C三个点形成三角形面片。
[0041]本实施例中,优选采用形成三角形面片的旋转体表面,因为三点确定一个平面。当然也不排除四边形面片形成旋转体表面,只要保证在相邻两个圆盘上各选取的两点连接形成四边形后,该四边形为一个平面或接近于一个平面(若不在一个平面,则形成的旋转体表面与真实表面差异较大,缺乏真实感)。
[0042]以上实施方式仅用于说明本发明,而并非对本发明的限制,有关【技术领域】的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
【权利要求】
1.一种旋转体模型生成方法,其特征在于,包括以下步骤: 51:在旋转体上且垂直于旋转轴的平面上划分出包括底面和顶面的N个圆盘,N^3; 52:在每一层圆盘的圆周上分别采集Mi个点作为待建立的旋转体模型的顶点,Mi ^ 2,i表示圆盘的层数,I彡i彡N ; 53:对于任一个圆盘,连接其上相邻的两个顶点和与该圆盘相邻圆盘上的至少一个顶点形成的多边形组成的面作为所述旋转体模型的侧面,且将所述底面的顶点连接起来形成所述旋转体模型的底面,且将所述顶面的顶点连接起来形成所述旋转体模型的顶面。
2.如权利要求1所述的旋转体模型生成方法,其特征在于,所述步骤SI中,在旋转体上且垂直于旋转轴的平面上等间距地划分出包括底面和顶面的N个圆盘。
3.如权利要求1所述的旋转体模型生成方法,其特征在于,所述步骤S2中,对于第i层圆盘,等角度地采集Mi个点。
4.如权利要求3所述的旋转体模型生成方法,其特征在于,等角度地采集Mi个点,使相邻两点对应的圆心角为5°?20°。
5.如权利要求1所述的旋转体模型生成方法,其特征在于,所述步骤S2中,每层圆盘采集的点数相等。
6.如权利要求1所述的旋转体模型生成方法,其特征在于,所述步骤S3中,对于任一个圆盘,连接其上相邻的两个顶点和与该圆盘相邻圆盘上的至少一个顶点形成的多边形组成的面作为所述旋转体模型的侧面具体为: 以第η层圆盘上的相邻两点为顶点,以第η+1层圆盘上的一个点为顶点形成三角形面片,其中,I < η < N — I ;或以第η层圆盘上的相邻两点为顶点,以第η — I层圆盘上的一个点为顶点形成三角形面片,其中,2 < η < N,若干所述三角形面片形成所述旋转体模型的侧面。
7.如权利要求1所述的旋转体模型生成方法,其特征在于,所述步骤S3中,将所述底面的顶点连接起来形成所述旋转体模型的底面具体为: 以底面圆周上的三个点Α、Β和C为顶点,且点B和C为底面圆周上相邻的两个点,连接Α、B和C三个点形成三角形面片。
8.如权利要求1所述的旋转体模型生成方法,其特征在于,所述步骤S3中,将所述顶面的顶点连接起来形成所述旋转体模型的顶面具体为: 以顶面圆周上的三个点Α、Β和C为顶点,且点B和C为顶面圆周上相邻的两个点,连接Α、B和C三个点形成三角形面片。
【文档编号】G06T17/00GK104517314SQ201310446573
【公开日】2015年4月15日 申请日期:2013年9月26日 优先权日:2013年9月26日
【发明者】胡事民, 陈韬, 朱哲 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1