国際宇宙ステーションの視覚等級を計算するのに役立つように、位相角を計算できる必要があります。
誰かがそれを計算するのを手伝ってくれますか?
任意の時点で、Obs
オブジェクトとISS
を使用してオブジェクトを生成しましたPyEphem
。オブザーバーについては、太陽Alt/Az
への距離ISS
とAlt/Az
太陽への距離があります...そしてもちろんISS.range
、オブザーバーからの距離 (km) もあります。したがって、「単純な」ジオメトリで位相角を計算できるはずです。残念ながら、この単純なジオメトリは、私が自信を持って解決できる範囲を少し超えています (最後にそれを行ってから時間がかかりすぎたと思います)。
ANSWER: 私はそれを理解しました (古き良きインターネットの助けを借りて) これは部分的なコード スニペットです (Leandro Guedes によって ephem.earth_radius を Km に修正して更新されました)
# SSA Triangle. We have side a and b and angle C. Need to solve to find side c
a = sun.earth_distance * au - ephem.earth_radius/1000 #distance sun from observer (Km)
b = iss.range / 1000 # distance to ISS from observer (Km)
angle_c = ephem.separation( (iss.az, iss.alt), ( sun.az, sun.alt) )
c = math.sqrt( math.pow(a,2) + math.pow(b,2) - 2*a*b*math.cos( angle_c) )
# now we find the "missing" angles (of which angle A is the one we need)
angle_a = math.acos((math.pow(b,2) + math.pow( c,2) - math.pow(a,2)) / (2 * b * c))
angle_b = math.pi - angle_a - angle_c #note: this is basically ZERO - not a big surprise really - and I don't need this anyway.
phase_angle = angle_a # This is the angle we need. BINGO!!