图源:《Magnet》Matcha_ 102235547
本系列笔记为结合了个人理解的非初学者向笔记,包括《CMU 15-462》、《Games 101:现代计算机图形学入门》、《Games 102:几何建模与处理》、《Introduction to 3D Game Programming with DirectX 12》等数个知识来源。
基础介绍
什么是计算机图形学
计算机图形学:利用计算机合成视觉信息或利用计算机合成/操控感官信息的学科。
计算机图形学的应用
- 影视
- 动画
- 游戏
- 数据可视化
- 工业设计,平面设计
- 数字绘画
- 虚拟现实
- 虚拟现实(VR):指所看到的一切均为虚拟的,比如虚拟现实游戏、虚拟现实视频等。
- 增强现实(AR):指看到的是真实的现实 + 虚拟的、对当前现实进行分析处理或修改等生成的虚拟事物,比如Apple ARkit。
- 混合现实(MR):VR + AR,使用类似VR的手段,达到AR这种结合当前现实与虚拟事物的效果,比如Hololens。
- 制造业(3D打印)
- 模拟与数字孪生
- 排版与字体设计
- “The Quick Brown Fox Jumps Over The Lazy Dog”:一句有意义的英文句子,内含全部的26个英文字母,常用来对字体(字形、字号、间距等)进行测试。
- “Lorem ipsum dolor sit amet, consectetur adipisicing elit.”:又叫“乱数假文”或者“哑元文本”。主要的目的为测试文章或文字在不同字型、版型下看起来的效果。更多资料请查阅:https://cn.lipsum.com/。
计算机图形学与计算机视觉的区别
- 计算机图形学:将数据转化为图形。也就是“画出来”。
- 计算机视觉:将图形转化为数据。也就是“看到”。
计算机图形学需要哪些基础
- 表示方法(编码)
- 采样与混叠
- 数学方法(表示三位物体和动作)
- 光线
- 透视
展示一个正方体
- 如何表示
- 顶点:利用坐标
- 边:利用边的两个顶点唯一确定
- 如何绘制
- 三维图形转化为二维图形:小孔成像模型
- 设相机坐标为 $(a,b,c)$ ,待确定点的坐标为 $(x,y,z)$ 。要得到该点在二维平面上的坐标,可进行如下算法步骤:
- $(x,y,z)$ 与 $(a,b,c)$ 相减,得到原三维点与摄像机的相对位置;
- 将其中的 $(x,y)$ 与 $z$ 相除,得到 $(\frac{x}{z},\frac{y}{z})$,即是所求的 $(u,v)$。
- 连线。这就要细说到电脑如何绘制直线。
- 三维图形转化为二维图形:小孔成像模型