0

我有以下情况:

一个位于地球表面的点,具有 3D 坐标(X、Y、Z),飞机内部的一台摄像机从表面拍摄照片。对于相机,我也有拍摄图像时的 3D 坐标(X、Y、Z)。

对于这种情况,我需要计算地球表面上的点和飞机内的相机之间的光反射角。

我想要计算这个角度的建议或想法。我知道可能的解决方案将使用解析几何。

我已经使用 PVLIB 库计算了太阳入射角到表面上的点,但我在 pvlib 上找不到确定光反射角的函数。

谢谢帮助我!!

4

1 回答 1

2

我假设您使用太阳仰角和方位角通过某些公式计算太阳入射矢量,例如(假设方位角为 [N=0 / E=90 / S=180 / W=270]):

Vx_s = sin(sun_azim) * cos(sun_elev)
Vy_s = cos(sun_azim) * cos(sun_elev)
Vz_s = sin(sun_elev)

考虑平面上的光反射(与天顶的法线矢量水平),反射光的矢量(前向光,不考虑散射/色散光线,例如镜面)将为

Vx_r = sin(sun_azim + 180) * cos(sun_elev)
Vy_r = cos(sun_azim + 180) * cos(sun_elev)
Vz_r = sin(sun_elev)

平面相机的矢量为:

Vx_p = X_plane - X_surface
Vy_p = Y_plane - Y_surface
Vz_p = Z_plane - Z_surface

那么,反射光线与飞机相机的夹角为(考虑本例中平面点矢量不是单位矢量):

alpha = arccos( (Vx_p*Vx_r + Vy_p*Vy_r + Vz_p*Vz_r) / sqrt(Vx_p**2 + Vy_p**2 + Vz_p**2) )
于 2019-09-06T10:33:12.920 回答