计算机图形学是研究用计算机及其图形设备来输入、表示、变换、运算和输出图形的原理、算法及系统的一门学科。
学习目标
- 了解OpenGL ES的渲染流程
- 学习三维图形基本的理论
- 掌握常用的三维数学方法,向量,四元数,矩阵
- 掌握模型矩阵,观察矩阵,投影矩阵
- 根据三维数理实现一套纯软件的三维流程
- 输入顶点数据
- 模型矩阵做变换,通过世界坐标或局部坐标做变换
- 观察矩阵
- 投影矩阵,远大近小
- 标准化设备坐标系(NDC)
在计算机中,图像文件主要分为2类:
- 位图
由排列成行列的像素点(pixel)组成,能真实的记录图像中每个像素的颜色和特征。 - 向量图
图像文件中只记录生成图的算法和图上的某些特征点。比如从(0,0)点到(1,1)点绘制一条直线。当把图像放大之后,图像不会失真。常用的图像存储格式有:PCX、BMP/DIB、GIF、TIFF、JPG/PIC、PCD、TGA、PNG、DDS。
JPG是有损压缩,PNG是无损压缩,DDS是近几年发展起来的一种压缩纹理格式。
1. 向量
- 向量求模
向量的模可以理解为表示向量的直线段的长度。 - 向量相等
如果两个向量拥有相同的大小和方向,那么两个向量相等。 - 向量点乘
uv = ux * vx + uy * vy + uz * vz
uv = |u| * |v| * cos$
如果=0,那么相互垂直。
如果>0,那么向量uv之间的夹角小于90度。
如果<0,那么向量uv之间的夹角大于90度。 - 向量叉乘
叉乘,也叫向量的外积、向量积,叉乘的结果是另外一个向量。u和v进行叉乘后得到另一个向量p,向量p同时垂直于 u,v。
反对称性: U x V = - V x U
齐次性:(kU) x V = k ( U x V)
可加性:U x (V x R) = U x V + U x R
2. 矩阵
-
矩阵转置
矩阵的转置指交换矩阵的行和列。
转置矩阵具有如下特性:矩阵的转置的转置等于原矩阵。
-
逆矩阵
参考矩阵的应用
3. 四元数
四元数(quaternion)是由爱尔兰数学家哈密顿于1843年发明的,四元数并不代表现实世界的任何东西,只在数学意义上存在。
四元数本身可视为是在复数基础上的扩展。可称为是超复数。四元数是指由一个实部和三个虚部的复数。