- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学曲线曲面
北方工业大学
计算机图形学课程实验报告
题 目: 实验五 曲线曲面 学 院: 计算机学院 专 业: 数字媒体技术 指导教师: 蔡兴泉 学生班级: 学生学号: 学生姓名: 教师评定:
实验报告5 曲线曲面
一.实验目的
1.熟悉OpenGL图形库;
2.掌握曲线曲面实现算法。
二.实验环境
1.软件环境:
操作系统:WinXp
应用软件:VC6.0,OpenGL
2.硬件环境(查看自己的机子)
CPU: Intel PIV 2.80GHz
内存RAM: 1GB
显卡:NVIDIA GeForce7650,256M显存
三.实验内容
1. 写程序实现Bezier曲线
2. 写程序实现绘制3个半径不同、颜色不同的小球
3. 写程序实现一个场景,绘制1个立方体、1个圆锥、1个圆柱、1个茶壶
四.程序及结果
1. Bezier曲线实现关键程序及注释
void RenderScene(void)
{
int i;
glClear(GL_COLOR_BUFFER_BIT) //设置贝塞尔曲线
glMap1f(GL_MAP1_VERTEX_3, //生成的数据类型
0.0f, //u值的下界
100.0f, / //u值的上界
3, //顶点在数据中的间隔,x,y,z所以间隔是3 nNumPoints, //u方向上的阶,即控制点的个数
ctrlPoints[0][0]); //指向控制点数据的指针
glEnable(GL_MAP1_VERTEX_3);// //必须在绘制顶点之前开启
glBegin(GL_LINE_STRIP); //使用画线的方式来连接点
for(i = 0; i = 100; i++)
{
glEvalCoord1f((GLfloat) i); //求的点坐标
}
glEnd();
DrawPoints();//画点
glutSwapBuffers();/ /交换两个缓冲区指针
}
2. 小球绘制实现关键程序及注释
void RenderScene(void)
{
GLUquadricObj *pObj; // 定义Quadric Object
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//清屏
glPushMatrix();//矩阵状态
glTranslatef(0.0f, -1.0f, -5.0f);
glRotatef(xRot, 1.0f, 0.0f, 0.0f);//
glRotatef(yRot, 0.0f, 1.0f, 0.0f);
pObj = gluNewQuadric();//创建一个新的二次曲面状态对象
gluQuadricNormals(pObj, GLU_SMOOTH);//
glPushMatrix();
glColor3f(1.0f, 1.0f, 1.0f); //定义颜色为白
glTranslatef(0.0f, 1.0f, 0.0f);//圆心坐标
gluSphere(pObj, .3f, 26, 13); // 绘制小球半径为0.3
glPopMatrix();
glPushMatrix();
glColor3f(1.0f, 0.0f, 0.0f);//定义颜色为红
glTranslatef(0.0f, 0.0f, 0.0f); // 圆心坐标
gluSphere(pObj, .5f, 26, 13);//绘制小球半径为0.5
glPopMatrix();//
glPushMatrix();//
glColor3f(0.0f, 0.0f, 0.0f);// 定义颜色为黑
glTranslatef(0.0f, 2.0f, 0.0f); // 圆心坐标
gluSphere(pObj, 0.2f, 26, 13);// 绘制小球半径为0.2
glPopMatrix();
glPopMatrix();//恢复矩阵状态
文档评论(0)