组稿人联盟网
欢迎来到组稿人联盟网
客服电话:400-6735-660 客服在线时间:09:00~22:30(节假日不休息) 客服邮箱:dufu2614@126.com在线投稿:非工作时间点此在线提交您的稿件

计算机科学 计算机三维建模的算法比照剖析

时间:2019/6/11 9:48:11来源: 作者: 点击:

  摘要:计算机数字化、可视化等技术和设备的创新与高速开展, 促使虚拟恢复技术在计算机范畴中惹起了普遍的关注。三维模型建模办法恢复技术, 应用多特征三维稠密重建办法、图像投影变形技术和混合式IBR技术等技术完成纹理映射, 取得三维物体的参数化、曲面和多边形的模型描绘, 在虚拟环境中显现, 完成从真实世界到虚拟世界的转换功用。经过比照不同办法恢复三维模型, 能够寻觅出最佳恢复办法, 减少计算长度, 增加计算机可读性, 增强计算机对虚拟三维模型的综合操作才能, 制造出具有较强真实感的三维图形, 可应用于计算机辅助几何设计、文物恢复、逆向工程等范畴。

  关键词:三维建模; 三维模型;

  三维空间比二维更具有视觉真实感, 在现行的三维模型虚拟恢复系统中, 援用三维空间作为虚拟恢复技术的平台, 是目前对虚拟恢复系统研讨与应用的抢手趋向。应用三维模型虚拟恢复系统能在航空航天、建筑设计、土木建造、医疗、军事、考古、文娱、艺术等方面停止计划演示、考证和评价的综合应用, 推进多范畴应用技术的开展。不只如此, 经过三维模型虚拟恢复系统, 能对计划科学性预演, 利于用户完善计划, 防止更多的本钱。三维模型虚拟恢复系统, 它还能够运用计算机辅助虚拟缝合和破损模型的恢复。与传统的人工修复措施比拟更具有客观性和高效性等, 它不单单是缩短了人工修复的周期, 降低了人工在缝合模型过程中的难度, 还防止了物理模型的二次损伤, 具备较高的实践意义, 值得深化讨论研讨。

  1 研讨现状

  三维模型是应用计算机或其他数字化设备显现的物体几何线性表示, 既能够显现物质世界的实体模型, 也能够是认识世界中虚拟结构的物体模型。任何存在于物理自然界的物体都能够经过三维建模停止结构出相应的模型, 可见三维建模的重要性, 由此, 应用计算机停止三维建模同样具有跨时期意义。当今三维建模办法根据几何外型软 (如AutoCAD、3DsMax、Maya等) 能够分为基于图像的三维建模和基于几何外型的三维建模。

  图1:运用OpenGL建模流程图

  图2:全景图的制造过程

  1.1 基于图像的三维建模

  基于图像的三维建模, 包括多特征三维稠密重建办法、图像投影变形技术和混合式IBR技术等。其中,

  (1) 多特征三维稠密重建办法, 需求先剖析模型的各项根本特征如:光影强度、纹理信息、外型凹凸等方面, 重构出与目的物体具有高契合度的的三维模型。该算法在重建三维模型物体时具有较好的稳定性和鲁棒性, 针对凹凸感较强的模型也能重建出更精致的细节, 具有较高的适用价值。

  (2) 图像投影变形技术, 其原理是依据待重建复原的画面中可见点的深度值, 分红若干局部重建场景种的三维几何, 具有较强真实感, 且能在不同视点之间的场景恣意、连续的切换。

  (3) 混合式IBR技术, 原理是在小误差范围内, 用图像映射替代几何模型, IBR技术能在保证高速绘制的同时, 保证图像的质量。由于IBR技术整个场景都是采取一样的环境映照恢复, 可能会产生较大的误差。

  1.2 基于几何外型的三维建模

  基于几何外型的三维建模, 包含CSG法、三角形构建法和二次曲面和复杂多边形镶嵌工具建模法等。其中,

  (1) Constructive SolidGeometry (CSG) 法, 设计建模软件辅助建模, 能在模型复杂度不高的状况下树立丰厚的外型, 但建模周期较长, 需求消耗更多的时间和人力。

  (2) 三角形构建模型法, 若降低对模型真实复原度的请求, 很多的物体都能用三角形来快速建模, 能够把物体看成是由很多个三角形拼接组成的模型。我们通常应用OpenGL中提供的glBegin (GL_TRIANGLES) 和glEnd () 函数来来开端绘制三角形, 然后经过反复运用glVertex3f函数绘制出三角形的每个顶点。

  (3) 二次曲面和复杂多边形镶嵌工具建模法, 该措施与三角形构建模型法相相似, 不同于三角形构建的是, 它愈加合适于具有复杂几何图形的模型, 这种模型常常难以用三角形结构法表到达位。在OpenGL的工具库glu32.LIB提供了这个功用, 它里面有一个强大的多边形, 它能够呈现复杂的多边形镶嵌界面, 能对锥形、圆柱形、圆盘状或球形的物体停止渲染, 相比三角形结构, 愈加灵敏。

  2 算法描绘

  基于OpenGL的三维建模技术在三维运用中具备优于其他建模技术的优点。例如:

  (1) 能烦琐三维建模过程。经过运用OpenGL库里包含的辅助函数, 能够简单的绘制出根本的3D图形, 而高复杂性的模型, 可经过其它合成的办法来完成。合成的根本办法有:1.简单几何体合成, OpenGL中含有椎体、球体等简单几何体, 可经过改动这些几何体的参数合成。2.曲面体合成, 经过计算求值程序得到Bezier曲线 (面) 或者绘制出NURBS曲线 (面) 。3.三角形合成, 由于三角形是最简单的图形任何多边形都能由它表达, 是OpenGL的首选设计图元。

  (2) 能逼真模仿建模环境, 依赖于OpenGL所提供的辅助函数, 能够有效地对模型停止着色渲染、光照变化、纹理映射及深度检测等修饰, 能给用户提供具有高度真实感的设计体验, 实在反映出用户的实践需求。

  (3) 高效的实时动画响应, 由于具有能对动画颜色、深度、模板和累积停止双缓存的操作函数, OpenGL能对动画完成连续显现, 不但大幅烦琐了程序算法, 还大大提升了画面动态显现的速度。

  (4) 具有较佳的灵敏性, OpenGL作为一个独立的、线型的软件接口, 可以完成在不同的硬件平台、规范视窗和操作系统中工作。

  2.1 运用OpenGL停止三维建模的流程表示图

  在VC环境下, 应用OpenGL停止三维建模时, 准备数据阶段通常需求先丈量出特征的点数据及面数据, 保管成input.dat文本文件, 将这些数据存入PointNode, FaceNode程序构造中, 树立显现图元的列表。图1表示运用OpenGL建模的详细流程。

  2.2 三维建模算法思想及步骤

  2.2.1 基于图像的三维建模

  (1) 多特征三维稠密重建办法, 该算法先需求对图像提取出Harris和DoG的特征点, 依照与所抉择的特征点的欧式间隔远近水平停止特征点匹配, 再对图像停止特征匹配, 经过三角丈量原理来重复获取稠密点云数据, 对所得点云停止TNCC排序, 并权量各个视角下点云的牢靠度, 将这些种子点按牢靠性排序, 应用牢靠性高的点云作为可扩展的初始种子点, 获取较集中的空间有向点云或面片, 并删除不牢靠的点云数据, 完成重建过程。

  (2) 图像投影变形技术, 该算法关于固定视点摄像机能够应用不同位置和角度绘制景物外表, 简单地说是对取景后的几何体停止重投影变形的过程, 详细是取一点为视点, 将四周场景投影变形到中间面。而针对摄像机位挪动时, 能够思索参加可见点的深度到原始图象序列, 获取更多三维信息, 部分重建模型, 并对这些可见点停止投影变换, 或者树立各相邻画面像素的对应关系。

  (3) 混合式IBR技术, 该原理指的是同时选择几何和图像作为根底要素去绘制画面。在可承受小误差范围中, 用图像映射替代几何模型, 这样同时保证了绘制的速度和图像的质量。但是由于整个场景都运用相同的环境映照, 所以生成的图像会存在不小的误差。IBR法在全景图应用方面的技术相较成熟, 它不但能完成便当, 且易于在internet操作。通常在全景的制造过程中, 可简单归结为全景模型选择、图像采集、投影变形、图像拼接和交融, 以及全景图展现这五局部。如图2所示的全景显现阅读。

  2.2.2 基于几何外型的三维建模

  (1) ConstructiveSolidGeometry (CSG) 法, 该算法完成条件高, 请求所构视图只能由简单的直线、园、圆弧表达, 每个平均厚度基体的投影必需完整在三视图上显现, 且基体的面平行于两坐标轴所构成的平面。从实践考量, 纯CSG法并不适用于实践状况, 后因由Aldefeld和Richter经过研讨发明了具有半自动辨认的算法, 我国的霍彬也提出了类似算法, 采用人机分离, 人机交互方式操作视图, 或者借助数字化仪对图纸数据停止计算机系统描绘再重现。该算法能在一定复杂水平的状况下显现丰厚的外型, 但消耗时间和人力, 建模周期较长。

  (2) 运用三角形构建模型, 该算法的原理是以若降低模型显现真实度, 那么能够用三角形来表示绝大局部物体, 从而简化模型, 通常适用于工程模型, 如构建飞机的机身、机翼和机尾的模型。在OpenGL中能够采用glBegin (GL_TRIANGLES) 和glEnd () 函数能够发起开端和完毕绘制三角形命令, 再在这两个函数间运用gIVertex3f (x, y, z) 函数绘制顶点, 使得每三个顶点构成一个三角形。用三角形绘制模型的局部程序如下:

  表1:基于图像和几何外型的三维建模优优势

  glBegin (GL_TRIANGLES) ;//三角形绘制函数

  在glBegin (GL_TRIANGLES) 和glEnd (函数之中的每三个gIVertex3f函数所生成的顶点可构成一个三角形, 能够经过改动gIVertex3f函数中X, Y, Z的参数值得到由三角形绘制而成的三维模型。

  (3) 运用二次曲面和复杂多边形镶嵌工具建模, 该算法原理类似于三角形构建法, 不过针对不规则多边形, 具有更强的灵敏性。通常是运用二次曲面的特地镶嵌工具quadric, 运用gluNewQuadric函数表达二次曲面状态变量的当前状态, 经过改动二次曲面的状态, 即计算机言语描绘如何绘制几何模型到达绘制效果。在OpenGL中, 将凹多边形和内部有孔的多边形称为复杂多边形, 原理相似于简单图元的绘制。关于复杂物体, 常常采取二者相分离的方式, 例如在绘制飞机模型时, 针对飞机的机头、机身发起机、发起机、顶棚、机翼和机尾, 依据其特性, 能够运用复杂多边形函数绘制机翼和机尾, 其他用二次曲面的函数来绘制。示例柱形机体与多边形机翼的绘制程序如下:

  …

  gluCylinder

  …

  glNormal3f (0.0, 1.0, 0.0) ;

  //定义多边形法线

  glTessBeginPolygon (tess, NULL) ;//开端用复杂多边形法绘制机翼

  gluTessBeginContour (tess) ;

  for (i=0;i<16;i++) //循环调用数组中的顶点参数

  gluTessVertex (tess, wing[i], wing[i]) ;//详细绘制的顶点

  gluTessEndContour (tess) ;

  gluTessEndPolygon (tess) ;//完毕机翼的绘制

  …

  OpenGL功用十分广, 得力于它丰厚的库函数, 能调用不同的函数来满足不同的需求, 绘制出需求的三维模型。飞机的其他局部也能够用二次曲面和复多边形以相似的方式绘制。在这以上面例子作简约表示。

  3 算法剖析

  构建三维模型的目的是能对计划科学性预演, 利于用户完善计划, 防止更多的本钱。应用OpenGL强大的功用库, 寻觅适宜的算法构建契合需求的三维模型是目前研讨的热点, 经过不时的剖析与总结, 比照基于图像与几何外型的三维建模优优势如表1所示。

  无论是基于图像的三维建模还是基于几何外型的三维建模算法, 都有其共同之长, 应用OpenGL建模时, 能够针对不同三维模型的外形特征选用更合适的算法停止建模, 降低计算难度, 提升系统的流程水平。

  4 结论

  三维建模, 应用计算机辅助虚拟拼接和恢复破碎的模型, 与传统的人工修复措施相比更客观、更高效, 它不光是极大地缩短了人工修复的周期, 降低了人工缝合模型的难度, 而且有效防止了物理模型的二次损伤, 具有较高的理论研讨意义与社会价值。基于OpenGL渲染三维模型的纹理处置, 能够加强三维模型的真实感, 相较于传统人工恢复方式愈加省时、高效, 增强了计算机对虚拟三维模型的综合操作才能, 在制造三维真实感图形中具备更高的性能, 可以在诸多复杂物体的建模过程中发挥重要作用。本文主在归结各个办法的优优势, 经过对不同算法的比照, 总结其专长与单薄之处, 便当建模时扬长避短, 针对不同模型采取愈加适宜的办法, 提升OpenGL在三维建模方面的适用性。


如对职称晋升论文要求,如有疑问立即咨询本站客服,为您提供专业级服务

在线投稿