Kaede

Open App

【星空】

ここでも星は見えるの? 

画像を映せば簡単だが、それじゃ面白くないね。この「仮想空間」では、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