彼の解決策について@NickBrownにおめでとう!その方程式といくつかの参照に基づいて、もう少し追加します。
視覚的な大きさの計算には3つの入力パラメーターが必要です
- オブジェクトのリフレクターの良さ
- 照明と表示の間の角度
- イルミネーターとビューアーからの距離はオブジェクトからの距離です
天体の場合、アイテム1に絶対等級を使用します。衛星の表示では、絶対等級と固有等級の両方が使用されます。絶対等級とは、太陽から1 AUとあなたから1 AUでのオブジェクトの視覚的な等級であり、完全に表示(位相角= 0)です。これは、太陽の真横に座っていることを意味します。
固有の等級は似ていますが、現在、太陽が肩にかかっているオブジェクトからわずか1,000 kmです。
どちらの方法でも、アルベド、サイズ、および形状の情報はすべて絶対または固有の大きさにまとめられ、距離と角度のみが残ります。
照明の方向と表示の方向の間の角度は、位相角と呼ばれます。たとえば、月の満ち欠けを考えてみてください。月の位相角が90度の場合、半月になります。ゼロは満月、180度は新月です。
位相角の関数としての輝度の変調は、Vallerie、EM III、人工地球衛星から受信した測光データの調査、AD#419069、空軍技術研究所、防衛文書センター、アレクサンドリア、バージニア州、1963年に提案されました。これはResearchgateにもあるRita L. Cognionによる大きな位相角でのGEO衛星の観測とモデリングで見つけました。
依存関係は次の用語で与えられます
1π(sin(ϕ)+(π−ϕ)cos(ϕ))
のように見えます
問題の衛星の距離が483キロメートル、固有の等級-1.3の場合、見かけの等級は約-2.0のようで、位相角への依存は次のようになります。
すべての宇宙船が球形で、拡散した白い表面や球形の牛の形をしているわけではありません。
いくつかのより親しみやすい形状の位相角依存性については、同期軌道の典型的な衛星の可視マグニチュードの図2を参照してください。
def Mapparent_from_Mintrinsic(Mint, d_km, pa):
term_1 = Mint
term_2 = +5.0 * np.log10(d_km/1000.)
arg = np.sin(pa) + (pi - pa) * np.cos(pa)
term_3 = -2.5 * np.log10(arg)
return term_1 + term_2 + term_3
import numpy as np
import matplotlib.pyplot as plt
halfpi, pi, twopi = [f*np.pi for f in (0.5, 1, 2)]
degs, rads = 180/pi, pi/180
Mintrinsic = -1.3
d_kilometers = 483.
phase_angles = np.linspace(0, pi, 181)
Mapp = Mapparent_from_Mintrinsic(Mintrinsic, d_kilometers, phase_angles)
# https://astronomy.stackexchange.com/q/28744/7982
# https://www.researchgate.net/publication/268194552_Large_phase_angle_observations_of_GEO_satellites
# https://amostech.com/TechnicalPapers/2013/POSTER/COGNION.pdf
# https://apps.dtic.mil/dtic/tr/fulltext/u2/785380.pdf
if True:
plt.figure()
F = (1./pi)*(np.sin(phase_angles) + (pi-phase_angles)*np.cos(phase_angles))
plt.suptitle('F = (1/pi)(sin(phi) + (pi-phi)cos(phi))', fontsize=16)
plt.subplot(2, 1, 1)
plt.plot(degs*phase_angles, F)
plt.ylabel('F', fontsize=16)
plt.subplot(2, 1, 2)
plt.plot(degs*phase_angles, -2.5*np.log10(F))
plt.xlabel('phase angle (degs)', fontsize=16)
plt.ylabel('-2.5log10(F)', fontsize=16)
plt.ylim(-1, 11)
plt.show()
if True:
plt.figure()
plt.plot(degs*phase_angles, Mapp)
plt.plot(degs*phase_angles[113], Mapp[113], 'ok')
plt.text(90, -5, '{:0.2f} at {:0.1f} deg'.format(Mapp[113], 113), fontsize=16)
plt.xlabel('phase angle (degs)', fontsize=16)
plt.ylabel('mag', fontsize=16)
plt.title('apparent mag of intrinsic mag=-1.3 at 483 km', fontsize=16)
plt.ylim(-10, 15)
plt.show()