Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Skalierung der Y-Achse beim zeichnen einer Sinuskurve (https://www.delphipraxis.net/23991-skalierung-der-y-achse-beim-zeichnen-einer-sinuskurve.html)

Friesi 13. Jun 2004 15:38


Skalierung der Y-Achse beim zeichnen einer Sinuskurve
 
Hab ein Problem.
Ich habe ein Programm geschrieben, welches Sinuskurven zeichnet.

Meine Amplitude kann momentan nur 150 hoch sein, da meine Zeichenfläche 300 Pixel hoch ist. (Also 150 Pixel für den oberenteil der Sinuskurve und 150 Pixel für den unteren teil.

Wenn ich nun aber eine Amplitude von 160 habe, zeichnet er mir diese außerhalb des Bereiches.

Nun wollte ich die Skalierung der Y-Achse ändern, wenn die Ampiltude größer als 150 ist.
Also soll 160 dann der Maximalwert sein, doch habe ich ja nur 150 Pixel platz und wenn ich 150 Pixel -160 Pixel mache und dann -10 Pixel von dem aktuellen Punkt ausreche, würde sich der 0 Punkt ja auch um 10 Pixel nach unten verschieben.

Könnt euch das Programm ja mal herunterladen (303 KB), um mein Problem vielleicht zu sehen!
http://friesi.ath.cx/sinuszeichnen.rar

Muetze1 13. Jun 2004 15:47

Re: Skalierung der Y-Achse beim zeichnen einer Sinuskurve
 
Moin!

Schön, das man ein und die selber Frage immer gleich in mehreren Foren lesen kann...

Grundlegend: Du musst doch einfach nur einen Faktor einführen, der dir die Amplitude von 160 wieder auf 150 verkleiner. Der Faktor wäre doch dann einfach nur 150/160 = 0,9375 - also schreibe bei deiner Zeichenpositionsberechnung bei den Y Werten noch ein * 0,9375 hin und das wars...

Soll ich das ins andere Forum auch gleich mitposten? Oder reicht es hier?

MfG
Muetze1

Friesi 13. Jun 2004 15:55

Re: Skalierung der Y-Achse beim zeichnen einer Sinuskurve
 
Mal schauen ob das geht.

Nicht jeder ist in allen Foren angemeldet, hätte ja sein können das hier einer ist der eine Lösung für mein Problem hat und im anderen Forum vielleicht nicht.

Sorry wenn sich da jemand geärgert fühlt, brauchst es natürlich nicht auch noch ins andere Forum packen.

Christian S. 13. Jun 2004 15:57

Re: Skalierung der Y-Achse beim zeichnen einer Sinuskurve
 
Du brauchst keinen Faktor einführen! Du hast vor der Sinusfunktion ja schon einen Faktor. Setze den einfach auf 150.

Muetze1 13. Jun 2004 16:11

Re: Skalierung der Y-Achse beim zeichnen einer Sinuskurve
 
Moin!

Zitat:

Zitat von Peter Lustig
Du brauchst keinen Faktor einführen! Du hast vor der Sinusfunktion ja schon einen Faktor. Setze den einfach auf 150.

Jo, daran dachte ich auch, aber dann kann es bei ihm wieder zu logischen Fehler kommen, wenn er nicht mehr 160 rausbekommt sondern 150, weil er dann nämlich in dem Sinne "nix gemacht" hat. Deshalb bin ich auf die Möglichkeit nicht eingegangen...

Anscheinend fehlt die Skalierung Werte <-> Anzeige komplett bei seinem Programm (ich habe noch nicht reingeschaut)...

MfG
Muetze1

Friesi 13. Jun 2004 16:43

Re: Skalierung der Y-Achse beim zeichnen einer Sinuskurve
 
So nun klappt alles.
Auch die Skalierung!

Im alten Programm hatte ich auch noch keine Skalierung, da waren die 150 fest und die Kurve ging dann außerhalb des bereiches.

rsilo 13. Jun 2004 19:12

Re: Skalierung der Y-Achse beim zeichnen einer Sinuskurve
 
Tolles Startbild!

Mit welchem Programm hast du das eigentlich gemacht?

Verwendest du einen Timer um das ganze zu verzögern?


danke
rsilo

Friesi 13. Jun 2004 20:42

Re: Skalierung der Y-Achse beim zeichnen einer Sinuskurve
 
Hat mir ein Freund mit Photoshop gemacht, der erstellt öfters mal Grafiken für Webseiten und so.

Habs mit dieser Anleitung gemacht:
http://www.swissdelphicenter.ch/en/showcode.php?id=420

und Sleep(600) wartet dann 600ms (Sind glaube ms)

[UPDATE]
So nun ist die neue Version unter dem selben Link online (Mit Skalierung u.s.w)
http://friesi.ath.cx/sinuszeichnen.rar


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz