Spaces:
Running on Zero
Running on Zero
matplot.ml
Browse files- matgplot.py +34 -0
matgplot.py
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import matplotlib.pyplot as plt
|
| 2 |
+
import seaborn as sns
|
| 3 |
+
|
| 4 |
+
def plot_inertia_density(points, tuning_c=3.0):
|
| 5 |
+
# Ponownie obliczamy odchylenia (Z-scores) jak w g07dbc
|
| 6 |
+
theta = np.median(points, axis=0)
|
| 7 |
+
diff = np.abs(points - theta)
|
| 8 |
+
mad = np.median(diff, axis=0) / 0.67448
|
| 9 |
+
mad[mad == 0] = 1e-6
|
| 10 |
+
modified_z_score = 0.6745 * diff / mad
|
| 11 |
+
deviation_magnitude = np.linalg.norm(modified_z_score, axis=1)
|
| 12 |
+
|
| 13 |
+
# Tworzenie wykresu
|
| 14 |
+
plt.figure(figsize=(12, 6))
|
| 15 |
+
|
| 16 |
+
# Histogram g臋sto艣ci
|
| 17 |
+
sns.histplot(deviation_magnitude, kde=True, color="blue", bins=50, label="G臋sto艣膰 inercji")
|
| 18 |
+
|
| 19 |
+
# Linia progu relatywizmu (tuning_c)
|
| 20 |
+
plt.axvline(tuning_c, color='red', linestyle='--', linewidth=2, label=f'Pr贸g relatywizmu (c={tuning_c})')
|
| 21 |
+
|
| 22 |
+
# Opisy zgodne z Twoj膮 fizyk膮
|
| 23 |
+
plt.fill_betweenx([0, plt.gca().get_ylim()[1]], 0, tuning_c, color='blue', alpha=0.1, label='Strefa Klasycznej Inercji')
|
| 24 |
+
plt.fill_betweenx([0, plt.gca().get_ylim()[1]], tuning_c, max(deviation_magnitude), color='red', alpha=0.1, label='Strefa Relatywistyczna (Singularity)')
|
| 25 |
+
|
| 26 |
+
plt.title('Rozk艂ad G臋sto艣ci Inercji w Uk艂adzie', fontsize=15)
|
| 27 |
+
plt.xlabel('Magnituda odchylenia (Z-score / Bezw艂adno艣膰)', fontsize=12)
|
| 28 |
+
plt.ylabel('Liczba cz膮stek danych', fontsize=12)
|
| 29 |
+
plt.legend()
|
| 30 |
+
plt.grid(alpha=0.3)
|
| 31 |
+
plt.show()
|
| 32 |
+
|
| 33 |
+
# Uruchomienie analizy dla punkt贸w ze sceny Nerfies
|
| 34 |
+
plot_inertia_density(new_scene_manager.points, tuning_c=3.0)
|