Messkurve zeichnen

Anfängerfragen zum Programmieren mit PureBasic.
Martin66119
Beiträge: 282
Registriert: 03.01.2005 11:36

Messkurve zeichnen

Beitrag 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
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Messkurve zeichnen

Beitrag 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
a²+b²=mc²
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Beitrag 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.
Martin66119
Beiträge: 282
Registriert: 03.01.2005 11:36

Messkurve darstellen

Beitrag von Martin66119 »

Danke für die Antworten.

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


Gruß
Martin
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

das wurde in deinem anderen thread auch gezeigt
http://www.purebasic.fr/german/viewtopi ... ght=#98411
my pb stuff..
Bild..jedenfalls war das mal so.
Antworten