butterkeks hat folgendes geschrieben: |
aber ich hab inzwischen schon wieder 2 neue probleme... |
Ich würde nen neuen Thread starten, sonst liest das niemand mehr, weil das Thema ein Häkchen hat.
Wenn die Frequenz zu hoch ist, nämlich höher als es der Bildschirm darstellen kann, dann geht das ganze natürlich nicht mehr. Dann kommen sogenannte Aliasing-Effekte rein. Der gleiche Effekt tritt auf, wenn du im Fernsehen das Rad eines Autos rückwärts drehen siehst, obwohl das Auto vorwärts fährt. Was kannst du dagegen tun? Kantenglättung mit Antialiasing. Wenn dir das zu mühsam ist: Du musst auf jeden Fall sicherstellen, dass du eine Sinusperiode mit allermindestens 2 Punkten abtastest; je mehr desto besser. Wenn du dann ne zu hohe Frequenz wählst, kriegst du dann halt einfach nen schwarzen Balken
Übrigens: Wieso teilst du durch Freq? Es ist Amplitude*sin(Frequenz
*2pi*x-x0)+y0. Frequenz ist dann in Sinusperioden pro Pixel. Wenn du Pixel pro Sinusperiode willst, dann bennen die Variable anders, z.B. P wie Periodenlänge oder sowas. Frequenz=1/Periodenlänge.