中国科学技术大学《计算机图形学》本科课程

Computer Graphics (00106501)

(2020年春夏学期)

任课老师:刘利刚 教授

图形与几何计算实验室 (Graphics&Geometric Computing Laboratory)

数学科学学院 (School of Mathematical Sciences)

中国科学技术大学 (University of Science and Technology of China)


课程介绍         课程内容         课程作业         参考资料         其他资源


 

即时信息

  • 【自学须知】如何自学《计算机图形学》& C++面向对象编程?
  • 【课程录屏】B站链接
  • 【课程资料】中科大睿客网 (无须账号密码访问,如果无法访问,可重试多次或换个浏览器访问)
  • 【作业框架】由于该课程所使用的UEngine为较旧的 程序框架,Github上的框架不再维护,可能会无法编译或运行。建议使用任课老师在GAMES平台开设的线上课程GAMES 102《几何建模与处理基础》(课程主页B站视频)中所使用的程序框架Utopia(为UEngine的重构及升级版) 。
  • 【科普知识】任课老师撰写的科普文章《什么是计算机图形学?》、《数学在计算机图形学中的应用》及其他
  • 2021年10月07日:经同行和同学们的建议,我们利用国庆假期将课程的录频进行整理并分享到了Bilibili网站,以便能让同学们更方便地进行学习。
  • 2020年06月08日:2020年2-4月期间,UCSB大学的闫令琪老师在GAMES平台开设的线上课程GAMES 101《现代计算机图形学入门》(课程主页B站视频)也是一门非常好的计算机图形学的入门基础课程,可以结合着一起学习。
    2020年06月03日
    :课程已结束,谢谢各位同学的配合与支持!
  • 2020年06月03日期末大作业项目展示
  • 2020年05月20日由于学生还未完全返校,课程期末考试时间待定,等待学校通知,并统一安排。
  • 2020年05月20日期末大作业项目展示2
  • 2020年05月18日期末大作业项目展示1
  • 2020年04月27日布置Project (期末大作业), 提交日期:2020年5月17日星期日
  • 2020年04月20日布置作业9 (Path Tracing全局渲染方法), 提交日期:2020年5月2日星期日
  • 2020年04月13日布置作业8 (着色器编程), 提交日期:2020年4月19日星期日
  • 2020年03月30日布置作业7 (使用Taichi框架做仿真), 提交日期:2020年4月5日星期日
  • 2020年03月23日布置作业6 (质点-弹簧系统仿真), 提交日期:2020年3月29日星期日
  • 2020年03月16日布置作业5 (ARAP曲面参数化), 提交日期:2020年3月22日星期日
  • 2020年03月09日布置作业4 (极小曲面与曲面参数化), 提交日期:2020年3月15日星期日
  • 2020年03月02日布置作业3 (图像融合Poisson Image Editing), 提交日期:2020年3月8日星期日
  • 2020年02月25日由于在线授课过程中ClassIn工具经常卡顿和掉线,我们以后改由Zoom在线会议工具来进行授课。在上课前10分钟会将上课的Zoom链接发布到QQ群中。
  • 2020年02月24日布置作业2 (图像变形Image Warping), 提交日期:2020年3月1日星期日
  • 2020年02月17日布置作业1 (画图小程序MiniDraw), 提交日期:2020年2月23日星期日
  • 2020年02月10日线上教学活动将通过我校“Blackboard网络教学平台”+“ClassIn在线直播工具”进行,详见:“线上教学平台使用说明”及“使用说明(学生版)
  • 2020年02月09日由于新冠病毒疫情影响,学校将开展线上教学活动,详见:《关于2020年春季学期开展线上教学的通知
  • 2020年02月06日课程QQ群(1037363145) 的昵称命名规则:“ID姓名”(ID与姓名之间无任何字符),无ID号的旁听同学的ID号统一设为99 
  • 2020年02月01日布置C++课前热身练习务必一个一个独立练习,再与参考代码进行对比学习), 提交日期:2020年2月16日星期日
  • 2020年02月01日发布课程作业GitHub
  • 2020年01月27日作业递交系统 
  • 2020年01月27日学生课程ID号(会根据学生选课情况更新)
  • 2020年01月25日课程PPT及录频可在睿客网下载:课程相关资料下载
  • 2020年01月23日:本课程主页开通
 
 

课程介绍

课程目标 C++编程:C++面向对象编程思想、图像编程基础、图形学编程基础等

计算机图形学:几何处理、模拟仿真、真实感渲染、着色器、GPU编程等

时间 周一上午1,2节(07:50-09:25),周三上午3,4,5节(09:45-12:15)
地点 东区第1教学楼102(注:由于新冠疫情的原因,课程为线上上课)
授课教师 刘利刚
助教 倪宁 nining@mail.ustc.edu.cn
庄涛 ustczt@mail.ustc.edu.cn
学分 3
前置课程 微积分,线性代数,C/C++编程,数据结构
参考教材 参考教材(本课程不规定使用规定教材,以学术前沿论文为主,以下教材仅仅为参考):
E. Angel, Interactive Computer Graphics — A top-down approach using OpenGL™, 6th ed., 2011. (中文翻译版:交互式计算机图形学—基于OpenGL的自顶向下方法(第五版),电子工业出版社,2012)
课程评分 平时作业 50% + 期末大作业 20% + 期末考试(闭卷)30%
致谢 课程中参考了许多其他老师的相关课程PPT(比如:Lingqi Yan童伟华Ren Ng等),在此表示致谢!
课程主页 http://staff.ustc.edu.cn/~lgliu/Courses/ComputerGraphics_2020_spring-summer/default.htm
 
 

课程内容

 

课程资料:

 

课次

日期

内容

作业

课件

01

2020217

星期一

课程介绍、编程基础、架构师的抽象思维

布置作业1: 画图小工具

CG01_Introduction

CG02_Programming

02

2020219

星期三

图像初步、图像处理简介

 

CG03_Image

CG04_Image Processing

03

2020224

星期一

平面图形的光栅化

布置作业2: 图像变形

CG05_Rasterization

04

2020226

星期三

数据拟合、重心坐标、Poisson图像编辑

讲解作业1

CG06_Fitting

CG07_BarycentricCoord

CG08_PoissonImageEditing

05

2020302

星期一

连续信号的离散采样

布置作业3: Poisson图像编辑

CG09_Sampling&Meshes

06

2020304

星期三

三角剖分、离散网格曲面

讲解作业2

 

CG10_Meshes-Programming

07

2020309

星期一

微分坐标、网格曲面参数化、作业编程框架简介

布置作业4:极小曲面及曲面参数化

CG11_LaplacianCoordinates

CG12_MeshParameterization

08

2020311

星期三

离散微分几何、数字几何处理

讲解作业3

CG13_DiscreteDifferentialGeometry

CG14_DigitalGeometryProcessing

09

2020316

星期一

计算机动画、仿真动画简介

布置作业5ARAP/ASAP参数化

CG15_ComputerAnimation

CG16_Animation&Simulation

10

2020318

星期三

质点-弹簧系统仿真

讲解作业4

CG17_Mass-Spring

11

2020323

星期一

有限元仿真、流体仿真

布置作业6:质点弹簧布料仿真

CG18_FEM

CG19_FluidSimulation

12

2020325

星期三

其他仿真方法、渲染简介

讲解作业5

 

CG20_MoreSimulation

CG21_RenderingBasics

13

2020330

星期一

渲染管线

布置作业7:使用Taichi做仿真

CG22_RenderingPipeline

14

202041

星期三

OpenGL简介、明暗着色、纹理映射

讲解作业6

CG23_OpenGL

CG24_Shading

CG25_TextureMapping

15

202048

星期三

Unity3D介绍、环境映射、法向映射、偏置映射、阴影映射

讲解作业7

CG26_TextureMapping-2

16

2020413

星期一

可编程渲染管线、GPU着色器编程

布置作业8GPU 着色器

CG27_ShaderProgram

CG28_ShaderProgram-2

17

2020415

星期三

真实感渲染、渲染方程、光线跟踪方法

 

CG29_RenderingEquation

CG30_RayTracing

18

2020420

星期一

光路追踪方法

 

CG31_PathTracing

CG32_PathTracing-2

19

2020422

星期三

辐射度方法、真实感渲染加速方法

讲解作业8

布置作业9:光路追踪渲染

CG33_Radiosity

CG34_Real-timeRendering

20

2020427

星期一

坐标变换、坐标变换复合

布置期末大作业

 

21

202056

星期三

投影变换、四元数、多视点几何

讲解作业9

CG35_TransformationBasics

CG36_Transformation

CG37_Projection

CG38_Quaternion

CG39_Multi-view geometry

22

2020513

星期三

几何建模、计算机辅助几何设计、课程总结

 

CG40_3DModeling

CG41_CAGD

CG42_Summary

23

2020518

星期一

期末大作业演示-1

 

 

24

2020520

星期三

期末大作业演示-2

 

 

附加课

202053

星期日

作业编程框架UEngine设计分享

 

CG-Supplementary_UEngine

 

课件列表(中文):

  • Course 01: 课程介绍
  • Course 02: 架构师的抽象思维
  • Course 03: 图像初步
  • Course 04: 图像处理介绍
  • Course 05: 光栅化
  • Course 06: 数据拟合
  • Course 07: 重心坐标
  • Course 08: 泊松图像编辑
  • Course 09: 采样和网格
  • Course 10: 网格编程
  • Course 11: 微分坐标
  • Course 12: 网格参数化
  • Course 13: 离散微分几何
  • Course 14: 数字几何处理
  • Course 15: 计算机动画介绍
  • Course 16: 动画与仿真
  • Course 17: 质点-弹簧系统
  • Course 18: 有限元仿真
  • Course 19: 流体仿真
  • Course 20: 其他仿真
  • Course 21: 渲染基础
  • Course 22: 渲染管线
  • Course 23: OpenGL
  • Course 24: 局部着色方法
  • Course 25: 纹理映射
  • Course 26: 纹理映射2
  • Course 27: 着色器编程
  • Course 28: 着色器编程2
  • Course 29: 渲染方程
  • Course 30: 光线跟踪算法
  • Course 31: 光路追踪算法
  • Course 32: 光路追踪算法2
  • Course 33: 辐射度方法
  • Course 34: 实时渲染
  • Course 35: 变换基础
  • Course 36: 变换
  • Course 37: 投影
  • Course 38: 四元数
  • Course 39: 多视点几何(基于图像的建模)
  • Course 40: 三维建模
  • Course 41: 计算机辅助几何设计(CAGD)
  • Course 42: 课程总结
 
 

课程作业

Homeworks

  • C++课前热身练习, 务必一个一个独立练习,再与参考代码进行对比学习) ,提交日期:2020年2月16日星期日 
  • 作业1 (画图小程序MiniDraw), 提交日期:2020年2月23日星期日
  • 作业2 (图像变形Image Warping), 提交日期:2020年3月1日星期日
  • 作业3 (图像融合Poisson Image Editing), 提交日期:2020年3月8日星期日
  • 作业4 (极小曲面与曲面参数化), 提交日期:2020年3月15日星期日
  • 作业5 (ARAP曲面参数化), 提交日期:2020年3月22日星期日
  • 作业6 (质点-弹簧系统仿真), 提交日期:2020年3月29日星期日
  • 作业7 (使用Taichi框架做仿真), 提交日期:2020年4月5日星期日
  • 作业8 (着色器编程), 提交日期:2020年4月19日星期日
  • 作业9 (Path Tracing全局渲染方法), 提交日期:2020年5月2日星期日

Projects

  • Project (期末大作业), 提交日期:2020年5月17日星期日
 
 

参考资料

Online C++ and coding resources
OpenGL
 
 

其他资源

图形学进阶学习资源

其他参考资源

 

Copyright © 2020, Ligang Liu