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表示蓝黄,这个空间认为轴的两端都是互补色

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

相关推荐
这可就有点麻烦了5 分钟前
强化学习笔记之【TD3算法】
linux·笔记·算法·机器学习
Ljubim.te2 小时前
软件设计师——数据结构
数据结构·笔记
speop3 小时前
【笔记】I/O总结王道强化视频笔记
笔记·音视频
奇客软件4 小时前
iPhone使用技巧:如何恢复变砖的 iPhone 或 iPad
数码相机·macos·ios·电脑·笔记本电脑·iphone·ipad
yngsqq4 小时前
031集——文本文件按空格分行——C#学习笔记
笔记·学习·c#
sealaugh325 小时前
aws(学习笔记第一课) AWS CLI,创建ec2 server以及drawio进行aws画图
笔记·学习·aws
CXDNW5 小时前
【网络篇】计算机网络——应用层详述(笔记)
服务器·笔记·计算机网络·http·web·cdn·dns
向上的车轮5 小时前
Django学习笔记五:templates使用详解
笔记·学习·django
看山还是山,看水还是。6 小时前
MySQL 管理
数据库·笔记·mysql·adb
训山6 小时前
【11】纯血鸿蒙HarmonyOS NEXT星河版开发0基础学习笔记-模块化语法与自定义组件
笔记·学习·华为·harmonyos·鸿蒙系统