スポンサーリンク
Last Updated on 2023年5月7日 by あっぱれ
太陽
9時5分 2400mm 1/1000 F8 ISO200 ND100000 大きな黒点群です。
6000mm
月
20時14分 2400mm F7.1 ISO400 月齢14.5 満月直前
コペルニクスとティコの距離は?
しつこく、コペルニクスとティコの距離を再計算してみました。赤道半径1738.1km、極半径1736.0km(NASA Moon Fact Sheetより)。結果は1622kmとなり、カシオ計算1625kmとかなり近い数字になりました。1600kmぐらいと考えておけば良さそうです。
さらに、Chat GPTに赤道半径と、極半径を用いた場合の、2つの月面座標間距離をもとめるpythonプログラムを作ってもらいました。
import math
# 月の赤道半径 (km)と極半径 (km)
MOON_EQUATORIAL_RADIUS = 1738.1
MOON_POLAR_RADIUS = 1736.0
# 2つの月面座標を入力
lat1, lon1 = map(float, input("座標Aを緯度、経度の順にカンマ区切りで入力してください: ").split(","))
lat2, lon2 = map(float, input("座標Bを緯度、経度の順にカンマ区切りで入力してください: ").split(","))
# 度数法からラジアンに変換
lat1_rad = math.radians(lat1)
lon1_rad = math.radians(lon1)
lat2_rad = math.radians(lat2)
lon2_rad = math.radians(lon2)
# 計算に必要な定数を求める
a = MOON_EQUATORIAL_RADIUS
b = MOON_POLAR_RADIUS
f = (a - b) / a
P1 = math.atan(b / a * math.tan(lat1_rad))
P2 = math.atan(b / a * math.tan(lat2_rad))
L1 = lon1_rad
L2 = lon2_rad
U1 = math.atan((1 - f) * math.tan(P1))
U2 = math.atan((1 - f) * math.tan(P2))
# 2点間の距離を計算
cos_alpha = math.cos(U1) * math.cos(U2) * math.cos(L1 - L2) + math.sin(U1) * math.sin(U2)
sin_alpha = math.sqrt((math.cos(U2) * math.sin(L1 - L2)) ** 2 + (math.cos(U1) * math.sin(U2) - math.sin(U1) * math.cos(U2) * math.cos(L1 - L2)) ** 2)
alpha = math.atan2(sin_alpha, cos_alpha)
distance = alpha * ((a + b) / 2)
# 結果を表示
print(f"座標Aと座標Bの距離は {distance:.2f} kmです。")
これで、
ティコ月面座標 (-43.30, -11.22)
コペルニクスの月面座標 (9.62, -20.08)
として、計算すると、1620.21kmとなりました。
座標Aを緯度、経度の順にカンマ区切りで入力してください: -43.3,-11.22
座標Bを緯度、経度の順にカンマ区切りで入力してください: 9.62,-20.08
座標Aと座標Bの距離は 1620.21 kmです。
Chat GPTすごいと言うより、正しく指示を与えれば正しく回答してくれるといったほうが正しいようです。
スポンサーリンク