Games101 图形学入门笔记

相机,透镜,景深等

相机

(1)图像 = 合成 + 捕捉 (图像可以是合成的,也可以是捕捉得到的)

(2)快门和传感器

  • 快门:可以控制光在一个极短的时间内进入相机
  • 传感器:在曝光过程中,在传感器每个点上记录其接受到的irradiance

(3)针孔相机和透镜相机的区别

  • 针孔相机,利用小孔成像的原理,如上图站立的人,身上每个点都在向四面八方反射光线,只有射向小孔的一条光线能通过,最终打在传感器上。光线追踪利用的是针孔摄像机模型

  • 透镜相机(常用),用一个凸透镜,可以允许更多的光通过。就人生上烟杆前端这一点来说,它反射出去的光,可以有多条以不同的折射角度 射到成像平面上,会更清晰一些。

    演示图片

  • 如果没有透镜和小孔,直接用传感器记录光线,不能得到正确结果,因为传感器并不区分来自哪个方向的光线,导致传感器上一个点记录了所有方向的光线,非常杂乱,得到的只会是一团浆糊。

    演示图片

视场(Field of Vied)(FOV)

视场就是相机能看到的角度范围

(1)小孔摄像机的视场计算

  • 定义好传感器的高度h,和焦距 f,能很轻松的算出FOV = 2arctan(h / 2f)。缩小焦距 f 可以得到更大的视场

  • 通常描述焦距都会换算到35mm创那期所对应的焦距长度。(比如一个手机,一共就不到1cm厚度,但是它描述的焦距为28mm,其实是等效到35mm传感器上所对应的焦距)

  • 通常会固定传感器大小,用焦距衡量视场, 17mm —— 104°(广角), 50mm —— 47°(普通), 200mm —— 12°(远摄)

  • 从图上很容易可以看出,视场与焦距成反比,与传感器尺寸成正比。可以认为传感器越大、焦距越长,则相机越好

    演示图片

曝光(Exposure)

H = T x E

  • H:曝光(Exposure)
  • T:曝光时间(time),通过快门控制多长时间光可以进入
  • E:辐照度(irradiance),感光器的单位面积上接收到的辐射通量总和,通过光圈大小(aperture)和焦距控制

举例理解:
在比较明亮的场景中,曝光时间控制短一些,在这特别短的时间内,辐射通量E是比较大的,所以能得到比较强的曝光
在比较昏暗的场景中,辐射通量E比较小,想要得到更大的曝光,则需要通过控制快门使曝光时间更长一些。

摄影中的曝光影响因素

  • Aperture size(光圈大小):通过开关光圈改变f-stop(光圈级数)。大光圈会模糊,小光圈更清晰。原因在后面CoC

  • Shutter speed(快门):改变传感器每个像素吸收光的时间,快门打开时间长,拍摄运动的物体就会拖影。

  • ISO gain(感光度):可以简单的理解成后期处理,把结果乘上一个数。在信号的角度理解,这样的操作同时将噪声放大

    演示图片

光圈(F-Number)(F - Stop)

  • 写作FN 或 F/N,其中N就是f-number。可以简单形象的理解为光圈直径的倒数。

  • 实际上F-Stop的数值为 焦距与光圈直径之比,即f/D

    演示图片

综合应用

  • 高速摄影:特别小的曝光时间,短时间内拍摄许多帧照片,然后按正常速度播放。采用大光圈提高亮度

    演示图片

    演示图片

  • 延时摄影: 特别长的曝光时间、小光圈

    演示图片

    演示图片

    演示图片

薄透镜近似(Thin Lens Approximation)

目前都不会使用单个透镜做成像,而是用一个透镜组

演示图片

真实的平面凸透镜并不会使光聚集于一点

演示图片

理想的薄透镜应该有以下性质 (用透镜组来实现)

  • 任意平行光穿过透镜会聚焦在焦点处

  • 任意光通过焦点射向透镜,会变为互相平行的光

  • 假设薄透镜的焦距可以任意改变

    演示图片

薄透镜公式

演示图片

Circle of Confusion(CoC)

CoC的尺寸就是,一个点成像后变成一个圆,这个圆的尺寸

  • 下图所示,是一个物距为zo的点,经过透镜后,聚焦在离透镜zi的距离上。此时,如果成像平面就在zi处,则图像清晰,但是假设成像平面在更远的zs距离处,这个点的成像会变成一个模糊的大的圆。
  • Focal Plane:在当前感光器位置上能够清晰成像的平面(其他深度位置的图像会模糊)

计算CoC尺寸(就是算图中的C)

相似三角形推导过程省略,最后的等式中可以看出C和A成正比 ——光圈越大越模糊

演示图片

大小光圈对比图

演示图片

渲染中模拟透镜

一般光线追踪使用的是针孔摄像机模型,但是如果想做出真实相机中的模糊效果,需要模拟薄透镜相机。

演示图片

光追中模糊效果实现步骤:

  • 定义传感器尺寸、透镜焦距、光圈大小
  • 定义物距zo,相应的可以计算出像距zi(根据薄透镜公式)
  • 渲染
    • 遍历每个感光器上的点x’

    • 在透镜平面随机采样一个点x’'

    • 那么这条线经过透镜后,一定会击中x’’’(已知条件套用薄透镜公式得出)

    • x’ 上记录 x’’’->x’’ 的radiance

      演示图片

景深(Depth of Field)

光圈的大小会影响模糊的范围,在Focal Plane上的物体依然可以清晰成像。

演示图片

CoC和景深的关系

  • 景深:场景中的一段深度

  • 在focal point 附近的一段范围内的CoC并不大(比一个像素小 或者差不多大),如果从场景中来的光经过理想化的透镜后落在这一段内, 可以认为场景中的这段深度成像是清晰的,其他深度则是模糊的

    演示图片

    计算景深

  • 其实推导过程比较简单,总之 DOF = DF - DN 算出来就行了

    演示图片