AGB  ·  Datenschutz  ·  Impressum  







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

Sinus zeichnen

Ein Thema von Nikolas · begonnen am 13. Dez 2003 · letzter Beitrag vom 13. Dez 2003
Antwort Antwort
Benutzerbild von Seniman
Seniman

Registriert seit: 15. Sep 2003
Ort: Münster
98 Beiträge
 
#1

Re: Sinus zeichnen

  Alt 13. Dez 2003, 12:40
Hallo Toxman,

Versuch es folgendermaßen:
Du hast a,b,c und d gegeben. Zu jedem Punkt innerhalb dieses rechteckigen Bereichs gehört nun ein Punkt auf dem image. Du brauchst also den Zusammenhang zwischen einem Punkt und dem dazugehöreng Punkt, der gezeichnet wird.
Da das Bild nicht verdreht wird, kann man die x und y-Koordinaten einzelnd betrachten. Für die x-Koordinate gilt:
Ein Punkt mit der x=a wird auf dem Bild ganz links abgebildet, d.h. a wird zu 0. Ein Punkt mit x=b wird ganz nach rechts abgebildet, d.h. b wird zu image.width
Daraus erhält man eine lineare Funktion f(x)=width/(b-a)*x+(a*width)/(a-b)
Genauso erhält man für die y-Koordinate eine Funktion g(x)=height/(d-c)*y+(c*height)/(c-d)
Wenn du nun einen Punkt (x,y) ausgerechnet hast, dann zeichnest du auf dem image an die Stelle (f(x),g(y)) die Linie.
Natürlich musst du darauf achten, dass b>a und c>d gilt, sonst kommt es möglicherweise zu einer Division durch 0 oder das Bild steht auf dem Kopf.

Hoffe, es hilft dir weiter,

Grüße
Seniman
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:04 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