1. اجمع وزن كل الطوابق → بيطلع عندك وزن المبنى كله.
2. ضرب بسيط بمعامل الزلزال → هالشي بيعطيك قوة الزلزال الإجمالية اللي بتأثر بالقاعدة.
3. تقسّم هالقوة على الطوابق → كل طابق بياخد نصيبه حسب وزنه وكم هو فوق الأرض (يعني الطوابق العالية بتأثر شوية أكتر).
4. خزن النتايج بجدول → صف لكل طابق: رقمه، ارتفاعه، وزنه، وقوة الزلزال عليه.
5. ارسم العمود → بيظهرلك كيف القوة بتتوزّع من تحت لفوق.
6. تأكد أخيراً → إجمالي كل الحصص لازم يساوي القوة الإجمالية اللي حسبناها قبل.
---
كود جاهز وسهل (انسخ وشغّل — مش ضروري تفهم الرياضيات، فقط شغّل)
الكود يعمل كل الخطوات تلقائياً ويطلع لك جدول ورسم. غير القيم لو عندك أرقام غير الـ20 طابق أو أوزان مختلفة.
# كود بسيط جداً يحسب ويوزع ويعرض
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# ----- عدّل القيم هنا فقط -----
n_floors = 20
weights = np.array([900]*n_floors) # وزن كل طابق (غير لو عندك أرقام)
floors_height = np.arange(1, n_floors+1) * 3 # ارتفاع كل طابق (مثلاً 3m)
Cs = 0.08 # معامل الزلزال (حط رقم منطقي عندك)
# ------------------------------
# تجميع وحساب (الكود يتعامل مع الأرقام تلقائيًا)
total_weight = weights.sum()
base_shear = Cs * total_weight
# توزيع بسيط: كل طابق بياخد حصة بحسب وزنه ومكانه فوق الأرض
shares = weights * floors_height
shares = shares / shares.sum() # تحويل لحصص نسبية
floor_forces = shares * base_shear
# جدول مرتب
df = pd.DataFrame({
"floor": range(1, n_floors+1),
"height_m": floors_height,
"weight": weights,
"force_on_floor": floor_forces
})
print(df)
# رسم سريع
plt.figure(figsize=(8,6))
plt.bar(df["floor"], df["force_on_floor"])
plt.xlabel("رقم الطابق")
plt.ylabel("قوة الزلزال على الطابق")
plt.title("توزيع قوة الزلزال على الطوابق")
plt.show()
---
بدون معادلات مرئية، بدون تقنيّات معقّدة — كلشي أوتوماتيكي.
دِكّيلي لو بدك إياه أعدّلك لبياناتك الحقيقية (أوزان الطوابق عندك) وحشغّللك النتايج.