网站大量收购独家精品文档,联系QQ:2885784924

基于OpenGL的三维建模技术.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

基于OpenGL的三维

建模技术王鹏目录1.三维显示的基本方法2.OpenGL基本原理3.OpenGL编程的基本方法1.三维显示的基本方法三维显示就是将立体图像以平面投影图或透视图的形式在平面上表现出来的过程。三维显示的理论基础是计算机图形学。实现的主要方法:DirectX和OpenGL两个函数库。DirectX是微软独自开发的API。DirectX由显示部分、声音部分、输入部分和网络部分四大部分组成。OpenGL“开放图形库”,由SGI公司开发,主要针对3D图像处理。它与硬件无关,并且独立于操作系统之外。相比之下,OpenGL更容易被初学者掌握。三维显示在地球物理方面的应用:三维可视化软件有:LandmarkEarthCube模块和GeoProbe模块,GeoFrame,ParadigmVoxelGeo等等。实际上,三维显示功能已经成为大型地学软件不可或缺的一部分。OpenGL基本原理01三维显示和摄影类似02相机镜头03视点04三角架05视点位置06视野大小07视景体08景物09模型10在实际摄影拍摄时,我们可以改变拍摄位置和角度,相机的焦距,改变景物的位置等等。在OpenGL中,提供对应的函数来实现这些功能。这些函数(也称为变换)是通过矩阵计算来实现的。同时,OpenGL是一个状态机,设置了某种状态而不改变,OpenGL将一直保持这个状态。投影变换:定义一个视景体,使得视景体外多余的部分裁剪掉,确定视野范围。视点变换:确定视点的位置和方向。模型变换:对模型进行平移,旋转和缩放处理。1234视点变换voidgluLookAT(GLdoubleeyex,GLdoubleeyey,GLdoubleeyez,//视点GLdoublecx,GLdoublecy,GLdoublecz,//目标点GLdoubleupx,GLdoubleupy,GLdoubleupz,//视点朝上的方向)由于显示器只能用二维图象显示三维物体,因此就要靠投影来降低维数。投影变换的目的就是定义一个视景体,使得视景体外多余的部分裁剪掉,最终绘制图像的只是视景体内的有关部分。投影包括透视投影(PerspectiveProjection)和正交投影(OrthographicProjection)两种。投影变换透视投影voidgluPerspective(fovy,aspect,zNear,zFar)取景体是一个截头锥体,在这个体积内的物体这个锥体的顶点也就是视点的位置。正交投影取景体是一个各面均为矩形的六面体voidglOrtho(left,right,bottom,top,near,far)透视投影正交投影离视点近的物体大,离视点远的物体小。无论物体距视点多远,投影后的物体大小不变。建立模型01任何复杂的图形都是由基本的图元点、线和多边形组成的。02glBegin(…);03……//描述一组顶点,用于建构某种几何对象04glEnd();05例如:06glBegin(GL_LINES)//画线07glVertex2f(0.0,0.0,0.0);08glVertex2f(1.0,1.0,1.0);09glEnd();01voidglTanslate{fd}(TYPEx,TYPEy,TYPEz);平移变换02voidglRotate{fd}(TYPEangle,TYPEx,TYPEy,TYPEz);模型总是在原点处绘制完成以后,再通过适当的平移变换和旋转变换到恰当的空间位置。旋转变换模型的平移与旋转需要特别指出的是,实际的变换顺序与指定的顺序是相反的。旋转变换平移变换绘制模型绘制模型平移变换旋转变换程序代码顺序:实现顺序:原始模型先平移,再旋转45度先旋转45度再平移光照为了增强模型的立体效果,可以给场景加入光源。无光源有光源OpenGL将光线分为辐射光、环境光、漫反射光和镜面反射光4种独立的成分。上色和纹理贴图现实世界中的物体表面往往有各种纹理,因此要绘制逼真的三维模型,除了对模型进行光照处理外,还需要加上纹理贴图,使物体看起来更真实。21OpenGL编程的基本方法利用GLUT实现利用MFC实现高级图像库1利用GLUT实现因为OpenGL独立于任何窗口系统和操作系统之外。所以OpenGL不能直接用来打开窗口以

文档评论(0)

135****2083 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档