AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Spirolaterkurve

Ein Thema von TeddyPicker · begonnen am 8. Okt 2007 · letzter Beitrag vom 8. Okt 2007
 
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.647 Beiträge
 
#6

Re: Spirolaterkurve

  Alt 8. Okt 2007, 10:23
Gut.

Jetzt stell Dir mal vor, Du würdest diese Kurven von Hand auf einem Blatt Papier zeichnen müssen.
Wie würdest Du da vorgehen?

Du würdest im einfachsten Ansatz zu jedem x-Wert den korrespondierenden y-Wert ausrechnen, diese Punkte in ein Koordinatensystem einzeichnen und diese Punkte dann alá Malen nach Zahlen verbinden.

Das Koordinatensystem liefert Dir das Pixelsystem Deines Bildschirms. Hier musst Du nur aufpassen: X wird wie bekannt nach rechts aufgetragen, der Y-Wert 0 ist aber oben und wird größer, je weiter Du nach unten gehst. Also musst Du Deinen ausgerechneten Y-Wert von der gesamthöhe der Zeichenfläche abziehen, um die Kurve nicht gespiegelt zu zeichnen.

Je nachdem, wie groß Du das Zeichnen willst, musst Du eine entsprechende Skalierung wählen. Für jedes Pixel einen Wert zu nehmen dürfte nicht ansehnlich sein. Du könntest also z.B. 10 Pixel für einen Wert wählen, und rechnest dann in Zehntelschritten, also 0,1 ; 0,2 ; ... 0,9 ; 1,0. Das Ergebnis rundest Du auf eine Nachkommastelle. Dann das ganze mal 10 und Du hast Deine Wert -> Koordinaten Zuordnung.

Und wenn Du das dann von xMin bis xMax ausgerechnet hast (Stichwort zur Speicherung der Ergebnisse: Array), dann brauchst Du nur noch jeden Wert daraus als Pixel zu zeichnen und Du hast die Aufgabe gelöst.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05: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