【星空】
ここでも星は見えるの?
画像を映せば簡単だが、それじゃ面白くないね。この「仮想空間」では、Pythonというプログラミング言語が使えるんだ。早速、道具を用意してやってみよう。
import matplotlib.pyplot as plt
import random
これはね、二次元座標とサイコロだよ。じゃ、空を作ろう。
空の大きさ = 150
plt.figure(figsize=(空の大きさ, 空の大きさ))
plt.style.use('dark_background')
ここでは、150インチ……約4m四方の夜空を用意したよ。これでも一室の天井よりは全然広い。これ以上は処理落ちしちゃうから、ここまでね。
plt.axis('off')
axisは「軸」という意味。座標軸なんて夜空にはないから消すよ。
これで夜空はできた。次は星だね。
……………………
星の数 = 4000
星の数は4000個。肉眼で見える星の数がこれくらいらしい。
x座標 = []
y座標 = []
星の大きさ = []
4000個の星の座標と大きさなんて覚えてられない。だからセーブ先を用意するよ。[]を使うとたくさんのデータをappend「追加」できるから、[]を使う。
for _ in range(星の数):
x座標.append(random.uniform(0, 空の大きさ))
y座標.append(random.uniform(0, 空の大きさ))
星の大きさ.append(random.uniform(1, 1000))
appendの意味は「追加する」、uniformの意味は「指定する」だね。
星の数だけ星の位置と大きさを「指定した」サイコロ(151面と1000面サイコロ)で決める。そして、その値をセーブ先に「追加して」セーブする。
括弧の中の「空の大きさ」は、空いっぱいに星を配置するということ。星の大きさは良い感じになるように設定。
plt.scatter(x座標, y座標, s=星の大きさ, color='white')
さっき決めた座標と大きさで星を描画していく。
plt.show()
お待ちかね。最後に描いてきた全てを表示する。
――満天の星々が現れた。
わぁ! 綺麗だね〜大きな星からとっても小さな星まで輝いてるよ!
本物には全く敵わないが、こうやって人力で作る星空も趣があるんじゃないかと思うよ。
7/5/2024, 3:14:49 PM