




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机图形学实验报告02北方工业大学 计算机图形学课程实验报告题 目:实验二 几何变换学 院:专 业:指导教师:学生班级:学生学号:学生姓名:教师评定:8学号:班级:姓名:实验报告二 几何变换实验一实验目的1熟悉OpenGL图形库;2掌握几何变换算法。二实验环境1软件环境:操作系统:Win7应用软件:VC6.0,OpenGL2硬件环境CPU:显卡:三用矩阵计算实现二维几何变换写程序实现基本矩阵运算,同时实现平移、放缩、旋转等几何变换。要求自己设计实例验证平移、放缩、旋转函数,采用键盘交互。已给出二维点坐标结构体、单位矩阵赋值函数。已给出:二维点坐标结构体struct Point2Dfloat x, y;已给出:宏定义33数组typedef float Matrix3x3 33;Matrix3x3 matComposite; 已给出:单位矩阵赋值函数void matrix3x3SetIdentity(Matrix3x3 matIdent3x3)int row, col;for(row=0; row3;row+)for(col=0; col3; col+)matIdent3x3rowcol = (row=col);要求给出以下函数及实例截图。1矩阵左乘运算函数Void matrix3x3PreMultiply(Matrix3x3 m1, Matrix3x3 m2)int row, col;Matrix3x3 temp;for(row=0; row3;row+)for(col=0; col3; col+)temprowcol = m1row0*m20col + m1row1*m21col + m1row2*m22col;for(row=0; row3;row+)for(col=0; col3; col+)m2rowcol=temprowcol;2平移函数void Translate2D (float tx, float ty) Matrix3x3 matTransl;matrix3x3SetIdentity (matTransl);matTransl02=tx;matTransl12=ty;matrix3x3PreMultiply(matTransl,matComposite); 3顶点矩阵左乘合成函数void TransformVerts2D(int nVerts,Point2D * verts) GLint k;GLfloat temp1, temp2;for (k=0;knVerts; k+)temp1=matComposite 00*vertsk.x + matComposite 01*vertsk.y + matComposite 02;temp2=matComposite 10*vertsk.x + matComposite 11*vertsk.y+matComposite 12;vertsk.x=temp1;vertsk.y=temp2; 4绘制三角形函数void RenderTriangle (Point2D* verts) int k;glBegin (GL_TRIANGLES);for (k=0;k3;k+)glVertex2f(vertsk.x,vertsk.y);glEnd(); 5旋转函数void Rotate2D (Point2D fixedPt, float theta) Matrix3x3 matRot; matrix3x3SetIdentity (matRot); matRot 00=cos(theta); matRot 01=-sin (theta); matRot 02=fixedPt.x*(1-cos (theta)+fixedPt.y*sin(theta); matRot 10=sin (theta); matRot 11=cos (theta); matRot 312=fixedPt.x*(1-cos (theta)-fixedPt.y*sin(theta); matrix3x3PreMultiply(matRot,matComposite); 6缩放函数void scale2D (GLfloat sx,GLfloat sy,wcPt2D fixedPt) Matrix3x3 matScale; matrix3x3SetIdentity(matScale); matScale 00=sx; matScale 02=(1-sx)*fixedPt.x; matScale 11=sy; matScale 12=(1-sy)*fixedPt.y;matrix3x3PreMultiply(matScale,matComposite); 7平移实例及截图8旋转实例及截图9缩放实例及截图四用OpenGL函数库实现几何图元旋转特效在Nehe教程Lesson04基础上,修改程序,在屏幕上画两个三角形、两个四边形,并完成相应动画效果,三角形A绕X轴旋转,三角形B绕Y轴旋转,四边形C绕Z轴旋转,四边形D绕X轴旋转。要求给出RenderScene函数及实例截图。int DrawGLScene(GLvoid)glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glLoadIdentity();glTranslatef(-1.5f,0.0f,-6.0f);glRotatef(rtri1,1.0f,0.0f,0.0f);glBegin(GL_TRIANGLES);glColor3f(1.0f,0.0f,0.0f);glVertex3f( 0.0f, 1.0f, 0.0f);glColor3f(1.0f,0.0f,0.0f);glVertex3f(-1.0f,-1.0f, 0.0f);glColor3f(1.0f,0.0f,0.0f);glVertex3f( 1.0f,-1.0f, 0.0f);glEnd();glLoadIdentity();glTranslatef(-4.5f,0.0f,-6.0f);glRotatef(rtri2,0.0f,1.0f,0.0f);glBegin(GL_TRIANGLES);glColor3f(1.0f,0.0f,0.0f);glVertex3f( 0.0f, 1.0f, 0.0f);glColor3f(1.0f,0.0f,0.0f);glVertex3f(-1.0f,-1.0f, 0.0f);glColor3f(1.0f,0.0f,0.0f);glVertex3f( 1.0f,-1.0f, 0.0f);glEnd();glLoadIdentity();glTranslatef(1.5f,0.0f,-6.0f);glRotatef(rquad1,1.0f,0.0f,0.0f);glColor3f(1.0f,0.5f,1.0f);glBegin(GL_QUADS);glVertex3f(-1.0f, 1.0f, 0.0f);glVertex3f( 1.0f, 1.0f, 0.0f);glVertex3f( 1.0f,-1.0f, 0.0f);glVertex3f(-1.0f,-1.0f, 0.0f);glEnd();glLoadIdentity();glTranslatef(4.5f,0.0f,-6.0f);glRotatef(rquad2,0.0f,0.0f,1.0f);glColor3f(1.0f,0.5f,1.0f);glBegin(GL_QUADS);glVertex3f(-1.0f, 1.0f, 0.0f);g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玻璃钢制品模压工成本控制考核试卷及答案
- 农业面源污染治理2025年农业面源污染治理技术产业化研究报告
- 有害生物防制员转正考核试卷及答案
- 核退役设施环境监测与评估分析报告
- 木雕工基础知识考核试卷及答案
- 小学计算题专项训练习题集
- 电化学精制装置操作工技术考核试卷及答案
- 应对2025年环保新规:塑料制品行业市场前景与调整策略研究报告
- 中药炮炙工上岗考核试卷及答案
- 售后服务质量提升路径报告
- 德国国家概况
- 服装立体裁剪课件
- 整本书读写《一颗遗失的扣子》(课件)三年级下册语文统编版
- 检测室安全操作规程
- 2023新能源集控中心功能应用配置方案
- 教育研究方法课件《教育研究方法》
- 《write.as》手机版怎么看文
- 【课件】用空间向量研究距离夹角问题(第二课时角度-线线、线面角)
- (全册)教学设计(教案)新纲要云南省实验教材小学信息技术四年级第3册全册
- 桥梁监测方案
- 高速冲床操作规程
评论
0/150
提交评论