作为一名想要了解图形学的学生,已经在无数地方看到有人推荐闫令琪老师的GAMES101课程,但由于自己是美术专业,在笼统看过这门课程之后认为这门课有一定学习难度,所以为了打下比较扎实的基础和方便自己日后复习,决定写一套较为完整、清晰的笔记,同时笔记中会参考ppt使用中英双语避免概念模糊,希望在方便自己的同时也能帮助到同样有需求的人

1 什么是计算机图形学?What is Computer Graphics?

  • 计算机图形学:利用计算机合成与操作视觉信息 The use of computers to synthesize and manipulate visual information

2 为什么学习计算机图形学 Why study Computer Graphics?

2.1 应用 Applications

  • 游戏 Video Games(写实、风格化渲染,看画面亮不亮可以体现全局光照效果)
  • 电影 Movies(特效是图形学比较简单的应用,一些仿真效果往往很难实现,阿凡达的面部捕捉具有里程碑意义)
  • 动画 Animation(疯狂动物城中对毛发的模拟)
  • 设计 Design(CAD、在虚拟环境中预览视觉效果:汽车、家居)
  • 可视化 Visualization(科学、工程、医学、新闻图表)
  • 虚拟现实 Virtual Reality
  • 增强现实 Augmented Reality
  • 数字绘画 Digital Illustration(Photoshop)
  • 模拟 Simulation(精确的物理模拟仿真:尘土、黑洞对光线的影响)
  • 图形用户界面 Graphical User Interfaces(GUI)
  • 字体 Typography(运用了点阵和矢量,The Quick Brown Fox Jumps Over The Lazy Dog用尽了26个英文字母经常被拿来测试字体)

2.2 学习会遇到的挑战 Fundamental intellectual challenges

  • 创造并与现实的虚拟世界互动 Creates and interacts with realistic virtual world
  • 需要理解各种物理世界的各个方面 Requires understanding of all aspects of physical world
  • 新的计算方法、显示方法、科技进步 New computing methods, displays, technologies

2.3 技术挑战 Technical Challenges

  • (透视)投影、曲线、曲面的数学知识 Math of (perspective) projections, curves, surfaces
  • 光线和阴影的物理学 Physics of lighting and shading
  • 在三维中表现/操作形状 Representing / operating shapes in 3D
  • 动画/模拟 Animation / simulation
  • 本课程不包括硬件编程教学 3D graphics software programming and hardware

忘记以上原因——计算机图形学就是好!
Forget about the previous reasons——Computer Graphics is AWESOME!

3 课程主题 Course Topics

3.1 光栅化 Rasterization

  • 将几何图元(3D 三角形/多边形)投影到屏幕上
    Project geometry primitives (3D triangles/polygons) onto screen
  • 将投影图元分解为片段(像素)
    Break projected primitives into fragments (pixels)
  • 目前游戏的黄金标准(实时应用)
    Gold standards in Video Games (Real-time Applications)

3.2 曲线和网格 Curves and meshes

  • 如何在计算机图形学中表示几何图形(曲面、表面细分时保持拓扑结构)
    How to represent geometry in Computer Graphics

3.3 光线追踪 Ray Tracing

  • 从相机出发向每个像素发射射线(计算交点和阴影;继续反射光线直到击中光源)
    shoot rays from the camera through each pixel(Calculate intersection and shading; Continue to bounce the rays till they hit light sources)
  • 动画/电影的黄金标准(离线应用)目前已经有了实时光线追踪的算法
    Gold standard in Animations/Movies (Offline Applaction)

3.4 动画/模拟 Animation/Simulation

  • 关键帧动画 Key frame Animation
  • 质量弹簧系统 Mass-spring System

3.5 GAMES101不包括 GAMES101 is NOT about

  • 不包括如何使用 OpenGL/DirectX/Vulkan 等API
  • 不包括着色器的语法 The syntax of Shaders
  • 不包括建模与游戏开发 3D modeling using Maya / 3DS MAX / Blender, or VR / game development using Unity / Unreal Engine
  • 不包括计算机视觉、深度学习 Computer Vision / Deep Learning topics, e.g. XYZ-GAN

我们学的是图形学,不是图形学API!
We learn Graphics, not Graphics APIs!

3.6 计算机图形学与计算机视觉的关系

  • 个人理解 Personal Uderstanding
    计算机图形学是从三维模型生成图像(渲染)或三维空间中的模拟(模拟);
    计算机视觉是通过图像语义分割进行建模或依赖深度学习由图像生成其他图像

  • 各个学科、领域之间边界越来越模糊 No clear boundaries

3 参考 References

  • 推荐虎书,第三版就可以
    Steve Marschner and Peter Shirley, “Fundamentals of Computer Graphics”, 3rd or later edition.

4 作业 Assignments

  • 大部分程序作业会提供框架和虚拟机映像 Mostly programming tasks with provided code skeletons and virtual machine image
  • 每周一般不超过20行代码 usually no more than 20 lines of code per week
  • 使用C++语言

5 使用集成开发环境 Use An IDE!

  • IDE: 集成开发环境 Integrated Development Environment
  • 帮助你解析整个项目并提供有关成员函数的语法/用法等的提示 Helps you parse a entire project and gives hints on syntax / usages of member functions, etc.
  • 推荐的IDE
    • Visual Studio (Windows only) / Visual Studio Code (cross platform)
    • Qt Creator (personal)
  • 不推荐的IDE Not Recommended IDEs (for C++ programming)
    • CLion, Eclipse
    • Sublime Text, Vi / Vim, Emacs (not even IDEs)

GAMES101笔记_Lec01_计算机图形学概述 Overview of Computer Graphics相关推荐

  1. 计算机图形学——游戏方向 第一章 计算机图形学概述

    计算机图形学--游戏方向 第一章 计算机图形学概述 前言 第一章 计算机图形学概述 1.为什么设计专业要学习计算机图形学? 计算机图形学与计算机视觉等领域的关系 计算机图形学基础自学体系 2.计算机图 ...

  2. 《Computer Graphics with OpenGL》计算机图形学读书笔记 02——计算机图形学软件

    这里是<Computer Graphics with OpenGL>英文原版第四版的读书笔记,预计每一章写一篇读书笔记.本篇为第二章,简要介绍计算机图形学的相关软件.图形学相关软件可分为两 ...

  3. 计算机图形学入门——笔记(一):计算机图形学概述

    四大主题 Rasterization Curves and Meshes Ray Tracing Animation / Simulation 相关语言(API) OpenGL / DirectX / ...

  4. 1 Overview of Computer Graphics

    A Few Questions and Concepts 怎样判断画面质量好不好?简单来说就是看画面亮不亮,全局光照 为什么看到卡通画面我们一眼就可以看出来是卡通风格? Special Effect ...

  5. 计算机图形学中的矩阵转换

    文章目录 前言 数学背景 矩阵变换 2D/3D的平移与仿射变换 绕任意轴旋转的罗德里格旋转公式 坐标变换 附录 如何快速入门学习 虎书封面的由来 前言 刷的视频:GAMES101:现代计算机图形学入门 ...

  6. 计算机图形学14:三维图形的投影变换

    作者:非妃是公主 专栏:<计算机图形学> 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成.--曾国藩 文章目录 专栏推 ...

  7. 计算机图形学01:直线生成算法(DDA算法)

    作者:非妃是公主 专栏:<计算机图形学> 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成.--曾国藩 文章目录 专栏推 ...

  8. 计算机图形学13:三维图形的几何变换

    作者:非妃是公主 专栏:<计算机图形学> 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成.--曾国藩 文章目录 专栏推 ...

  9. 计算机图形学05:中点BH算法对任意斜率的直线扫描转换方法

    作者:非妃是公主 专栏:<计算机图形学> 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成.--曾国藩 文章目录 专栏推 ...

最新文章

  1. 【c语言】蓝桥杯算法提高 填充蛋糕
  2. ubuntu Ulipad 配置
  3. 《MySQL——增删改查以及常用语法》
  4. 教你如何在Android Studio中使用DDMS工具查看logcat——移动测试Android app(app的性能监控与测试)
  5. python68个内置函数_直接在python中检索68个内置函数?
  6. 【ASP.Net MVC】AspNet Mvc一些总结
  7. [Yii Framework] (转)CComponent基础类
  8. Unicode字符编码
  9. 计算机网络谢希仁第八版 课后答案第七版课后答案
  10. 第三章 操作系统基础
  11. SRE 到底是干什么的??
  12. 如何查看本机ip地址,首先介绍下,查看电脑在局域网里的ip地址
  13. LiDAR-based Panoptic Segmentation via Dynamic Shifting Network(论文阅读笔记)
  14. 电子招标采购系统源码功能清单
  15. JSP停车场车位管理系统myeclipse开发oracle数据库BS模式java编程网
  16. 中荣股份上市首日破发:市值相对蒸发约3亿元,黄焕然为实控人
  17. Unity3d定位模型, 绕模型旋转、拖动和缩放,获得模型中心点
  18. 2022年制冷与空调设备运行操作考试试题及模拟考试
  19. java 源文件 编译jar_将java源文件制成jar包
  20. 模拟淘宝密码登录界面

热门文章

  1. 神兽大厅源码搭建SLB最佳实践
  2. Rancher安装部署
  3. 同时安装 瑞星、金山、腾讯、百度和360这五大杀毒软件
  4. JavaWeb全套教程笔记_前端技术
  5. 哪里买linux虚拟主机的,怎样购买虚拟主机
  6. springMVC mybatis 多数据源配置
  7. java md5 c_java MD5加密工具类
  8. 什么是沟通能力?如何提升沟通能力?
  9. 当OA遇上鸿蒙,打开信创智慧办公新画卷
  10. 超五类屏蔽双绞线和计算机电缆区别,超五类单屏网线和六类单屏蔽网线的区别是什么?...