Seite 1 von 1

Messkurve zeichnen

Verfasst: 06.09.2006 12:20
von Martin66119
Guten Tag an alle!

Vor einiger Zeit habe ich mal ein kleines Programm geschrieben, um mit dem Conrad AD-Wandler über die serielle Schnittstelle Daten einzulesen und in einem Graph auf dem Bildschirm darzustellen. Da ich jedoch nur einzelne Punkte messe und folglich auf dem Bildschirm anzeige stelt sich nun die Frage fpür mich wie ich eine gerade zwischen 2 Punkten anzeigen kann (Verbindung zwischen den zwei Punkten) realisieren kann.

Mir ist klar, dass ich DeltaX und DeltaY aus den mir vorliegenden Messwerten ermitteln kann und dann mit der Gleichung Y= m*x +n eine gerade zwischen den Punkten ermitteln und dann auch als Funktion zeichnen könnte.

Aber wie geht man das Problem programmiertechnisch an bzw. gibt es hierzu ggf. schon eine Lösung z.B. als Procedur, die ich einbinden kann.

Danke für die Hilfe
Martin

Re: Messkurve zeichnen

Verfasst: 06.09.2006 12:36
von Kiffi
Hallo Martin66119,

ich habe jetzt zwar keine direkte Antwort für Dein Problem, aber vielleicht
könntest Du in Erwägung ziehen, für die Darstellung Deiner Messwerte ein
Chart-Control zu verwenden.

http://www.purebasic.fr/german/viewtopic.php?t=9424

Grüße ... Kiffi

Verfasst: 06.09.2006 13:02
von Macros
speichere doch einfach die Koordinaten deines alten punktes unter
oldx und oldy,
wenn du dann die neuen bekommst zeichnest du im Bild eine Linie
linexy(x,y,xold,yold[,color])
dann setzte du oldx und oldy wieder gleich x und y.

Messkurve darstellen

Verfasst: 06.09.2006 13:35
von Martin66119
Danke für die Antworten.

Das mit LineXY, da hätte ich selbst draufkommen können!!!


Gruß
Martin

Verfasst: 06.09.2006 14:11
von Kaeru Gaman
wir hatten in dem anderen thread auch das refresh-thema.

ich würde die daten in einem array speichern.
wenn ein neuer wert ermittelt wird, kannst du dann das ganze
array scrollen, und das neue element hinzufügen.

Code: Alles auswählen

NewWert = Ermitteln()

For n=0 to 63
    Werte(n) = Werte(n+1)
Next
Werte(63) = NewWert
zeichnen kannst du dann immer aus dem array,
wobei der index die X- und der Wert die Y-Achse darstellt.

Verfasst: 07.09.2006 08:36
von #NULL
das wurde in deinem anderen thread auch gezeigt
http://www.purebasic.fr/german/viewtopi ... ght=#98411