2024-04-26 07:07:25 发布
网友
我有以下情况:
一个位于地球表面的点,具有三维坐标(X,Y,Z)和一个在飞机内部从地面拍摄的相机。对于相机,我也有拍摄图像时的三维坐标(X,Y,Z)。
对于这个场景,我需要计算地球表面上的点和飞机内部相机之间的光反射角。你知道吗
我想要一些建议或想法来计算这个角度。我知道一个可能的解决方案将使用解析几何。你知道吗
我已经使用PVLIB库计算了太阳入射到表面上的点的角度,但是在PVLIB上找不到确定光反射角度的函数。你知道吗
谢谢你的帮助!!你知道吗
我假设你用太阳的仰角和方位角来计算太阳的入射向量,比如(假设方位角为[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) )
我假设你用太阳的仰角和方位角来计算太阳的入射向量,比如(假设方位角为[N=0/E=90/S=180/W=270]):
考虑到光在平面上的反射(水平,法向量到天顶),反射光的向量(前向光,不考虑散射/色散光线,例如镜面)将为
平面相机的矢量为:
然后,反射光线和飞机相机之间的角度为(考虑到在本例中飞机位置向量不是单位向量):
相关问题 更多 >
编程相关推荐