文章

2.0 Monte Carlo Integration

渲染领域中有各种各样的积分问题,如渲染方程、相机的传感器响应、皮肤等材质的散射。这些积分通常都没有解析解,我们不得不转向数值解。然标准数值积分技术(如梯形积分或高斯求积法)在求解低维平滑积分时有效,但对于渲染中常见的更高维和不连续积分,它们的收敛速度很差。特卡罗积分技术为这个问题提供了一种解决方案。它们使用随机采样来评估积分,其收敛速度与被积函数的维数无关

蒙特卡洛积分有一个重要的性质,那就是它需要能够在域上的随机点上计算被积函数,以便估计其积分的值。此属性不仅使蒙特卡罗易于实现,而且还使该技术适用于各种被积函数。

随机性的明智使用彻底改变了算法设计的领域。随机算法大致分为两类:拉斯维加斯和蒙特卡罗。拉斯维加斯算法是使用随机性但最终总是给出相同结果的算法(例如,在快速排序中选择一个随机数组条目作为枢轴元素)。另一方面,蒙特卡罗算法会根据沿途使用的特定随机数给出不同的结果,但平均而言会给出正确答案。因此,通过对蒙特卡罗算法的多次运行结果(在相同的输入上)求平均值,可以找到一个在统计上非常接近真实答案的结果。

本文由作者按照 CC BY 4.0 进行授权