2

这是基于我在这里提出的问题,但我想我可能以错误的方式提出了这个问题。这是我的问题:我正在编写一个科学的光线追踪器。即不用于图形虽然概念是相同的。

我从水平面向焦距为 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 页上的算法从任意分布生成的随机

我急于解决这个问题。

4

2 回答 2

0

您正在寻找Monte-Carlo 积分。关键思想是:尽管您将在圆盘外采样较少的光线,但您将对这些光线进行更多加权,并且它们将对总和具有更高的重要性。

使用均匀采样时,您只需将强度值相加,使用非均匀采样时,您将每个强度除以所发射光线的概率分布值(例如,对于均匀分布,该值是一个常数,并且不会改变任何东西)。

于 2013-06-30T03:33:31.403 回答
0

您的功能降至零,并且由于太阳不是表面光滑的物体,这可能是错误的。有可能在太阳的各个部分向各个方向发射光子。

但是:您的实际问题是什么?

于 2013-06-25T23:10:25.417 回答