发布于 2021-10-05 14:36:35
在在线书的这一部分中,有两种不同的计算随机射线反射的方法,第一种是:在球体内的任何地方选择一个点s,然后计算一个向量,从表面上的点p到球面内的点s。
第二种方法是:在球面上的任何位置选择一个点s,然后计算从点p到球面表面上的点s的向量。
计算出随机向量后,计算给定法向量与随机向量之间的角度\phi。然后在照明计算中使用这个角度。
考虑到计算随机向量的两种方法,出现了这样的问题:“这两种方法是等价的吗?我们如何证明它们是等效的?”为了证明我们必须用这两种不同的方法来计算每一个可能的角度,这会得到一个函数,它们是等价的。语言“每个可能的角度”的意思是在第一种方法中使用对体积的积分,对第二种方法使用对曲面的积分。这就是这两种方法不同的地方,对体积的整合给出了一个不同的答案,而不是表面上的整合。
...skipping所有的数学..。
第一种方法是,在做了一串微积分之后,它与cos^3(\phi)等价,这表明球体内部的所有点都将随机矢量角倾斜到接近法向量的球心。
第二种方法,经过更多的微积分,给出了结果cos(\phi),这是我们希望得到的答案。
发布于 2022-09-07 16:28:32
我认为这是书中的一个错误。
在被法线偏移的球面上均匀地选取随机点,你将得到与\cos{\theta} \sin{\theta}成比例的射线分布,而不是像书中所写的\cos{\theta}分布。
ds = \frac{(2r \cdot \cos{\theta} \cdot d\theta) }{\cos{\theta}} \cdot (2 \pi \cdot 2r \cdot \cos{\theta} \sin{\theta)} ,其中ds是移动球体表面相对于\theta的微分面积。将\theta从0集成到\pi/2,您将得到4 \pi r^2。
在球内均匀地选取随机点,得到与\cos{\theta}^3 \sin{\theta}成正比的射线分布。
dv = (2r \cos{\theta} d\theta) \cdot(2\pi \cdot 2r \cos{\theta} \sin{\theta}) \cdot(2r \cos{\theta} \cdot \frac{1}{3}) ,其中dv是相对于球体内\theta的微分体积(惠奇是一个四边形金字塔)。您可以很容易地将它集成到\frac{4}{3} \pi r^3中。
https://computergraphics.stackexchange.com/questions/12222
复制相似问题