图形与可视化实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《计算机图形学》课程实验教学大纲

编号:032004

课程总学时: 64 实验学时:24

课程总学分:3.5

适用专业:计算机科学与技术,网络工程,软件工程,物联网工程

一、本课程实验的主要目的与任务

《计算机图形学》是计算机科学与技术专业本科教学中的一门重要的专业课。通过本课程的教学,帮助学生掌握计算机图形学的基础知识,了解该学科的前沿科技,并能运用图形软件包OpenGL,进行简单的图像处理软件代码设计。

《计算机图形学》是一门理论性和应用性很强的课程。开设实验课程有助于加深学生对图形算法的理解,培养其分析问题,解决问题的能力。

通过本课程实验要求学生基本达到如下要求:

1. 掌握OpenGL的基本语法与程序结构。

2. 掌握如何通过点、线、面、体的构造方法。

3. 掌握如何对三维物体增加光照和纹理来增强其真实感。

4. 掌握如何构建一个真实的三维场景的基本过程和实现方法。

二、本课程实验应开设项目

三、各实验项目主要实验内容和基本要求

各实验项目的主要内容和基本要求见附录。

四、实验成绩考核与评定办法

学生应做好实验准备,认真完成每个实验,按时完成并提交实验报告。任

课教师应认真批改实验报告并给出实验报告成绩,并结合学生平时实验表现给出

学生平时实验成绩。实验成绩由实验报告成绩、平时实验成绩两部分组成。其中

实验报告成绩占50%、实验课堂成绩占50%。

五、大纲说明

大纲里所列项目是必做的,但是对于有能力的同学,希望能够把几个实验做到一个集成的可视化界面下。学生也可以根据自己的爱好,选择做一个小的系统,同样能够达到本实验大纲的目的。

六、主要参考书目

1. 《计算机图形学(OpenGL版)(第3版)》,Francis S hill,Jr,Stephen M.Kelley 著,胡事民等译;清华大学出版社,2009.2

2.《交互式计算机图形学:基于OpenGL着色器的自顶向下方法(第六版)》,Edward Angel著,张荣华等译;[M].电子工业出版社,2012.5

3. 《计算机图形学(第三版)》,Donald Hearn, M.Pauline Baker 著,蔡士杰

等译;电子工业出版社,2011.2

4. 《OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3 (8th Edition)》,Dave Shreiner, Graham Sellers, John M. Kessenich and Bill M. Licea-Kane著; Addison-Wesley Professional .,2013.3

5. 《OpenGL SuperBible: Comprehensive Tutorial and Reference (6th Edition) 》,Graham Sellers, Richard S Wright and Nicholas Haemel;Addison-Wesley Professional,2013.7

6. 《Computer Graphics with OpenGL(4th Edition)》,Donald Hearn,M.pauline Baker著; Prentice Hall,2010.11

撰写人:郭建林审定人:

批准人:执行时间:

实验1 基本图元绘制( 4学时)

1.实验目的

(1) 了解OpenGL的基本的编程思想和程序结构。

(2) 了解 OpenGL中绘制点、线、面的相关函数。

(3) 掌握如果通过定义空间点和构成方式来形成不同的空间物体。

2.实验内容

(1) 熟悉实验环境。

(2) 利用相关直线绘制算法绘制一条直线,建议使用DDA算法或Bresenham算法。

(3) 绘制一个颜色插值的三角形面。

(4) 综合利用所学知识,绘制分形物体。给出原理,步骤,设计绘制方案。可自己选择分形物体的类型,如分形树、Koch雪花、Sierpinski三角形(二维或三维)、Julia集、Mandelbrot集等。

3.实验要求

(1) 预习实验相关知识,了解实验目的与内容。

(2) 根据实验目的和内容,制定相关的实验方案并进行实施。

(3) 实验结束后,对相关内容进行总结和反思。

4.实验器材

(1) PC机及配套软件、一人一套。

1.1. 实验目的

(1)掌握OpenGL程序的基本结构。

(2)通过OpenGL实现直线的绘制,了解在OpenGL中如何实现一条简单的线段的绘制。

(3)了解OpenGL中如何控制点、线的属性,包括颜色、宽度、线型等。

(4)掌握如何绘制一个三角形并进行填充

1.2. 例程

一个简单的创建一条直线的例程:

#include"stdafx.h"

#include

#include

//初始化函数,设置渲染环境

void SetupRC(void)

{

glClearColor (0, 0,0, 0.0); // 设置RGBA模式,背景颜色为黑色(没有执行,仅仅设置)

glMatrixMode(GL_PROJECTION);

glLoadIdentity();//把投影矩阵置为单位阵

glOrtho (0.0,1024,0.0,768,0,1000);//定义世界坐标的裁剪窗口,也就是通常说的视口

//我们定义的裁剪窗口大小

//也就是在这个范围内的物体都将正投影到X0Y平面

}

//显示函数,要显示的代码都写在这里

void RenderScene(void)

{

glClear(GL_COLOR_BUFFER_BIT); //1@ 清除颜色缓冲区。

glBegin (GL_LINES);

glColor4f(0.8,0.8, 0, 0.75);

glVertex3f(0, 0, 0.0);

glVertex3f(300, 300, 0.0);

glEnd();

glutSwapBuffers(); //双缓冲区设置,交换缓冲区

//双缓冲去允许你在一个屏幕之外的缓冲区中执行绘图代码,然后适用一条交换命令把你绘制的图形立即显示在屏幕上。

//双缓冲两个用途:复杂图形需要绘制的时间很长,你并不希望在屏幕上看到显示图形合成的每个步骤。

//使用双缓冲,用户绝对不会看到一副不完整的图像,图像只有在完全完成后才在屏幕上显示。

// 2@

相关文档
最新文档