计算机图形学实验报告..docVIP

  • 182
  • 0
  • 约5.53千字
  • 约 31页
  • 2018-01-16 发布于贵州
  • 举报
计算机图形学实验报告.

计算机图形学 实验报告 姓名:孙舸 学号:201211106134 班级:电信121 实验时间:2015.10.1-2015.12.21 目 录 实验一 OpenGL程序结构练习 - 4 - 一、实验目的 - 4 - 二、实验原理 - 4 - 三、实验内容 - 5 - 四、实验步骤及结果 - 5 - 实验二 基本图形生成 - 8 - 一、实验目的 - 8 - 二、实验原理 - 8 - 三、实验内容 - 10 - 四、实验步骤及结果 - 10 - 实验三 交互式控制 - 13 - 一、实验目的 - 13 - 二、实验原理 - 13 - 三、实验内容 - 14 - 四、实验步骤及结果 - 14 - 实验四 图形基本变换 - 16 - 一、实验目的 - 16 - 二、实验原理 - 16 - 三、实验内容 - 17 - 四、实验步骤及结果 - 18 - 实验五 三维图形生成及显示(一) - 21 - 一、实验目的 - 21 - 二、实验原理 - 21 - 三、实验内容 - 23 - 四、实验步骤及结果 - 23 - 实验六 三维图形生成及显示(二) - 26 - 一、实验目的 - 26 - 二、实验原理 - 26 - 三、实验内容 - 28 - 四、实验步骤及结果 - 28 - 实验一 OpenGL程序结构练习 一、实验目的: 熟悉C语言环境下OpenGL的使用方法; 了解OpenGL程序的基本结构; 学习绘制一些基本的图形。 二、实验原理: 绝大多数OpenGL程序具有类似的结构,包含下述函数 main(): 定义回调函数,打开一个或多个具有指定属性的窗口,进入事件循环(最后一条可执行语句) init(): 设置状态变量、视图、属性、回调、显示函数、输入和窗口函数 #include GL/glut.h // glut.h includes gl.h and glu.h void display() { …… } void init() { …… } int main( int argc, char **argv) { …… } 三、实验内容: 1.了解程序中各个结构的功能; 2.了解用 四、实验步骤及结果: 1.导入OpenGL的glut32.lib和glut.h文件:将.lib文件存放到C语言程序文件夹的Library下,.h文件放到Include下;导入应用程序扩展文件glut32.dll,存放到system文件夹下; 2.打开VC 6.0,新建工程,并命名为sun1; 3.在工程sun1下新建源文件,并命名为sunge.cpp; 4.编写代码并编译链接; 5.运行结果。 选择界面 实验二 基本图形生成 一、实验目的: 1.熟悉OpenGL的程序结构,并了解各部分的功能; 2.学会应用OpenGL语言绘制出点,线,多边形。 二、实验原理: 1. GLUT函数 glutInit使得应用程序可以获取命令行参数并初始化系统。 glutInitDisplayMode设置窗口的属性、RGB颜色、单缓冲区 、属性按照逻辑或组合在一起。 glutWindowSize 以像素为单位定义窗口的尺寸。 glutWindowPosition 定义窗口左上角在显示器上的位置。 glutCreateWindow创建窗口,标题来自于参数值。 glutDisplayFunc定义显示回调函数。 glutMainLoop进入无穷的事件循环。 2. 变换与视图 在OpenGL中投影是利用投影矩阵乘法(变换)进行的,由于只存在一个变换函数系列,因此必须先设置矩阵模式。 glMatrixMode(GL_PROJECTION)变换函数是累加在一起的,因此需要从单位阵开始,然后把它改变为一个投影矩阵以定义视景体。 3. OpenGL的基本几何形状 在display模块下采用glBegin()调用,如:glBegin(GL_POLYGON)既是调用多边形绘制方式 4. 颜色与状态 颜色的每个分量在帧缓冲区中是分开存贮的,在缓冲区中通常每个分量占用8位字节。注意在函数glColor3f中颜色的变化范围是从0.0(无)1.0(全部), 而在glColor3ub中颜色值的变化范围是从0到255。 在OpenGL程序中,由glColor*设置的颜色成为状态的一部分,后续构造过程将使用这一颜色,直至它被修改为止。 颜色与其它属性不是对象的一部分,但是在渲染对象时,要把这些属性赋给对象,可以按下述过程创建具有不同颜色的顶点 glColor() glVertex() glColor() glVertex() 三、实验内容: 1.用 2.用 四、实验步骤及结果: 1.打开VC 6.0,新建名为sun2的工程文件,并新建名为sun.cpp的源文件

文档评论(0)

1亿VIP精品文档

相关文档