《计算机图形学与虚拟现实》教学大纲

课程代码

045101831

课程名称

计算机图形学与虚拟现实

英文名称

Computer Graphics and Virtual Reality

课程类别

选修课

课程性质

选修

学时

总学时:  48  实验学时: 16   实习学时: 0   其他学时: 0

学分

2.5

开课学期

5

开课单位

计算机科学与工程学院

适用专业

计算机科学与技术、网络工程、信息安全

授课语言

中文

先修课程

线性代数、高级语言程序设计、数据结构

课程对毕业要求的支撑

本课程对学生达到毕业要求有如下贡献:

1.(工程知识)能够将数学、自然科学、工程基础和专业知识用于解决复杂工程问题。

2.(问题分析)能够应用数学、自然科学和工程科学的基本原理,识别、表达、并通过文献研究分析复杂工程问题,以获得有效结论。

3.(使用现代工具)能够针对复杂工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。

4.(工程与社会)能够基于工程相关背景知识进行合理分析,评价专业工程实践和复杂工程问题解决方案对社会、健康、安全、法律以及文化的影响,并理解应承担的责任。

5.(个人和团队)能够在多学科背景下的团队中承担个体、团队成员以及负责人的角色。

6.(终身学习)具有自主学习和终身学习的意识,有不断学习和适应发展的能力。

课程目标

课程结束后,学生的以下能力应得到培养和提高:

  1. 掌握计算机图形学与虚拟现实的基本概念与基础知识、特别是图形处理从建模到渲染的整个处理流程及其相关算法。(对应能力[1, 2]

  2. 掌握应用重要的图形处理工具的基本方法,能够熟练应用OpenGLUnity3DOpenmesh等工具的一种. (对应能力[3])

  3. 组成开发小组完成较大的集成所学知识的图形处理系统: 例如网格处理、细分曲面生成或光线跟踪算法等. (对应能力[4])

  4. 能将所学应用于解决实际问题,如开发动画、游戏以及虚拟现实软件;同时也要了解在进行这些开发时所应坚守的职业伦理. (对应能力[4])

  5. 认识到图形学知识的时效性,能在工作中更新所学知识. (对应能力[6])

课程简介

本课程是主要学习计算机图学的基本概念与基础算法。主要学习从几何数据的表示到计算机图形显示整个流水线中涉及的相关知识与方法。内容包括: 1)二、三维几何图形的数学表示。2)几何变换,这包含两方面的含义:其一是组织大规模场影所需的坐标变换,其二是三维视见流水线中不同坐标空间之间的变换,例如视见变换、投影变换等。3) 光栅化或扫描转换: 从几何模型数学表示到计算机显示设备输出所需要的离散表示间的转换。4) 裁剪与消隐:由于显示区域是有限的,区域外的几何内容应用当剔除,此外显示区域内视点不可见的实体也需要检测。5) 光照模型:对场景内可见物体进行真实感绘制,主要是介绍Phong光照模型和Whitted光照模型及其光线跟踪算法 。5) 计算机动画基础,简单介绍关键帧动画的基本原理与Morphing动画。最后一部分的内容可根据实际需要选材。

OpenGL作为一个标图形软件包的标准,具有简洁易学的特点。本课程以OpenGL作为编程工具来进行相关理论与算法的学习,课程中可根据所学内容穿插介绍OpenGL的重要函数。

教学内容与学时分配

  1. 绪论                                      1学时

    1. 计算机图形学发展历史、应用、研究内容(热点问题)

    2. 虚拟现实应用与社会伦理讨论

  1. 计算机图形学系统                          3学时

 2.1 图形系统简介

 2.2 光栅显示设备

 2.3 颜色系统

 2.4 OpenGL的体系结构

(三) 曲线曲面表示                             6学时

 3.1 多边形网格表示                            

 3.1.1数据格式

 3.1.2半边结构

 3.2 细分曲线曲面                              

 3.2.1 细分曲线

 3.2.2 Catmull-Clark细分

 3.2.3 Loop细分

 3.2.4 插值细分

 3.3  参数曲面线曲面                            

 3.3.1 Bézier曲线曲面

 3.3.2 B样条曲线曲面

 3.4 L系统                                    

 3.5粒子系统                                    

第四章 光栅扫描转换                             4学时

 4.1 直线段的扫描转换:DDA, 中点画线,Bresenham算法

 4.2 多边形区域填充

 4.3 多边形扫描转换:活性边表算法

第五章 几何与视见变换                           6学时

 5.1 二维几何变换                              

 5.2 三维几何变换                              

 5.3 投影变换: 正交投影与透视投影              

 5.4 线段与多边形裁剪: Cohen-Sutherland线段裁剪,Sutherland-Hodgman多边形裁剪                     

第六章 消隐                                      4学时

 6.1 Z-缓存方法                                  

 6.2 画家消隐算法                             

 6.3 BSP树与八叉树与方法                        

第七章  光照模型                                 6学时

 7.1 Phong光照模型与明暗处理                  

 7.2 全局光照模型与光线跟踪算法                

 7.3 纹理映射                                

第八章 计算机动画简介                            2学时

 8.1 关键帧动画

 8.2 Morphing技术

实验教学(包括上机学时、实验学时、实践学时)

有。总学时16。实验内容:(1) OpenGL 编程环境与glut;(2)网格曲面、细分曲面绘制;(3) 图元光栅化与裁剪;(4) 几何与视见变换;(5)综合实验(2-3人团队协作).

教学方法

课程教学以课堂教学、课外作业、课程实验为主,尽可能结合授课教师的项目内容加以讨论。

考核方式

期评成绩由一下四个部分构成:

出勤:           5%

课外作业:      20%

编程与实验:    25%

测验与考试:    50%

教材及参考书

  1. Edward Angel. 交互式计算机图形学—基于OpenGL的自顶向下方法(第五版). 电子工业出版社.

  2. 孙家广,胡事民:计算机图形学基础教程(第二版), 清华大学出版社

  3. Donald Hearn, M. Pauline Baker, Carithers. Computer Graphics with OpenGL, Pearson, 电子工业出版社

  4.  J.D. Foley, A. van Dam, S. Feiner, and J. F. Hughes. Computer Graphics: Principles and Practice, second edition in C. Addison-Wesley.

  5.  D. F. Rogers. Procedural Elements for Computer Graphics. 机械工业出版社,2002.

  6. 唐敏, 童若锋. 计算机图形学课程设计.  浙江大学出版社, 2008

制定人及制定时间

李桂清, 2019410

CourseTitle” Syllabus

Course Code

045101831

Course Title

Computer Graphics and Virtual Reality

Course Category

Elective Courses

Course Nature

Elective Course

Class Hours

Total: 48    Lecture: 32     Experiment: 16

Credits

2.5

Semester

5

Institute

School of Computer Science and Engineering

Program Oriented

Computer Science and Technology, Network Engineering, Information Security

Teaching Language

Chinese

Prerequisites

Linear Algebra, High-level language programming, Data Structure

Student Outcomes

 (Special Training Ability)

  1. Engineering Knowledge: An ability to apply knowledge of English, solid knowledge of professional basic principles, methods and means of computer science and technology for solving complex engineering problems, to well prepare the required knowledge applied to the computer science and technology research & development and engineering practice through computer systems analysis, modeling and calculation and any other aspects of the advanced approach.

  2. Problem Analysis: An ability to creatively use the basic principles of computer science to solve the problems encountered in the computer field.

  3. Applying Modern Tools: An ability to develop, select and use appropriate technologies, resources, modern engineering tools and information technology tools for complex computer engineering issues.

  4. Engineering and Society: An ability to conduct a reasonable analysis and evaluation of the impact of the solutions of complex problems in computer engineering practice to the social, health, safety, legal and cultural based on computer engineering related background knowledge, and understand the obligation of taking responsibility.

  5. Individual and Teams: An ability to function effectively as an individual, and as a member or leader in diverse teams and in multi-disciplinary settings.

  6. Lifelong Learning: An ability to be qualified for research work and can continue their studies for master and doctor degrees, and have the ability for life-long learning.  

Course Objectives

After the course, student’s following abilities should be cultivated and improved:

  1. Master fundamental notions and knowledge of computer graphics and virtual reality, particularly, be familiar with the whole graphical processing pipeline as well as related algorithms (corresponding to abilities [1, 2])

  2. Master methods applying important graphical processing SDKs and be familiar with one of OpenGL, Unity3D, Openmesh. (corresponding to abilities [3])

  3. Work with a development team to accomplish a graphics system (corresponding to abilities [4])

  4. Be able to solve practical problems such as computer animation, computer game and virtual reality applicationsbe aware of the professional ethic that must be adhered to in carrying out these developments. (corresponding to abilities [4])

  5. Realize the timeliness of computer graphics knowledge, and be able to update the knowledge in professional career. (corresponding to abilities [6])

Course Description

This course introduces basic terminology and fundamental algorithms of computer graphics involved in the graphics pipeline from geometric representation to photorealistic rendering. Concretely, it includes following topics: (1) mathematical representations of 2D and 3D objects; (2) geometric transformations and viewing transformations; (3) raster graphics (or scan conversion) algorithms which are required to output continuous geometric primitives such as line segments and polygons to discrete display devices; clipping and hidden surface removal and illumination models for photorealistic rendering such as Phong local illumination model and Whitted global illumination model as well as ray-tracing algorithm; (5) computer animation or virtual reality fundamental (optional).

As de facto standard of graphical software package, OpenGL is easy to learn. This course will take OpenGL as programming environment to aid the study of theory and algorithms. Therefore, it also alternately explains some important OpenGL functions in the corresponding topics.

Teaching Content and Class Hours Distribution

Chapter 1 Introduction                            1 hr

    1.  History, applications, research topics of computer graphics

    2.  Virtual reality and social ethics

Chapter 2 Computer Graphics System               3 hrs

 2.1 Brief introduction of graphical system

 2.2 Raster display devices

 2.3 Color models

 2.4 OpenGL architecture

Chapter 3 Curves and Surfaces                     6 hrs

 3.1 Polygonal meshes

 3.1.1 Data file format

 3.1.2 Half-edge structure

 3.2 Subdivision curves and surfaces

 3.2.1 Subdivision curves

 3.2.2 Catmull-Clark subdivision

 3.2.3 Loop Subdivision

 3.2.4 Interpolatory subdivisions

 3.3  Parametric curves and surfaces

 3.3.1 Bézier curves and surfaces

 3.3.2 Cubic B-spline curves and surfaces

 3.4 L-System

 3.5 Particle System

Chapter 4 Rasterization of Geometric Primitives      4 hrs

 4.1 Scan conversion of line segments: DDA algorithm, Bresenham algorithm

 4.2 Seed-fill polygon regions

 4.3 Scan conversion of polygons: active edge list algorithm

Chapter 5 Geometric transformations and viewing transformations                                 6hrs

 5.1 2D Geometric transformations

 5.2 3D Geometric transformations

 5.3 Projection transformations: orthogonal projection and perspective projection

 5.4 line clipping and polygon clipping: Cohen-Sutherland line segment algorithmSutherland-Hodgman polygon clipping algorithm

Chapter 6 Hidden Surface Removal                4hrs

 6.1 Hidden surface detection

 6.2 Depth-buffer method

 6.3 BSP trees and octonary trees

Chapter 7 Illumination Models                    6hrs

 7.1 Phong illumination models and shading modes

 7.2 Global (Whitted) illumination model and ray-tracing algorithm

 7.3 Texture mapping

Chapter 8 Brief introduction of computer animation  2hrs

 8.1 Key-frame animation

8.2 Morphing techniques

Experimental Teaching

(1)OpenGL programming platform

(2)Rendering: Meshes, Subdivision surfaces,Parametric surfaces

(3)Line drawing & clipping

(4)Geometric and viewing transformation.

(5)Course design

Teaching Method

Classroom teaching, Homework, Programming experiments, Combining teacher’s research topics

Examination Method

Attendance:             5%

Exercise:              20%

Experiments:           25%

Quiz and examination:   50%

Teaching Materials and Reference Books

  1. Edward Angel. 交互式计算机图形学—基于OpenGL的自顶向下方法(第五版). 电子工业出版社.

  2. 孙家广,胡事民:计算机图形学基础教程(第二版), 清华大学出版社

  3. Donald Hearn, M. Pauline Baker, Carithers. Computer Graphics with OpenGL, Pearson, 电子工业出版社

  4.  J.D. Foley, A. van Dam, S. Feiner, and J. F. Hughes. Computer Graphics: Principles and Practice, second edition in C. Addison-Wesley.

  5.  D. F. Rogers. Procedural Elements for Computer Graphics. 机械工业出版社,2002.

  6. 唐敏, 童若锋. 计算机图形学课程设计.  浙江大学出版社, 2008

Prepared by Whom and When

LI Guiqing, 2019-04-10


《计算机图形学与虚拟现实》实验教学大纲

课程代码

045101831

课程名称

计算机图形学与虚拟现实

英文名称

Computer Graphics and Virtual Reality

课程类别

选修课

课程性质

选修

学时

总学时:48    实验:16     实习:    其他:

学分

2.5

开课学期

5

开课单位

计算机科学与工程学院

适用专业

计算机科学与技术、计算机网络、信息安全等

授课语言

中文

先修课程

高级程序设计语言,数据结构,高等数学,线性代数

毕业要求(专业培养能力)

  1. (工程知识)能够将数学、自然科学、工程基础和专业知识用于解决复杂工程问题。

  2. (问题分析)能够应用数学、自然科学和工程科学的基本原理,识别、表达、并通过文献研究分析复杂工程问题,以获得有效结论。

  3. (使用现代工具)能够针对复杂工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。

  4. (工程与社会)能够基于工程相关背景知识进行合理分析,评价专业工程实践和复杂工程问题解决方案对社会、健康、安全、法律以及文化的影响,并理解应承担的责任。

  5. (个人和团队)能够在多学科背景下的团队中承担个体、团队成员以及负责人的角色。

  6. (终身学习)具有自主学习和终身学习的意识,有不断学习和适应发展的能力。

课程培养学生的能力(教学目标)

  1. 掌握计算机图形学与虚拟现实的基本概念与基础知识、特别是图形处理从建模到渲染的整个处理流程及其相关算法。(对应能力[1, 2]

  2. 掌握应用重要的图形处理工具的基本方法,能够熟练应用OpenGLUnity3DOpenmesh等工具的一种. (对应能力[3])

  3. 组成开发小组完成较大的集成所学知识的图形处理系统: 例如网格处理、细分曲面生成或光线跟踪算法等. (对应能力[4])

  4. 能将所学应用于解决实际问题,如开发动画、游戏以及虚拟现实软件;同时也要了解在进行这些开发时所应坚守的职业伦理. (对应能力[4])

  5. 认识到图形学知识的时效性,能在工作中更新所学知识. (对应能力[6])

课程简介

本课程是主要学习计算机图学的基本概念与基础算法。主要学习从几何数据的表示到计算机图形显示整个流水线中涉及的相关知识与方法。内容包括:

  1. 二、三维几何图形的数学表示;

  2. 几何变换  这包含两方面的含义:其一是组织大规模场影所需的坐标变换,其二是三维视见流水线中不同坐标空间之间的变换,例如视见变换、投影变换等;

  3. 光栅化或扫描转换  从几何模型数学表示到计算机显示设备输出所需要的离散表示间的转换;

  4. 裁剪与消隐  由于显示区域是有限的,区域外的几何内容应用当剔除,此外显示区域内视点不可见的实体也需要检测;

  5. 光照模型  对场景内可见物体进行真实感绘制,主要是介绍Phong光照模型和Whitted光照模型及其光线跟踪算法;

  6. 计算机动画基础  简单介绍关键帧动画的基本原理与Morphing动画。最后一部分的内容可根据实际需要选材。

  7. OpenGL作为一个标图形软件包的标准,具有简洁易学的特点。本课程以OpenGL作为编程工具来进行相关理论与算法的学习,课程中可根据所学内容穿插介绍OpenGL的重要函数。

主要仪器设备与软件

PC, OpenGL, Meshlab, OpenMesh, Unity3D

实验报告

每次实验需要提交实验报告+源码。

考核方式

提交实验报告、源码、相关数据 + 综合实验汇报

教材、实验指导书及教学参考书目

  1. Edward AngelDave Shreiner. Interactive Computer Graphics. Publishing House of Electronics of Industry, 2012.

  2. Donald Hearn and M. Pauline Baker. Computer Graphics (Third Edition) 电子工业出版社, 2004

  3. J.D. Foley, A. van Dam, S. Feiner, and J. F. Hughes. Computer Graphics: Principles and Practice, second edition in C. Addison-Wesley.

  4. D. F. Rogers. Procedural Elements for Computer Graphics. 机械工业出版社,2002.

  5. 唐敏, 童若锋. 计算机图形学课程设计.  浙江大学出版社, 2008

  6. OpenGL red book. http://www.opengl.org

  7. Taubin G. A signal processing approach to fair surface design[C]//Proceedings of the 22nd annual conference on Computer graphics and interactive techniques. ACM, 1995: 351-358.

  8. Garland M, Heckbert P S. Surface simplification using quadric error metrics[C]//Proceedings of the 24th annual conference on Computer graphics and interactive techniques. ACM Press/Addison-Wesley Publishing Co., 1997: 209-216.


制定人及发布时间

李桂清/2019.5


计算机图形学与虚拟现实》实验教学内容与学时分配

实验项目编号

实验项目名称

时数

实验内容提要

实验类型

实验要求

每组人数

主要仪器设备与软件

OpenGL编程环境与glut库配置

1

理解OpenGL开发环境,并能演示简单的图形程序。

利用多OpenGL的线和多边形绘制功能显示三角网格、细分曲面和参数曲面等几何实体真实感效果(需要预先提供带光照的绘制框架)

验证性

必做

1

PC机、OpenGL

网格曲面渲染系统

3

构建三维模型渲染系统,网能支持网格曲面绘制,可以加载局部光照,设置物体表面材质。

设计性

必做

1

PC机、OpenGL

图元光栅化与裁剪

2

实现DDA, Bresenham画线算法,Cohen-Sutherland线裁剪算法等。

验证性

必做

1

PC机、OpenGL

几何与视见变换

2

利用OpenGL 的图形变换函数对目标图形进行旋转、平移缩放变换并绘制变换结果

验证性

必做

1

PC机、OpenGL

网格模型处理系统


4

  1. 网格模型的输入输出;

  2. 简单交互操作(点线面的拾取与)

  3. 网格模型去噪(Taubin smoothing);

  4. 网格模型简化(QEM);

  5. 网格模型细分(Catmull-ClarkLoop细分曲面的生成与编辑)

综合性

选做

2--3

PC机、OpenGLOpenMeshMeshlabUnity3D

6

光线跟踪渲染系统

4

  1. 读入多边形场景;

  2. 简单交互:平移、旋转与缩放;

  3. 光源与材质: 支持高光反射、透射;

  4. 利用光线跟踪算法实现Whitted全局光照模型;

  5. 支持kd-tree/octree加速

  6. 纹理映射

综合性

选做

2--3

PC机、OpenGLOpenMesh

7

射击游戏

5

这是一个太空射击游戏,玩家通过瞄准射击消灭从远方开始袭击的敌人,尽可能不让敌人越过我们的防线,保卫我们的家园。框架代码只有敌人不断袭击的效果,需要大家另外实现的基本功能有:

  1. 如何实现太空的星河场景?涉及到对三维流水线和游戏流水线的理解;

  2. 如何控制准星移动和检测是否打中敌人?涉及世界坐标和屏幕坐标的转换,碰撞检测,QT的消息响应;

  3. 如何实现飞船爆炸效果?给定的数据结构只有点和面的信息,可以先构造边表,涉及对三维数据结构表达方式(如plyobj格式文件)的理解;

  4. 手工建造飞船模型太粗糙,如何通过细分曲面的方法让原模型更精致?网上很多细分曲面的算法可以借鉴。实现细分算法关键是要有比较好的三维网格数据结构可以快速得到相邻点面的信息; 著名的三维网格库有CGALOpenMeshVCG;本实验平台用的是VCG库,http://vcg.sourceforge.net/index. php/Tutorial 这是该库的文档;OpenMesh可能更容易入门,可以权衡选择,甚至自己定义数据结构;只要实现一种算法效果并给出代码即可;

  5. 可以参考参照游戏中的效果,发挥想象力,实现更多的功能让游戏变得更有趣;比如加上纹理贴图,增强渲染绘制效果,鼠标瞄准,通过不同细分算法衍生不同形状的飞船等;大量加分。

综合性

选做

2--3

PC机、OpenGLOpenMeshMeshlabUnity3D


 “Computer Graphics and Virtual Reality” Syllabus

Course Code

045101831

Course Title

Computer Graphics and Virtual Reality

Course Category

Elective Courses

Course Nature

Elective Course

Class Hours

16

Credits

2.5

Semester

5

Institute

School of Computer Science and Engineering

Program Oriented

Computer Science and Technology, Network Engineering, Information Security

Teaching Language

Chinese

Prerequisites

Programming language, data structure, calculus, linear algebra

Student Outcomes (Special Training Ability)

  1. Engineering Knowledge: An ability to apply knowledge of English, solid knowledge of professional basic principles, methods and means of computer science and technology for solving complex engineering problems, to well prepare the required knowledge applied to the computer science and technology research & development and engineering practice through computer systems analysis, modeling and calculation and any other aspects of the advanced approach.

  2. Problem Analysis: An ability to creatively use the basic principles of computer science to solve the problems encountered in the computer field.

  3. Applying Modern Tools: An ability to develop, select and use appropriate technologies, resources, modern engineering tools and information technology tools for complex computer engineering issues.

  4. Engineering and Society: An ability to conduct a reasonable analysis and evaluation of the impact of the solutions of complex problems in computer engineering practice to the social, health, safety, legal and cultural based on computer engineering related background knowledge, and understand the obligation of taking responsibility.

  5. Individual and Teams: An ability to function effectively as an individual, and as a member or leader in diverse teams and in multi-disciplinary settings.

Lifelong Learning: An ability to be qualified for research work and can continue their studies for master and doctor degrees, and have the ability for life-long learning.

Teaching Objectives

  1. Master fundamental notions and knowledge of computer graphics and virtual reality, particularly, be familiar with the whole graphical processing pipeline as well as related algorithms (corresponding to abilities [1, 2])

  2. Master methods applying important graphical processing SDKs and be familiar with one of OpenGL, Unity3D, Openmesh. (corresponding to abilities [3])

  3. Work with a development team to accomplish a graphics system (corresponding to abilities [4])

  4. Be able to solve practical problems such as computer animation, computer game and virtual reality applicationsbe aware of the professional ethic that must be adhered to in carrying out these developments. (corresponding to abilities [4])

  5. Realize the timeliness of computer graphics knowledge, and be able to update the knowledge in professional career. (corresponding to abilities [6])

Course Description

This course introduces basic terminology and fundamental algorithms of computer graphics involved in the graphics pipeline from geometric representation to photorealistic rendering. Concretely, it includes following topics:

  1. Mathematical representations of 2D and 3D objects;

  2. Geometric transformations and viewing transformations;

  3. Raster graphics (or scan conversion) algorithms which are required to output continuous geometric primitives such as line segments and polygons to discrete display devices;

  4. Clipping and hidden surface removal;

  5. Illumination models for photorealistic rendering such as Phong local illumination model and Whitted global illumination model as well as ray-tracing algorithm;

  6. Computer animation or virtual reality fundamental (optional).

  7. As de facto standard of graphical software package, OpenGL is easy to learn. This course will take OpenGL as programming environment to aid the study of theory and algorithms. Therefore, it also alternately explains some important OpenGL functions in the corresponding topics.

Instruments and Equipments

PC

Experiment Report

1 experimental report for each time

Assessment

experimental reports and experiment defense

Teaching Materials and Reference Books

  1. Edward AngelDave Shreiner. Interactive Computer Graphics. Publishing House of Electronics of Industry, 2012.

  2. Donald Hearn and M. Pauline Baker. Computer Graphics (Third Edition) 电子工业出版社, 2004

  3. J.D. Foley, A. van Dam, S. Feiner, and J. F. Hughes. Computer Graphics: Principles and Practice, second edition in C. Addison-Wesley.

  4. D. F. Rogers. Procedural Elements for Computer Graphics. 机械工业出版社,2002.

  5. 唐敏, 童若锋. 计算机图形学课程设计.  浙江大学出版社, 2008

  6. OpenGL red book. http://www.opengl.org

  7. Taubin G. A signal processing approach to fair surface design[C]//Proceedings of the 22nd annual conference on Computer graphics and interactive techniques. ACM, 1995: 351-358.

  8. Garland M, Heckbert P S. Surface simplification using quadric error metrics[C]//Proceedings of the 24th annual conference on Computer graphics and interactive techniques. ACM Press/Addison-Wesley Publishing Co., 1997: 209-216.

Prepared by Whom and When

LI Guiqing / 2019.5

  “Computer Graphics and Virtual Reality” Experimental Teaching Arrangements

No.

Experiment Item

Class Hours

Content Summary

Category

Requirements

Number of Students Each Group

Instruments, Equipments and Software

OpenGL programming platform

1

Understand the programming environment of OpenGl, compile and run a simple graphical program

Demonstration

Compulsory

1

PCOpenGLInternet

Mesh rendering system

3

Make use of line drawing and polygon drawing function of OpenGL to display wireframe and photorealistic images of triangular meshes, support local lighting, s (Assume that the program mainframe for displaying objects has been given with lighting enabled)

Design

Compulsory

1

PCOpenGLInternet

Line drawing & clipping

2

Implement DDA, and Bresenham line drawing algorithms; Implement Cohen-Sutherland line clipping algorithm.

Verification

Compulsory

1

PCOpenGLInternet

Geometric and viewing transformation.

2

Make use of OpenGL functions to implement rotation, translation and scale of mesh objects.

Verification

Compulsory

1

PCOpenGLInternet

Mesh processing system

4

  1. Read and write mesh models;

  2. Interactive tools: Picking up point, line and triangle

  3. Triangular mesh smoothing (Taubin smoothing)

  4. Mesh simplification (QEM)

  5. Subdivision surfaces (Loop subdivision/ Catmull-Clark subdivision surfaces)

Comprehensive

Optional

2-3

PCOpenGLOpenMeshMeshlab

6

Whitted lighting model & Ray-tracing

4

  1. Read polygonal scenes

  2. Simple interactionTranslation, rotation, scale

  3. Lighting source and material: support specular and transparent material

  4. Whitted light model and ray tracing

  5. kd-tree/octree acceleration

  6. Texture mapping


Comprehensive

Optional

2-3

PCOpenGLOpenMeshMeshlab

7

Shooting game

4

  1. Represent and construct outer space scenes;

  2. Move and control the front sight to hit eneries;

  1. Explosion of spaceships;

  2. Subdivide manually created spaceships using subdivision surfaces to get smooth models;

  3. Implement more functions such as texture mapping, rendering enhancement, subdivision surfaces with different subdivision schemes, and so on.

Comprehensive

Optional

2-3

PCOpenGLOpenMeshMeshlab