学习时间:2018.04.16
00 计算机图形学学习
概念:
- 颜色视觉
- 图像和像素
- 三角网格模型
- 光照模型与明暗处理
- 视点变换和视点方向
1 颜色视觉
-
颜色是对不同波长的光的能量的感知:不同波长的电磁波对应不同的颜色;对于人眼能感知的光(可见光),其波长范围为 380nm 到 760 nm 之间
-
颜色空间:
– RGB
– CMY
– HSV
– CIE XYZ(国际发光照明委员会于1931年提出,可以表示所有可感知的颜色,而 RGB 空间不能)
2 图像和像素
- 图像可以看成是一个二维离散函数:f(x, y)
- 函数 f 的定义域是由矩阵排列着的许多格子组成,这些格子被称为像素 (pixel)。
- 函数 f 的取值则为各个像素的色彩:对于彩色图像,可以是 RGB 或者 RGBA;
对于灰度图像,f 为单值函数
3 三角网格模型
- 简单的球体,长方体可直接用其参数描述。对于复杂模型,则需要使用参数曲线和曲面或者更一般的网格模型来进行描述。网格模型之中又以三角网格最为常用。
-
三角网格是由一系列欧式空间中的三维顶点以及连接这些顶点的若干三角面片组成,具体包括:
– 顶点集合 V= (v1, v2, …,vn)
– 面片集合 F = (f1, f2, …, fm)
其中F 中的每个面片 f i 都是由V 中的顶点构成的空间三角形 - 三角面片的法向量是垂直于该三角面片所在平面的非零向量;对于每个三角面片单独而言,其法向量都有两种可能的朝向;法向量的朝向决定了一个三角面片的正面与反面;对于连续可定向的三角网格整体而言,相邻的三角面片需要具备一致的法向量朝向。
-
三角网格顶点的法向量可以通过其周围的所有三角面片的法向量通过加权叠加计算:
假设v 是k 个三角面片f 1 , f 2 , …, f k 所共有的顶点: -
三角网格的简单绘制:三角网格模型的每个顶点需要指定一个颜色属性
基于颜色的绘制:模型表面的每点的颜色通过其所在三角面片的顶点颜色插值得到。
基于光照的绘制:需要指定一个虚拟的光照环境;如何计算光照对颜色的影响是最大的问题。
4 光照模型与明暗处理
光照模型 (lighting model 或 illumination model) 用于计算光的强度:
– 局部光照明 (Local Lighting)
• 关注物体直接受到光源影响所产生的光照效果。
– 全局光照明 (Global Lighting)
• 关注阴影效果;
• 关注所有不是直接与光源位置相关的光照效果, 例如反射和折射效果,等等-
光线传播的能量方程
-
光的传播
光的传播遵循反射定律:
– 入射角等于反射角;
– 入射光线、反射光线、以及反射面的法向量位于同一平面内。
– 入射角和折射角的正弦值之比是一个仅仅取决于介质的常数;
– 这个常数称为相对折射系数。 Phong 光照模型
-
考虑到物体表面的几何细节往往并不规则,为了减缓由模型离散化所导致的不光滑的色彩效果,通常的明暗处理除了使用光照模型外,还需要进行插值。
Gouraud 明暗处理和Phong 明暗处理:
– Gouraud 明暗处理是对色彩进行插值;
– Phong 明暗处理则是对法向进行插值。
5 视点变换和视点方向
- 图形学关注于如何将由几何模型组成的三维场景绘制成高质量的彩色图像。
变换在图形学中至关重要:通过变换,可以简洁高效地设置和编辑三维场景,光照位置,以及视点方向。 - 常见的变换有如下几类:
– 刚体变换 (Rigid-body Transformation)
– 相似变换 (Similarity Transformation)
– 线性变换 (Linear Transformation)
– 仿射变换 (Affine Transformation)
– 投影变换 (Projective Transformation) - 我们的眼睛能将三维场景感知为二维图像, 大脑则会将二维图像再重构回三维。在计算机图形学中,我们利用投影,模拟眼睛的功能和效果。
投影的两个重要概念:
– 视点变换:与相机位置及朝向相关
– 投影模式:将3D 变换成为2D 的变换模式,常用的包括正交投影和透视投影
6 绘制管线 (pipeline)
-
管线
– 如果一项操作能分解成n个流水线操作,那么速度能提升n倍
– 如果处理对象能分到m个流水线上处理,那么速度能提升m倍(并行化)
– 特点:Step by step,流水线的速度由最慢的操作决定