Rendering:Monte Carlo Integration I

Course: 渲染基础 Rendering Basics Date: November 29, 2025 10:38 AM (GMT+8)

🎨 Rendering:Monte Carlo Integration I

完整 Notion 笔记(内容不删减、无讲义痕迹)


🏛 1. Monte Carlo 的目的与背景

Monte Carlo(MC)用于估计 难以解析或高维 的积分,是现代光照计算、路径追踪、全局光照等技术的数学基石。

渲染中的光照、阴影、反射、可见性等都可以写成积分,因此 MC 是最通用的求解方式。


🎯 2. 积分与面积的关系

积分可以用于求曲线下的面积。 若函数 f(x) 定义在区间 [0,1] 上:

I=01f(x)dx I = \int_0^1 f(x)\,dx

这个量可以解释为曲线与 x 轴之间的面积。

Monte Carlo 的目标是用随机样本来估计这个面积。


🎲 3. Monte Carlo 的基本思想

Monte Carlo 用以下方法近似积分:

  1. 在 [0,1] 中均匀随机取样 N 个点
  2. 计算这些点的函数值
  3. 对函数值取平均
  4. 认为平均值近似积分的大小

公式:

I1Nif(xi) I \approx \frac{1}{N} \sum_i f(x_i)

这是一种直接、维度无关的估计方法。


📐 4. 随机采样与分布一致性

由于采样是均匀随机分布:

  • 采样点会覆盖整个区间
  • 每个采样点对估值贡献相同
  • 采样越多,覆盖越均匀

随着 N 增大,估计值会逐渐靠近真实积分。


🔍 5. 收敛行为与噪声

Monte Carlo 的误差具有统计学性质:

  • 误差期望为 0(无偏估计)
  • 方差 ∝ 1/N
  • 噪声(标准差) ∝ 1/√N

因此:

  • 4 倍样本 → 噪声减半
  • 100 倍样本 → 噪声只有 1/10
  • 想降噪需要大量样本

这解释了光线追踪图像的噪点和“越采越干净”的现象。


🧠 6. 期望与积分的等价形式

若 X 是 [0,1] 区间上的均匀随机变量,则:

E[f(X)]=01f(x)dx E[f(X)] = \int_0^1 f(x)\,dx

Monte Carlo 计算期望的方式:

E[f(X)]1Nif(xi) E[f(X)] \approx \frac{1}{N} \sum_i f(x_i)

这说明: 积分可以被视为期望,Monte Carlo 用样本平均估计期望。

这个观点是渲染中所有 MC 变种的根本依据。


🧩 7. 一般积分场景与高维扩展

Monte Carlo 并不依赖积分维度大小。

无论是:

  • 区间积分
  • 平面区域积分
  • 球面或半球方向积分
  • 面光源表面积积分
  • 路径空间(多跳反射)上的高维积分

都可以通过:

  1. 在积分域随机采样
  2. 计算被采样点的贡献
  3. 对这些贡献求平均

来估计结果。

这正是 MC 在渲染中极其重要的原因。


🔢 8. 面积估计与概率关系

Monte Carlo 不仅可以估计函数积分,也可以估计区域面积或概率。

若在一个区域中均匀采样:

  • 落在某子区域的样本占比 = 子区域占整个区域的面积比例
  • 乘以总面积即可得到子区域面积估计

这一思想用于:

  • 软阴影区域的可见性估计
  • 路径是否能到达光源的概率
  • 反射方向的空间占比

等诸多渲染任务。


🔥 9. 估算 π 的方法(几何概率)

通过 Monte Carlo 可以估计 π:

  1. 在 [-1,1] × [-1,1] 中均匀采样
  2. 判断点是否落在单位圆内
  3. 圆内比例 ≈ 圆面积 / 正方形面积
  4. 推出 π 近似值:
π4×#insideN \pi \approx 4 \times \frac{\#\text{inside}}{N}

这种方法体现了 Monte Carlo 在几何概率估计中的普适性。


📦 10. 随机变量化的渲染过程

在路径追踪中,像素的光照值来自一个随机过程:

  • 一条光线的路径
  • 是否被遮挡
  • 与光源交互的方式
  • 材质 BRDF 中的随机方向
  • 路径长度(可能随机终止)

每一条路径的结果都是一个样本。

像素最终的颜色是这些样本的平均:

Color1NiL(pathi) Color \approx \frac{1}{N} \sum_i L(\text{path}_i)

因此:

  • 噪声是自然现象
  • 样本越多 → 趋势越明显、噪点越少
  • 光照越复杂 → 方差越大、需要更多样本

⚙️ 11. Monte Carlo 的性质总结

  • 适用于任意维度的积分
  • 计算量与维度无关(稀疏不爆炸)
  • 对积分域要求极低,只需能采样
  • 是高维光照的唯一通用方法
  • 收敛较慢,但稳定、可控
  • 可以叠加降噪与重要性采样来提高效率

⭐ 12. 场景计算中的意义(渲染视角)

Monte Carlo 在渲染中的意义包括:

  • 解决面光源的光照
  • 实现软阴影
  • 模拟镜面/粗糙表面反射
  • 处理间接光(GI)
  • 表达复杂材质的散射
  • 表达路径可能性(多跳路径)
  • 估计可见性、能量传输、BRDF 分布

所有现代光线追踪器本质上都是在大量执行 MC 的求平均操作。