10.6 Zeichnen einer Funktion
Zum Abschluss dieses Kapitels sollen im Projekt ZeichnenFunktion die Verläufe von zwei mathematischen Funktionen gezeichnet werden. Es handelt sich um die Sinus- und die Cosinusfunktion, deren Verläufe von 0 bis 360 Grad gezeichnet werden, siehe Abbildung 10.5.
Abbildung 10.5 Projekt »ZeichnenFunktion«
Zunächst der Code zum Button Zeichnen:
Private Sub cmdAchsen_Click(...) Handles ...
Dim z As Graphics = CreateGraphics()
Dim stift As Pen
Dim start, ende As Point
Dim i As Integer
stift = New Pen(Color.Black, 2)
z.DrawLine(stift,
New Point(20, 120), New Point(380, 120))
z.DrawLine(stift,
New Point(20, 220), New Point(20, 20))
stift = New Pen(Color.Blue, 2)
start = New Point(20, 120)
For i = 1 To 360
ende = New Point(20 + i,
120 – Math.Sin(i * Math.PI / 180) * 100)
z.DrawLine(stift, start, ende)
start = ende
Next i
stift = New Pen(Color.LightGray, 2)
start = New Point(20, 20)
For i = 1 To 360
ende = New Point(20 + i,
120 – Math.Cos(i * Math.PI / 180) * 100)
z.DrawLine(stift, start, ende)
start = ende
Next i
End Sub
Listing 10.10 Projekt »ZeichnenFunktion«
Zur Erläuterung:
- Jede Funktionskurve besteht aus kurzen geraden Linienstücken mit einem Start- und einem Endpunkt. Diese Punkte sind vom Typ Point.
- Für die Achsen wird ein schwarzer Stift mit Stärke 2 gewählt. Die x-Achse wird in der Mitte der Zeichnung von links nach rechts gezogen. Die y-Achse wird am linken Rand der Zeichnung von unten nach oben gezogen.
- Für die Sinuskurve wird ein blauer Stift mit Stärke 2 gewählt. Der Startpunkt des ersten Linienstücks liegt mathematisch bei x=0 und y=sin(0)=0. Der y-Wert wird mit dem Skalierungsfaktor 100 malgenommen. Er muss dann von 120 abgezogen werden, da y in der Zeichnung von oben nach unten gemessen wird und der Nullpunkt für y in der Zeichnung bei 120 liegt. Es ergeben sich x=20 und y=120.
- Die x-Koordinate des Endpunkts des ersten Linienstücks ergibt sich durch den Winkel in Grad: 1. Dazu muss der x-Versatz des Ursprungs addiert werden. Es ergibt sich also 21.
- Zur Berechnung der y-Koordinate des Endpunkts des ersten Linienstücks muss der Winkel zunächst von Grad in Bogenmaß umgerechnet werden, also mal der mathematischen Konstante PI durch 180. Die Sinus-Funktion ergibt einen Wert zwischen 0 und 1. Auch dieser y-Wert muss mal 100 genommen und von 120 abgezogen werden, siehe oben.
- Es wird dann eine Linie vom Startpunkt zum berechneten Endpunkt gezogen. Der Endpunkt wird anschließend zum Startpunkt für das nächste Linienstück und so weiter.
- Für die Cosinuskurve wird ein hellgrauer Stift mit Stärke 2 gewählt. Der Startpunkt des ersten Linienstücks liegt mathematisch bei x=0 und y=cos(0)=1. Auch dieser y-Wert muss mal 100 genommen und von 120 abgezogen werden. Es ergeben sich x=20 und y=20.
- Die einzelnen Linienstücke werden wie bei der Sinuskurve erstellt.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.