- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于OpenGL的三维建模技术
1 利用GLUT实现 因为 OpenGL独立于任何窗口系统和操作系统之外。所以OpenGL不能直接用来打开窗口以及从键盘或鼠标读取事件。GLUT库简化Windows窗口操作,它提供了非常简单的方法来实现窗口操作。 * int main(int argc, char** argv) { glutInit(argc, argv);//初始化GLUT glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(640, 480); //设置窗口大小 glutInitWindowPosition(0, 0);//设置窗口起始位置 glutCreateWindow(Basic);//设置窗口标题 init();//初始化OpenGL glutDisplayFunc(display);//设置显示回调函数 glutReshapeFunc(reshape);//设置重绘回调函数 glutKeyboardFunc(keyboard);//设置键盘回调函数 glutMainLoop();//进入主循环 return 0; } * glBegin(GL_TRIANGLES); glColor3f(1.0,1.0,1.0); glVertex3f(-1,-1,0.0); glColor3f(0.0,1.0,0.0); glVertex3f(1,0.0,0.0); glColor3f(0.0,0.0,1.0); glVertex3f(0.0,1,0.0); glEnd(); * 2 利用MFC实现 MFC是一种应用程序框架。我们可以利用它非常快速的开发Windows程序。简单的说,MFC是Win API与C++的结合。它具有完善的消息处理机制。 * 3 高级图形库 OpenGL提供的功能是比较基本和底层,直接利用OpenGL来构建复杂的3D图像是很困难的。在OpenGL的基础上还有Open Inventor、Cosmo3D、Optimizer等多种高级图形库,来适应不同应用。Open Inventor 广泛地应用于机械工程设计与仿真、医学和科学图像、地理科学、石油钻探、虚拟现实、科学数据可视化等领域。 * GLUT和Open Inventor对比 GLUT Open Inventor * 汇报完毕,请批评指正 * . 基于OpenGL的三维建模技术 王 鹏 * 目 录 1 . 三维显示的基本方法 2. OpenGL基本原理 3. OpenGL编程的基本方法 * 1 . 三维显示的基本方法 三维显示就是将立体图像以平面投影图或透视图的形式在平面上表现出来的过程。 * 三维显示的理论基础是计算机图形学。 实现的主要方法: DirectX 和OpenGL两个函数库。 DirectX是微软独自开发的API。DirectX由显示部分、声音部分、输入部分和网络部分四大部分组成。 OpenGL “开放图形库”,由SGI公司开发,主要针对3D图像处理。它与硬件无关,并且独立于操作系统之外。 相比之下,OpenGL更容易被初学者掌握。 * 三维显示在地球物理方面的应用: 三维可视化软件有:Landmark EarthCube模块和 GeoProbe模块,GeoFrame,Paradigm VoxelGeo等等。实际上,三维显示功能已经成为大型地学软件不可或缺的一部分。 * 2. OpenGL基本原理 三维显示和 摄影类似 相机镜头 视点 三角架 视点位置 视野大小 视景体 景物 模型 * 在实际摄影拍摄时,我们可以改变拍摄位置和角度,相机的焦距,改变景物的位置等等。 在OpenGL中,提供对应的函数来实现这些功能。这些函数(也称为变换)是通过矩阵计算来实现的。同时,OpenGL是一个状态机,设置了某种状态而不改变,OpenGL将一直保持这个状态。 视点变换:确定视点的位置和方向。 投影变换:定义一个视景体,使得视景体外多余的 部分裁剪掉 ,确定视野范围。 模型变换:对模型进行平移,旋转和缩放处理。 * 视点变换 void gluLookAT ( GLdouble eyex, GLdouble eyey, GLdouble eyez,//视点 GLdouble cx, GLdouble cy, GLdouble cz, //目标点 GLdouble u
您可能关注的文档
最近下载
- 【同步教学】北师大版数学五年级下册第三单元《分数乘法》单元测试卷2.doc VIP
- 教学大纲_特种设备安全技术.docx VIP
- 个人简历——【标准模板】.doc VIP
- 结构加固方法介绍和选择.ppt VIP
- 【嘉世咨询-2025研报】2025中国两轮电动车行业现状报告.pdf
- 宜宾市叙州区总工会社会化工会工作者招聘笔试真题2022.docx VIP
- 大桥河幸福河湖建设规划方案研究.docx VIP
- 《机械与特种设备安全》教学大纲.pdf VIP
- 2025广东广州市工业和信息化局直属事业单位引进急需人才20人备考试题及答案解析.docx VIP
- 2023年宜宾市叙州区总工会社会化工会工作者招聘考试真题.docx VIP
文档评论(0)