Download presentation
Presentation is loading. Please wait.
1
计算机图形学 姜明 北京大学数学科学学院 更新时间2019年4月25日星期四8时14分39秒
2
[EA] 为教材和参考文献索引,以下同此。
[EA] Edward Angel: Interactive Computer Graphics, A Top-Down Approach with Open GL, Addison-Wesley, 5/6th Edition. [EA] 为教材和参考文献索引,以下同此。
3
参考书 [F1] J. D. Foley, A. van Dam: Introduction to Computer Graphics,机械工业出版社,2004年影印版。 [F2] J. D. Foley, A. van Dam, S. K. Feiner and J. F. Hughes, Computer Graphics, principles and practice.机械工业出版社,2002年影印版。 [HB] D. Hearn, M. P. Baker: Computer Graphics, 清华大学出版社,1997年影印版。 [SY] 孙家广,杨长贵编著: 计算机图形学,清华大学出版社,1998年第三版。 [LL] 罗振东,廖关裕编著:计算机图示学原理和方法,复旦大学出版社,1993年。 [DS] D. Shreiner, OpenGL编程指南(原书第6版), 译者:徐波,机械工业出版社, 2008。(红宝书)
4
课程介绍 计算机图形学:用计算机构造和显示图形。计算机图形学研究利用计算机产生图形和显示图形,它包括对要产生图形的物体的描述(建模或几何描述),对图形数据的管理和操作(数据结构和图形变换),图形的生成,显示和输出。在交互式的图形系统中,还包括研究图形的输入和图形操作的人机接口。 [HB]
5
先修课程和知识:计算概论,数据结构,线性代数,数学分析,解析几何。
课程要求:平时作业为40分,期末考试成绩为30分,学期项目成绩为30分。平时成绩一般每题为10分(视难度加分),总成绩累计后以总分40分按比例折合。 平时作业和上机作业每次未能按时完成并交给助教的以零分记。 抄袭情况一经发现,抄袭者和提供抄袭者双方该次作业以负分计算。
6
编程技能:C,或C++语言,或其它语言。以C语言为主。
本课程将使用OpenGL图形库,同学可使用任何语言来调用OpenGL的函数完成作业。例子均采用glut,将讲解如何使用glut来编写OpenGL的程序以及在Windows环境下如何编译程序。
7
课程内容介绍 1 Graphics Systems and Models Overview of the field
Image formation as cameras Modeling-Rendering Paradigm 2 Graphics Programming Introduction to programming with OpenGL
8
3 Input and Interaction Interactive computer graphics Client-server (Graphic server) Programming event-driven input 4 Geometric Objects and Transformations Define and manipulate primitives/objects Coordinate systems and transformations OpenGL transformation matrices
9
5 Viewing Camera model Viewing and projections Hidden-surface removal OpenGL projections 6 Shading Light-material interaction Reflection models OpenGL Light and material functions
10
7 Implementation of a Renderer
Bottom of computer graphics Algorithms for primitives, transformations, etc. Scan conversions. 8 Curves and Surfaces Modeling curves and surfaces Splines Curves and surfaces in OpenGL
11
10 Scientific Visualization
9 Procedural Methods Limitation of polygon-model. Physically based models Recursive methods and fractals This chapter is pending. 10 Scientific Visualization Visualizing large multi-dimensional data sets in scientific and medical applications Data to geometric primitives There are multiple ways There are no good ways
12
课程资源介绍 课程主页 习题和其它的通知均在此发布。 请随时访问。 OpenGL的标准及有关手册 glut的标准及有关手册 Mesa
请随时访问。 习题和其它的通知均在此发布。 OpenGL的标准及有关手册 glut的标准及有关手册 Mesa
13
网络资源 OpenGL组织 教材作者主页 搜索引擎 http://www.opengl.org/
搜索引擎
14
如何查找资料 北大图书馆数据库 IEEE Web of Science ACM
15
必须保证Visual C/C++安装正确。
Windows系统编译和安装glut 阅读glut/Readme.win 对glut/glutwin32.mak作必要修改 运行glut/glutmake.bat 检查编译结果 运行例子程序 必须保证Visual C/C++安装正确。
16
macOS系统编译glut程序 Install Xcode from App Store: the compile environment, which should install glut. Change head file locations Header Description Mac OS X The Rest of the World GL - OpenGL Base #include <OpenGL/gl.h> #include <GL/gl.h> GLU - OpenGL Utility #include <OpenGL/glu.h> #include <GL/glu.h> GLUT - OpenGL Utility Toolkit #include <GLUT/glut.h> #include <GL/glut.h> Compiling with the command: clang -framework GLUT -framework OpenGL -framework Cocoa foo.c -o foo.x4. check its depends otool -L foo.x Install XQuartz from open an xterm from XQuartz and run ./foo.x References [1] [2] [3] GLUT under Mac OS X,
17
Linux系统与WebGL Linux系统 WebGL示例 gcc -o foo foo.c -lGL -lGLU –lglut
WebGL示例
Similar presentations