Pythonを使って宇宙に行きたい①

エフ
2025-12-15
2025-12-15

space_uchusen_bg

ああ 宇宙に行きたい。どうしても宇宙に行きたい。
しかしどう考えてもそう簡単ではない…

というわけで妄想することにする
宇宙に行くという妄想をすることにする。
何を言っているのかわからないと思われたかもしれない。
私もよくわかっていない。

そこで、具体的な目標を設定する。
具体的には以下のような、地球から宇宙の衛星軌道に行くという動きを
描画するのだ。

gif1
さすがにBashでは描画なんぞできない。
ということで触ったこともないPythonでそれを実現することにする。

なんのために?
意味はありません。妄想のためです。

AIと相談しながら、まずは地球を描画する

-----------------------------------------------------
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import matplotlib.pyplot as plt

# 図と軸の作成
fig, ax = plt.subplots()

# 正方形のキャンバスにする
fig.set_size_inches(5, 5)
ax.set_aspect('equal')  # 真円にする

# 軸や枠線を非表示にする
ax.axis('off')

# 青い輪郭だけの円(中心 (0.5, 0.5)、半径 0.4)
circle = plt.Circle((0.5, 0.5), 0.4, edgecolor='blue', facecolor='none', linewidth=2)
ax.add_patch(circle)

# 描画範囲を調整
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)

# 表示
plt.savefig("circle.png", dpi=300, bbox_inches='tight')
-----------------------------------------------------------------


図2
上記のような感じで青い円を描きました。

これを発展させて目標を達成させます。

AIに指示を出してプログラムを改良していきます。

>プロンプト
>その青い円の中からまっすぐ真上に伸びて進んでいく線を描いたGifを作りたい

以下の記述がプログラムに追加されました。

------------------------------------------------
# 線の初期位置を y=0.6 に設定し、赤色に変更
line, = ax.plot([0.5, 0.5], [0.6, 0.6], color='red', linewidth=2)

def update(num):
    line.set_ydata([0.6, 0.6 + num * 0.01])
    return line,

ani = animation.FuncAnimation(fig, update, frames=50, interval=100, blit=True)
ani.save("line_extending.gif", writer='pillow')
------------------------------------------------

4

おお、いい感じ

よし、赤い線が残るよりも余韻を残して消えていく方がいい気がする。

>プロンプト
>ちなみにこの赤い線が進んでいく中で、古い部分から消えていく感じにできる?

5
うーん。まあ。意図は伝わっている。もう少し余韻を残したいが
まあ後で微調整するとして。よし。

宇宙に飛び出しはした。後は衛星軌道で回ることができればよい。
ということでAIに相談。

>プロンプト
>今の赤い線の到達地点から青い円と同じ中心で、もっと大きい赤い円を描くようなGifのPythonのプログラムにして

6

なんかちげえええ

ということで挑戦は続く