- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验六3D编程及Bezier曲线绘制.
实验七 3D编程及Bezier曲线曲面绘制
一、实验目的
1.3D编程:熟悉视点观察函数的设置和使用;熟悉投影变换函数的设置和使用;熟悉基本3D图元的绘制
2.了解OpenGL绘制Bezier曲线的方法
二、实验环境
硬件要求:
PC机,主流配置,最好为独立显卡,显存512M以上。
软件环境:
操作系统:Windows XP。
语言开发工具:VC6.0。
三、实验要求:
按照实验内容做实验,保留所作步骤效果截图或演示程序,当场检查,现场计分
四、实验内容
3D编程
3D Cube.cpp 为一静止3D立方体,3D Cube2.cpp 为正交投影下的旋转3D立方体,按下鼠标可实现不同方向的旋转。分析3D编程代码与程序结构。
图7-1 静止立方体效果图 图7-2 旋转立方体效果图 图7-3 旋转茶壶和圆环效果图
1.让静止的立方体绕Z轴不停旋转
2. 修改视点,目标点不变,观看显示效果
3. 修改目标点,视点不动,观看显示效果
4. 视点与目标点同时修改,观看显示效果
5. 视点与目标点不变,修改观察体大小,观看显示效果
6. 将正交投影观察体改为透视投影观察体,并设置其大小,观察显示效果
7. 将立方体替换为茶壶,观看显示效果.
选做
Bezier曲线绘制
BezierCurve.cpp为绘制bezier曲线的源程序,仔细研读源程序,并作如下修改
1). 改变控制点,观察曲线和曲面形状的变化,控制点起什么作用?
2). 改写bezier.cpp,增加控制点数目,修改控制点位置,使之成为空间封闭曲线,写出修改的关键代码及注释(TIPS:OpenGLBezier曲线绘制方法最多只能有8个控制点)
3). 根据bezier曲线的性质,改写程序,使之成为两段曲线光滑连接。每段曲线用不同颜色表示,并画出控制点。
图7-2· Bezier曲线绘制效果
五、函数参考
(一)3D编程
1. 视点设置函数
void gluLookAt(GLdouble eyex, GLdouble eyey,GLdouble eyez,GLdouble atx,GLdouble aty,GLdouble atz,GLdouble upx,GLdouble upy,GLdouble upz)
给出矩阵作用于当前矩阵,定义相机位置和方向
视点:eyex, eyey, eyez
目标点:atx,aty,atz
相机向上方向:upx,upy,upz
如果不引用该函数,则 eyex=0,eyey=0,eyez=0, atx=0,aty=0,atz=-1,Upx=0,upy=1,upz=0此函数放在display函数中调用
参考坐标系:世界坐标系
2. 正交投影变换设置函数
. void glOrtho(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top,GLdouble near,GLdouble far),建立正交投影矩阵,定义一个正平行观察体。距离从相机位置处测量。rightleft,topbottom,farnear
OpenGL中不提供对观察平面的选择功能。近裁减平面永远和观察平面重合。
如果OpenGL不提供投影函数,默认调用为:glOrtho(-1.0,1.0,-1.0,1.0,-1.0,1.0)
3. 透视投影变换设置函数
void gluPerspective(GLdouble fov,GLdouble aspect, GLdouble near,GLdouble far),定义一个透视矩阵作用于当前矩阵
fov-近裁剪平面与远裁剪平面的连线与视点的角度,也称视场角(field-of-view angle)
aspect-投影平面的宽与高之比
near,far-近裁剪平面和远裁剪平面离相机(视点)的距离
4.三维基本图形绘制函数
1)立方体绘制函数
void glutWireCube(GLdouble size) //线框模式
void glutSolidCube(GLdouble size) //实体模式
功能:绘制一个边长为size的线框的或实心立方体,立方体的中心位于原点
2)小球绘制函数
.void glutWireSphere(GLdouble Radius, Glin
您可能关注的文档
最近下载
- 雷州市卫生健康局下属事业单位招聘考试真题2024.docx VIP
- 第十章 分式(小结与思考)(单元复习课件)-2023-2024学年八年级数学下册同步课堂(苏科版).pptx VIP
- 儿童故事绘本《嘻哈农场-吱咕、吱咕、嘎》.ppt VIP
- BSEN206-2013欧标欧洲规范.pdf VIP
- 2025年山东发展投资控股集团有限公司人员招聘笔试备考试题含答案详解.docx VIP
- 第二届全国健康照护行业职业技能竞赛(健康照护师)理论试题库-下(判断题汇总).docx VIP
- 2025年人工智能训练师(五级)初级资格理论考试练习题库(460题)含答案.docx VIP
- 重庆市西南师大附中高一上学期期末考试(化学).doc VIP
- 一种人工沙滩.pdf VIP
- 广汽丰田C-HR EV_车型手册电子版下载_非汽车用户车主车辆使用操作驾驶说明书.pdf VIP
文档评论(0)