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.
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian