انبساط جهان یکی از مفاهیم کلیدی در کیهانشناسی است که به افزایش فاصله بین کهکشانها و ساختارهای بزرگتر در کیهان اشاره دارد. این انبساط به دلیل انفجار بزرگ (بیگ بنگ) آغاز شده و همچنان ادامه دارد. در این مقاله، ما به بررسی انبساط جهان و نحوه نمایش بصری آن با استفاده از زبان برنامهنویسی پایتون و کتابخانههای گرافیکی خواهیم پرداخت.

انبساط جهان به این معناست که کهکشانها به تدریج از یکدیگر دور میشوند. این پدیده بهویژه با استفاده از اثر دوپلر قابل مشاهده است، که در آن نور کهکشانهای دوردست به سمت طول موجهای قرمز تغییر میکند. این تغییر نشاندهنده این است که کهکشانها در حال دور شدن از ما هستند. اندازهگیری سرعت انبساط جهان به ما کمک میکند تا درک بهتری از تاریخ و آینده کیهان داشته باشیم.
در این بخش، کدی را ارائه میدهیم که با استفاده از کتابخانههای matplotlib و numpy، انبساط جهان را به صورت بصری نمایش میدهد.
import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation # تنظیمات اولیه num_frames = 100 # تعداد فریمها max_distance = 10 # حداکثر فاصله کهکشانها speed_of_expansion = 0.1 # سرعت انبساط # ایجاد یک شکل و محور fig, ax = plt.subplots() ax.set_xlim(-max_distance, max_distance) ax.set_ylim(-max_distance, max_distance) ax.set_aspect('equal') ax.set_title('انبساط جهان') ax.set_xlabel('فاصله (مگا پارسک)') ax.set_ylabel('فاصله (مگا پارسک)') # ایجاد کهکشانها به صورت تصادفی num_galaxies = 20 galaxies = np.random.rand(num_galaxies, 2) * max_distance * 2 - max_distance # تابع برای بهروزرسانی فریمها def update(frame): ax.clear() ax.set_xlim(-max_distance, max_distance) ax.set_ylim(-max_distance, max_distance) ax.set_title('انبساط جهان') ax.set_xlabel('فاصله (مگا پارسک)') ax.set_ylabel('فاصله (مگا پارسک)') # محاسبه فاصله جدید کهکشانها distances = np.linalg.norm(galaxies, axis=1) expansion_factor = 1 + speed_of_expansion * frame / num_frames new_positions = galaxies * expansion_factor # رسم کهکشانها ax.scatter(new_positions[:, 0], new_positions[:, 1], color='blue') # ایجاد انیمیشن ani = animation.FuncAnimation(fig, update, frames=num_frames, repeat=False) # نمایش انیمیشن plt.show()
numpy و matplotlib را وارد میکنیم. numpy برای محاسبات عددی و matplotlib برای رسم نمودارها و انیمیشنها استفاده میشود.FuncAnimation، انیمیشن ایجاد میشود و در نهایت نمایش داده میشود.این کد به ما اجازه میدهد تا انبساط جهان را به صورت بصری مشاهده کنیم. با تغییر سرعت انبساط و تعداد کهکشانها، میتوانیم تأثیرات مختلف انبساط را بررسی کنیم. این نوع نمایش بصری میتواند به درک بهتر ما از این موضوع کمک کند.