采样变换与光线追踪中的噪声处理
1. 采样变换基础
在许多图形和模拟应用中,均匀采样二维表面是一个常见的需求。当均匀采样二维表面时,所有点的概率密度函数(PDF)等于表面面积的倒数。例如,对于单位球体,PDF 为 ( \frac{1}{4\pi} )。
2. 不同形状的均匀采样方法
2.1 圆盘采样
- 极坐标映射 :极坐标映射将均匀分布的 ( u[0] ) 转换为更倾向于较大半径的值,以确保样本均匀分布。随着半径的增加,圆盘的面积也会增加,半径为一半时的面积仅占总面积的四分之一。代码如下:
r = R * sqrt(u[0])
phi = 2 * M_PI * u[1]
x = r * cos(phi)
y = r * sin(phi)
不过,这种方法通常不被使用,因为存在“接缝”(逆变换中的不连续性),除非要避免分支,否则更倾向于使用同心映射。
- 同心映射 :同心映射将 ( [0, 1)^2 ) 内的同心正方形映射到同心圆,避免了接缝并保留了邻接性。代码如下:
a = 2 * u[0] - 1
b = 2 * u[1] - 1
if (a * a > b * b):
r = R * a
phi = (M_PI / 4) * (b / a)
else:
r = R * b
phi = (M_PI / 2)
超级会员免费看
订阅专栏 解锁全文
75

被折叠的 条评论
为什么被折叠?



