Hallo!
Ich stell' mich anscheinend gerade etwas dumm an, aber ich versuche das jetzt schon seit über zwei Stunden und ich hab anscheinend einen Denkfehler:
Delphi-Quellcode:
procedure TForm1.DrawTangens;
var
x, y: Integer;
begin
with Image1.Canvas do
begin
MoveTo(0, Image1.Height div 2);
for x := 0 to Image1.Width do
if x mod 90 mod 2 = 0 then //Hier will ich sicherstellen, dass der Tangeswert ein gültiger ist
begin
y := round(Amp.Value * tan(x / Image1.Width * Frq.Value * pi)); //Amp und Frq sind zwei SpinEdits
LineTo(x, Image1.Height div 2 - y); //Hier ziehe ich den Wert von der Nullinie der Funktion ab
end;
end;
end;
Zur Zeile 9:
cos ist null, bei 90, 270, 450, etc. und
tan = sin / cos
Delphi-Quellcode:
function tan(const X: Extended): Extended;
begin
result := sin(X) / cos(X)
end;
Das ganze funktioniert mal, wenn Frq.Val 4 ist. Verändere ich Frq aber, gibts wieder einen Fehler...
Warum aber? Wo liegt
mein Fehler?
Danke für die Antwort.