[MultiGraph UDF] - LineGraph und Oszilloskop

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
SBond
Beiträge: 266
Registriert: 22.05.2013 20:35

[MultiGraph UDF] - LineGraph und Oszilloskop

Beitrag von SBond »

Hi Leute,

ich stelle euch mal meine kleine UDF vor...
Mit meiner UDF "MultiGraph" ist es möglich, mathematische Funktionen und zeitliche Abläufe mit hoher Geschwindigkeit darstellen zu lassen. Ich habe es vor einiger Zeit in AutoIt geschrieben und musste leider feststellen, dass die Performance etwas mager war. Zum Vergleich: AutoIt schafft bei einer definierten Graph-Abmessung ca. 10 FPS (ca. 3000-5000 Werte/s) und die PureBasic-Version schafft locker 300-900 FPS (bis zu 500000 Werte/s). ...das ist auch für den Laien ein erkennbarer Performancegewinn. :mrgreen:

Der Graph bietet verschiedene Darstellungsmodis und die Achsenbeschriftungen werden dynamisch angepasst. Man kann auch mehrere Graphen in der GUI anzeigen lassen, wobei jeder Graph mehrere Hilfslinien und Kanäle haben kann.

sonstige Funktionen:

- Interpolation der Darstellung
- Anpassung der Auflösung
- 10 verschiedene Graphen mit jeweils 10 Kanälen erstellbar (notfalls kann man die Anzahl auch in der UDF einfach erhöhen)
- Anpassung der Linienbreite/farbe/Tranzparenz
- verschiedene Darstellungsmodis
- Anpassung der Schriftfarbe und Schriftgröße für die Beschriftungen
- 4-Quadranten-Ansicht möglich


Aktuelle UDF-Version: 1.0.0.0


..ich sollte noch darauf hinweisen, dass dies mein erstes Projekt mit PureBasic ist und ich noch ein blutiger Anfänger bin. Daher steckt bestimmt noch Optimierungspotential drin.


hier mal ein paar Beispiele:

Beispiel 1:

Generierter Sinus mit Störungen. Der Graph kann mit der linken Maustaste verschoben werden, mit dem Mausrad kann man zoomen und mit der rechten Maustaste kann man dieses grüne Kreuz positionieren. Die GUI ist skalierbar und der Graph passt sich dynamisch an. Die Werte sind natürlich ausgedacht und besitzen keine weitere Funktion und keinen weiteren Sinn.
Bild


Beispiel 2:

Scrolling Graph: der Graph scrollt kontinuierlich von rechts nach links. Angezeigt wird hier die Maus-Position (Angabe in Pixel). Die Geschwindigkeit kann man über die Trackbar einstellen.
Bild


Beispiel 3:

Achtung Bunt :D
..soll demonstrieren, welche Einstellungen zur Verfügung stehen.

oberer Graph: Zeigt auch die Mausposition an. Allerdings scrollt der Graph nicht wie in Beispiel 2, sondern der Graph überschriebt die alten Werte beim nächsten Durchgang partiell.

unterer Graph: hier wurde die Auflösung stark herabgesetzt und die Interpolation deaktiviert.
Bild


MultiGraph für AutoIt:
http://www.autoit.de/index.php?page=Thr ... post294672



MultiGraph für PureBasic:
https://dl.dropboxusercontent.com/u/684 ... eBasic.rar


viel Spaß damit ;)
41 6c 73 6f 20 77 65 6e 6e 20 64 75 20 73 6f 20 76 69 65 6c 20 4c 61 6e 67 65 77 65 69 6c 65 20 68 61 73 74 2c 20 64 61 6e 6e 20 6b 61 6e 6e 73 74 20 64 75 20 61 75 63 68 20 67 6c 65 69 63 68 20 7a 75 20 6d 69 72 20 6b 6f 6d 6d 65 6e 20 75 6e 64 20 61 62 77 61 73 63 68 65 6e 2e

:D
SBond
Beiträge: 266
Registriert: 22.05.2013 20:35

Re: [MultiGraph UDF] - LineGraph und Oszilloskop

Beitrag von SBond »

..achja

wer Fehler findet oder Verbesserungsvorschläge hat, dann immer her damit :)

lg
SBond
41 6c 73 6f 20 77 65 6e 6e 20 64 75 20 73 6f 20 76 69 65 6c 20 4c 61 6e 67 65 77 65 69 6c 65 20 68 61 73 74 2c 20 64 61 6e 6e 20 6b 61 6e 6e 73 74 20 64 75 20 61 75 63 68 20 67 6c 65 69 63 68 20 7a 75 20 6d 69 72 20 6b 6f 6d 6d 65 6e 20 75 6e 64 20 61 62 77 61 73 63 68 65 6e 2e

:D
Antworten