- Copied complete Lts/Tools directory from qt5-before to qt6-after - Updated 32 CMakeLists.txt files (Qt5:: → Qt6::) - Tools subdirectory already included in parent Lts/CMakeLists.txt - All 72 tool submodules now present in qt6-migrated-legatus - Includes: Adler, ArAssets, ConfigX, DBAdministration, DBUpdate, DdsView, InfrastructureManagement, and 67 more tools - C++17 standard (RTI 7.7.0 compatibility maintained) - Tests deferred until final validation phase Migration progress: ✅ Lts/Application (68 files) ✅ Lts/DDS (verified Qt6-ready) ✅ Lts/Plugins (60 submodules, verified) ✅ Lts/Projects (5 submodules, verified) ✅ Lts/Proxies (13 submodules, verified) ✅ Lts/Services (47 submodules, verified) ✅ Lts/Tools (72 submodules, copied + CMake updated) ✅ Lts/Viewer (LtsFileDialog, LtsReportDisplay, SituationMap) 🟡 TetraIF (partial) 🟡 Z (partial: nglwidgets, QtSingleApplication, qsql_informix, WMS_Interface)
23 lines
552 B
Python
Executable File
23 lines
552 B
Python
Executable File
import pandas as pd
|
|
import matplotlib.pyplot as plt
|
|
from mpl_toolkits.mplot3d import Axes3D
|
|
|
|
# Daten laden
|
|
df = pd.read_csv('3d_flugbahnen.csv', sep=';')
|
|
|
|
fig = plt.figure(figsize=(10, 7))
|
|
ax = fig.add_subplot(111, projection='3d')
|
|
|
|
# Jeden Schuss einzeln plotten
|
|
for schuss_id in df['SchussID'].unique():
|
|
daten = df[df['SchussID'] == schuss_id]
|
|
ax.plot(daten['X'], daten['Z'], daten['Y'], alpha=0.6)
|
|
|
|
ax.set_xlabel('Distanz (X)')
|
|
ax.set_ylabel('Seitlich (Z)')
|
|
ax.set_zlabel('Höhe (Y)')
|
|
ax.set_title('3D Flugbahnen mit Streuung')
|
|
|
|
plt.show()
|
|
|