====== RealTimePlot3D ====== ===== Abstract ===== * Darstellung von PlotDaten mit MatPlotLib in drei(!) Dimensionen * Animate -> Callback : OnRefreshPlot mit: * Skalierung der Achsen (X/Y/ZLimitL/H) in Abhängigkeit der zu plottenden Werte * Refresh der X/Y/Z-Vektor-Kurvenwerte * Gestaltung der Plot-Attribute : Color, linewidth, ... * Vorbereitung für GCodeInterpreter - CommandViewer / CommandSimulator ===== ToDo ===== --- ===== Done ===== ==== 221126 ==== * nur noch AsynchronPlot(Rescale), keine Timer-Updates mehr!!! * Download : {{ :module:programming:realtimeplot3d:2211260937_realtimeplot3d_03v01.zip |2211260937_RealTimePlot3D_03V01.zip}} ==== 221125 ==== * nach Fehler in [[module:programming:gcodeinterpreter:gcodeinterpreter|GCodeInterpreter]] Neuauflage des Plot3D: * statt PeriodicRefresh(Time) nun AsynchroneRefresh(Command) ==== 221109 ==== * Download : {{:module:programming:realtimeplot3d:2211090937_realtimeplot3d_02v06.zip | 2211090937_RealTimePlot3D_02V06.zip}} ==== 221107 ==== * RealTimePlot3D: Umbau WindowMain -> FrameApplication * Download: {{:module:programming:realtimeplot3d:2211071436_realtimeplot3d_02v04.zip | 2211071436_RealTimePlot3D_02V04.zip}} * Aufarbeitung, Ordnung * Download: {{:module:programming:realtimeplot3d:2211071748_realtimeplot3d_02v05.zip |2211071748_RealTimePlot3D_02V05.zip}} ==== 221031 ==== * Versuch: 3DMinimalprogram mit RefreshEvent * verschiedenste Quellen im Internet - kein Erfolg * Problem: matplotlib ist angeblich nicht multitasking-fähig * plot-show() / -pause() nur vom MainThread aufrufbar * Trick: bisherige periodische Refresh-Funktion des Plots mit State-abhängigem RefreshIntervall wie gewohnt aufrufen * Alle Plot-Funktion in Plot-Class kapseln * äussere aperiodische Refresh-Funktion sorgt für Refresh der Plot-Parameter und -Daten * Download : {{:module:programming:realtimeplot3d:2210311950_realtimeplot3d_02v03.zip | 2210311950_RealTimePlot3D_02V03}} * {{:module:programming:realtimeplot3d:2210311950_realtimeplot3d_02v03.mp4?600 | 2210311950_RealTimePlot3D_02V03.mp4}} \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ ==== 221030 ==== * Versuch: Umbau von RealTimePlot3D auf: * FramePlot3D: Minimierung (ohne Buttons), neu mit Notebook * TimerEvent -> RefreshEvent * PlotSize * Sackgasse: keine Change, TimerEvent -> RefreshEvent zu ändern ==== 221002 ==== * RealTimePlot3D_frame (basierend auf: {{:module:programming:realtimeplot2d:2210021804_realtimeplot2d_01v02_framecyclic.zip | 2210021804_RealTimePlot2D_01V02_framecyclic}}) * axis.view_init(elev=Elevation, azim=Azimut) * SetWindowPosition, SetWindowSize * {{:module:programming:realtimeplot3d:2218041926_realtimeplot3d_01v01_constantframe.zip | 2218041926_RealTimePlot3D_01V01_constantframe.zip}} * {{:module:programming:realtimeplot3d:2210021942_realtimeplot3d_01v01.mp4?600 | 2210021942_RealTimePlot3D_01V01.mp4}} \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\