2、光场的基本数学描述:光场的7维函数、光场的参数化表示(双平面法)、光场的采样与重建

好,我们正式开始第二讲。上一章我们聊了光场是什么——说白了,就是空间中所有光线携带的信息的总和。但光场到底怎么描述?怎么用数学语言把它写下来?怎么在计算机里表示它?这些才是真正动手做光场显示的基础。

我记得刚入行那会儿,看论文里满篇的 L(x,y,z,θ,φ,λ,t),头都大了。后来自己搭光场采集系统,才真正理解这7个维度到底在说什么。今天我们就把它彻底讲透。

2.1 光场的7维全函数

先问一个问题:描述一束光,需要几个参数?

你想想看,一束光从某个点出发,沿着某个方向传播,它有颜色,还会随时间变化。所以最完整的描述,需要7个维度:

维度 符号 含义 举例
空间位置 (3维) (x, y, z) 光线经过的某一点坐标 人眼瞳孔中心、显示屏像素位置
方向 (2维) (θ, φ) 光线传播的俯仰角和方位角 从屏幕射向眼睛的方向
波长 (1维) λ 光的颜色/光谱 红光 650nm,绿光 532nm
时间 (1维) t 光线出现的时刻 动态场景的帧时刻

所以光场的7维函数写作:

L(x, y, z, θ, φ, λ, t)

这个函数的值,就是该位置、该方向、该波长、该时刻的光辐射强度。

核心理解:7维函数不是用来直接计算的,它是一个概念框架。实际工程中,我们永远在降维——要么忽略时间(静态场景),要么忽略波长(单色光),要么固定空间位置(比如只考虑显示平面)。

我在做全息显示项目时,一开始总想着把7维全函数算出来,结果发现计算量根本扛不住。后来才明白,光场显示的本质是选择性地重建对人眼有用的那部分光场,而不是重建全部。

2.2 双平面参数化表示

7维函数太抽象了,工程上没法直接用。我们需要一个更具体的表示方法。

这里我要介绍一个经典方法——双平面法。这也是我在实际项目中最常用的光场表示方式。

思路很简单:

  • 取两个平行平面,一个叫 uv 平面(通常是显示面板),一个叫 st 平面(通常是透镜阵列或观察平面)
  • 任意一条光线,只要它穿过这两个平面,就可以用 (u, v, s, t) 四个坐标唯一确定

这样一来,7维函数就降成了4维:

L(u, v, s, t, λ, t)

如果场景是静态的、单色的,甚至可以降到4维:

L(u, v, s, t)

我的经验:双平面法最大的好处是直观。你想想看,u-v 平面就是你的显示面板,s-t 平面就是你的眼睛位置。改变 s-t 坐标,就相当于从不同位置看同一个屏幕——这不就是光场显示要模拟的效果吗?

具体来说,双平面法有几种常见变体:

变体名称 uv 平面 st 平面 典型应用
标准双平面 显示面板 透镜阵列 集成成像显示
相机阵列模型 相机传感器 主透镜 光场相机 (Lytro)
视点-像素模型 像素坐标 视点坐标 多视角显示

我建议你在做光场显示系统设计时,第一步就是确定你的双平面怎么放。这个选择直接决定了后续的采样策略和重建质量。

2.3 光场的采样与重建

有了双平面表示,下一个问题来了:我们不可能记录所有 (u, v, s, t) 组合,只能采样一部分。采样之后,还要能重建出连续的光场。

这里有两个核心问题:

  1. 怎么采样?——采样率多少才够?
  2. 怎么重建?——采样点之间怎么插值?

2.3.1 采样定理在光场中的应用

还记得 Nyquist 采样定理吗?它说:要无失真地重建一个信号,采样频率必须大于信号最高频率的两倍。

光场也一样。但光场的"频率"不是时间频率,而是空间-角度频率。具体来说:

  • 空间采样率:由显示面板的像素密度决定
  • 角度采样率:由视点/视角的密度决定

两者之间有一个权衡关系:

Δu · Δθ ≤ λ / (2 · NA)

其中 Δu 是空间采样间隔,Δθ 是角度采样间隔,λ 是波长,NA 是数值孔径。

避坑指南:我曾经在一个项目中,只关注了空间分辨率,忽略了角度采样率。结果做出来的光场显示,人眼稍微一动就看到明显的跳变——这就是角度欠采样的典型表现。后来我加了一组微透镜阵列才解决。

2.3.2 常见的采样策略

实际工程中,我们不会均匀采样整个4维空间。常用的策略有:

策略 描述 优点 缺点
均匀采样 u-v 和 s-t 都均匀网格采样 实现简单 数据量大,冗余多
稀疏采样 只采样关键视点 数据量小 重建质量依赖插值算法
自适应采样 根据场景内容调整采样密度 效率高,质量好 实现复杂

2.3.3 重建方法

采样之后,怎么从离散的采样点恢复连续光场?

常用的重建方法有:

  1. 线性插值:最简单,但会产生模糊
  2. 双线性插值:在 u-v 和 s-t 方向分别插值,效果中等
  3. 基于深度信息的重建:利用场景的深度图,做更精确的插值
  4. 基于学习的重建:用神经网络从稀疏采样恢复密集光场

我的建议:如果你的系统实时性要求高(比如 60fps 的 AR 显示),用双线性插值就够了。如果追求画质(比如光场电影),可以考虑基于深度的方法。至于深度学习,嗯,效果确实好,但算力开销你得掂量掂量。

2.4 知识结构总览

下面这张图总结了本章的核心逻辑:

光场数学描述知识结构图 光场数学描述知识结构 7维全函数 L(x,y,z,θ,φ,λ,t) 双平面参数化 L(u,v,s,t,λ,t) 参数化变体 采样策略 重建方法 标准双平面 相机阵列模型 均匀/稀疏/自适应 Nyquist 准则 线性/双线性插值 深度/学习重建 核心思路:7维 → 4维(双平面)→ 采样 → 重建

2.5 本章小结

这一章我们讲了三个层层递进的内容:

  • 7维全函数:光场的完整数学描述,是理论基石
  • 双平面参数化:把7维降到4维,工程上可操作
  • 采样与重建:从离散到连续的桥梁,决定系统质量

嗯,说实话,这些概念刚接触时确实有点绕。但只要你动手搭过一次光场采集系统,或者写过一次光场渲染的代码,就会明白——这些数学工具不是用来考试的,而是用来指导工程决策的。