这是基于我在这里提出的问题,但我想我可能以错误的方式提出了这个问题。这是我的问题:我正在编写一个科学的光线追踪器。即不用于图形虽然概念是相同的。
我从水平面向焦距为 100m(和完美镜面反射)的抛物线盘发射光线。我在菜的焦点上有一个目标。光线不是从平面垂直发射,而是受到一定角度的扰动,以模拟太阳不是点源而是天空中的圆盘这一事实。
然而,来自太阳的通量在太阳圆盘上并不是径向恒定的。中间比边缘更热。如果你曾经在朦胧的日子里看过太阳,你会看到太阳周围有一个环。
由于抛物面碟,目标上的反射图像应该是太阳的图像。即它应该在中间比在边缘更亮(更热,更多通量)。这是由强度与强度的图表给出的。到中心的径向距离
有两种方法可以模拟这个。
首先:均匀采样:每条光线都以相等(均匀)的概率从 0 和太阳圆盘大小之间的角度射出。然后,我根据该角度对应的通量值缩放射线携带的通量。
其次:任意采样:根据强度Vs的分布从平面射出每条光线。径向距离。因此,朝向外边缘的光线将少于中心内的光线。这对我来说似乎更有效率。但我无法让它工作。有什么建议吗?
这就是我所做的:
均匀地
phi = 2*pi*X_1
alpha = arccos (1-(1-cos(theta))*X_2)
x = sin(alpha)*cos(phi)
y = sin(alpha)*sin*phi
z = -cos(alpha)
其中X
是一个均匀随机数,theta
是太阳圆盘的对角。
任意采样
alpha = arccos (1-(1-cos(theta)) B1)
哪里B
是使用第 27 页上的算法从任意分布生成的随机数。
我急于解决这个问题。