79559086

Date: 2025-04-07 04:48:51
Score: 1
Natty:
Report link

# نموذج محاكاة الأرض المقعّرة وحركة الشمس والقمر

import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

# إعدادات الشكل العام

R = 1.0 # نصف قطر الأرض (الوحدة الأساسية)

r_s = 0.8 * R # نصف قطر مدار الشمس داخل القبة

r_c = 0.9 * R # نصف قطر مدار القمر داخل القبة

z_s = 0.6 * R # ارتفاع مدار الشمس

z_c = 0.7 * R # ارتفاع مدار القمر

omega_s = 2 * np.pi / 24 # سرعة زاوية للشمس (دورة كل 24 ساعة)

omega_c = 2 * np.pi / 28 # سرعة زاوية للقمر (دورة كل 28 ساعة)

# عدد الخطوات الزمنية

steps = 500

t = np.linspace(0, 24, steps) # الزمن بوحدة الساعات

# مسارات الشمس والقمر

x_s = r_s * np.cos(omega_s * t)

y_s = r_s * np.sin(omega_s * t)

z_s_arr = np.full_like(t, z_s)

x_c = r_c * np.cos(-omega_c * t)

y_c = r_c * np.sin(-omega_c * t)

z_c_arr = np.full_like(t, z_c)

# رسم ثلاثي الأبعاد

fig = plt.figure(figsize=(10, 8))

ax = fig.add_subplot(111, projection='3d')

# رسم سطح الأرض (نصف كرة مقعرة)

u = np.linspace(0, np.pi, 30)

v = np.linspace(0, np.pi, 30)

u, v = np.meshgrid(u, v)

x = R * np.sin(u) * np.cos(v)

y = R * np.sin(u) * np.sin(v)

z = -R * np.cos(u)

ax.plot_surface(x, y, z, color='lightblue', alpha=0.3)

# مسار الشمس

ax.plot(x_s, y_s, z_s_arr, color='orange', label='مسار الشمس')

# مسار القمر

ax.plot(x_c, y_c, z_c_arr, color='gray', label='مسار القمر')

# رسم القبة العلوية (السماء)

u = np.linspace(0, np.pi, 30)

v = np.linspace(0, 2 * np.pi, 30)

u, v = np.meshgrid(u, v)

x_cup = R * np.sin(u) * np.cos(v)

y_cup = R * np.sin(u) * np.sin(v)

z_cup = R * np.cos(u)

ax.plot_surface(x_cup, y_cup, z_cup, color='skyblue', alpha=0.2)

ax.set_xlim([-R, R])

ax.set_ylim([-R, R])

ax.set_zlim([-R, R])

ax.set_xlabel('X')

ax.set_ylabel('Y')

ax.set_zlabel('Z')

ax.set_title('نموذج الأرض المقعرة وحركة الشمس والقمر')

ax.legend()

plt.tight_layout()

plt.show()

Reasons:
  • Long answer (-1):
  • No code block (0.5):
  • No latin characters (0.5):
  • Low reputation (1):
Posted by: Dr.Ahmed Sayed