20 Games101 - 笔记 - 光场、颜色与感知

**20 ** 光场、颜色与感知

光场

眼睛成像

眼睛成像:我们看到这个三维世界,在眼睛里类似就是一幅二维的图。如果直接看到一幅记录了看到的光线信息的图,也能得到同样效果(虚拟现实)。

全光函数

全光函数可以描述我们可以看到的所有事物的集合。

定义:简单来说,我们假设在一个场景中,位置固定,可以四面八方地去看,则用极坐标可以定义我们的方向,全光函数描述了向某个方向看会看到什么样的值。

引入波长(颜色)得到彩色事物

引入时间,得到电影的概念。

引入三维坐标,得到全息电影的概念。

采样全光函数

光场的作用:

根据摄像机的位置查询相应光线强度。

参数化表示的方法:通过定义一个平面上点和角度,也可以定义两个平面上的点,通过两个坐标信息来表示。

左平面幕布看到的 右屏幕摄像机位置

参数化表示的两种方法:

  • 一种是固定(u,v), 看所有的(s,v)组成一张图,也就是表示了从不同点看到的外部世界的样子
  • 另一种是固定(s,v),所有的(u,v)组成一张图,也就是表示了从不同方向看同一个点的样子(把一个像素的irradiance展开为radiance)

光场相机

光场相机最重要的功能是支持先拍照,后期再重新聚焦。

光场相机原理:把像素换成了微透镜,把光分散到不同方向上去然后再记录下来。

如何将光场相机拍摄出的结果还原成类似于普通相机拍摄得到的结果?

  • 优点:"虚拟"的移动相机(取不同方向的光线,好像在移动摄像机的位置)
  • 缺点:对胶片的要求高、成本高

颜色和感知

物理基础

牛顿发现太阳光可以被棱镜分解成不同颜色,这说明白光是多种颜色的光混合出来的。

光谱:光线在不同波长上的分布。

可见光光谱:波长大约在400nm~700nm

谱功率密度(SPD):描述光线在不同的波长的分布。

谱功率密度具有线性性质。

生物基础

颜色的定义:颜色是人类感知的一种现象;它不是光的一种根本的属性。不同波长的光不是"颜色"。

眼睛的结构:

  • 瞳孔 --> 光圈

  • 晶状体 --> 透镜

  • 视网膜 --> 感知的地方

    • 视网膜上有感光细胞
    • 视杆细胞:棒状,数量多,只感知光的强度而非颜色
    • 视锥细胞:锥形,数量少,用来感知颜色
      • 视锥细胞又被分为S, M, L三种,用来感知不同波长的光
      • 不同的人这三种视锥细胞分布非常不同

色彩三色理论(Tristimulus Theory of Color)

不同视锥细胞感知的结果 就是 其光谱响应曲线与光强曲线对应位置相乘再积分起来的结果

人眼无法测量,大脑也无法接收有关每种光波长的信息,眼睛只能"看到"三个响应值(S,M,L)并最终由大脑接受。

同色异谱

同色异谱:两个不同的光谱,它们最终投射到相同的(S,M,L)响应值。

颜色重建与匹配


同时,系数可能是负数。

CIR RGB

CIE是一个组织,它们定义了RGB的系统,与之前的加色匹配设置相同,但原色和测试光都是单波长的光,通过测试来测量多少强度的三种原色加起来与测试光相同。

颜色匹配函数描述了每个 CIE RGB 原色光各自多少强度相加起来才能匹配 x 轴上给定波长的单色光。

我们得到的是对应的是单一波长的光,但是现实的光线SPD是很多波长组合在一起的,所以在表示现实颜色时我们要把每一个波长都考虑进去,自然要使用积分表示:

颜色空间

标准RGB系统

标准RGB系统:Standardized RGB (sRGB) 系统是一种被广泛运用于各种设备的色彩系统,但是RGB所能形成的色域是有限的。

CIE XYZ系统

CIE XYZ :这个系统我们使用XYZ表示颜色,并且由于绿色部分在轴上分布比较均匀,Y也表示亮度,与RGB的区别其实就是匹配函数的不同。

色域:一个颜色空间所有可能表示的颜色

基于感知的色彩空间(HSV)

HSV色彩空间被广泛地运用于"颜色选择器"。

CIELAB

L为亮度、a表示红绿、b表示蓝黄,这个空间认为轴的两端都是互补色

互补色是通过实验得到的,我们可以通过视觉暂留效果验证,比如先看一张反色的图,一段时间后换成空白,就能"看"到互补色

相关推荐
想成为优秀工程师的爸爸27 分钟前
第十九篇技术笔记:UDP——相思传得快,飞鸽传书在
笔记·网络协议·tcp/ip·udp·信息与通信
Yeh2020584 小时前
cookie与Session笔记
笔记
d111111111d5 小时前
STM32-UART封装问题解析
笔记·stm32·单片机·嵌入式硬件·学习·算法
寒秋花开曾相惜5 小时前
(学习笔记)4.2 逻辑设计和硬件控制语言HCL(4.2.1 逻辑门&4.2.2 组合电路和HCL布尔表达式)
linux·网络·数据结构·笔记·学习·fpga开发
Yeh2020586 小时前
request与response笔记
java·前端·笔记
Fuyo_11197 小时前
C++ 内存管理
c++·笔记
柳鲲鹏7 小时前
李善兰和牛顿,谁剽窃谁的运动三定律
笔记
handler018 小时前
Linux 进程探索:从 PCB 管理到 fork() 的写时拷贝
linux·c语言·c++·笔记·学习
xuhaoyu_cpp_java9 小时前
MyBatis学习(五)
经验分享·笔记·学习·mybatis
AI_661465979 小时前
副业平台收益效率评估:实验设计、指标体系与数据分析框架
经验分享·笔记