![]() |
Dynamisches Koordinatensystem programmieren
Hallo,
ich brauche mal wieder ein paar Tips bzw Idden von euch denn ich weiss nicht wie ich beginnen soll. Es hapert in der Theorie :) Also, ich möchte ein Koordinatensystem programmieren das auf der Y-Achse Bar anzeigt und auf der X-Achse die Zeit in Sekunden. Das Problem ist, das man zoomen können muss. Dabei muss dann z.B. auch aus Sekunden irgendwann Millisekunden werden. Ich bin absolut überfragt wie ich da anfangen soll. Ein normales statisches Koordinatensystem ist kein Problem und das zoomen wohl auch nciht...aber das korrekte umrechnen... :( Bin für jeden Tip dankbar wie man da am besten rangeht. Vielen Dank Dragi |
Re: Dynamisches Koordinatensystem programmieren
Du hast doch einen Minimal und einen Maximal-Wert der auf der t-Achse dargestellt wird.
Wenn du dann für jeden Pixel den passenden Funktionsterm ausgeben willst, könntest du es so machen:
Delphi-Quellcode:
Damit müsstest du was hinbekommen können.
d: real;
w: integer; d:= tMax-tMin; w:= image1.width; // Oder die Länge deines Zeichenbereichs d:= d/w; // Ein Pixel nach rechts entspricht jetzt d/w Zeiteinheiten nach rechts for i:=0 to w do y:= f(i*d+tmin); // f() ist die Funktion die du darstellen willst. |
Re: Dynamisches Koordinatensystem programmieren
Bei einem dynamischen Koordinatensystem gibt es aber auch ein Minimal- und Maximalwert auf der y-Achse. Jetzt muss man nur noch den Funktionswert f in die entsprechende y-Koordinate auf dem Canvas/ Image umrechenen. Das müsste nach folgender Formel gehen:
Delphi-Quellcode:
Zur Erklärung:
Y:= Image1.Heigth - (f(...) -pMin)/ (pMax-pMin) *Image1.Height;
pMin, pMax ... Minimal- und Maximalwert auf der Y-Achse f(...) ... Funktionswert der darzustellenden Funktion an der entsprechenden Stelle (siehe Beitrag von Toxman) Image1.Heigth ... Höhe des Image/ der Zeichenfläche in Pixeln Y ... zugehörige Y-Koordinate auf der Zeichenfläche MfG Binärbaum |
Re: Dynamisches Koordinatensystem programmieren
Vielen Dank für eure Hilfe!
Dann werd ich mal schauen was ich daraus basteln werde :) Gruss Dragi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz