zahl.ToString sieht ja in Ordnung aus, aber x.Sin ist doch schrecklich
Oder willst du in Zukunft so programmieren?
x.Plus(y.Square()).Sin()
Ich hab da ne eigen Record den Sin ist ja immer in Bogenmaß aber FMX-Rotation sind Winkel in ° das gleiche gilt für Vector Rotationen...
Delphi-Quellcode:
var
Winkel : TWinkel;
Vector : TPointF;
begin
Winkel.AsWinkel := 20; // °
Vector := TPointF.Create(0,-10).Rotate(Winkel.AsValue); // in Bogenmaß
end;
Also warum nicht auch
Winkel.Sin.AsWinkel
oder
Winkel.Sin.AsValue
Mavarik
Wenn schon, dann .AsRadians und .AsDegrees. Aber ganz ehrlich, wenn ich mir jetzt vorstelle z.B. eine kleine harmlose Fourier-Transformation mit sowas zu schreiben... nope!
Delphi-Quellcode:
for i := 0 to N-1 do
ft := ft + x[i] * (Cos(-2*PI*k*(i/N)) + Sin(-2*PI*k*(i/N)));
wird zu
Delphi-Quellcode:
for i := 0 to N-1 do
ft := ft.Add(x[i].MultiplyWith((-2).MultiplyWith(PI).MultiplyWith(k).MultiplyWith(i.DividedBy(N)).Cos.AsRadians.Add((-2).MultiplyWith(PI).MultiplyWith(k).MultiplyWith(i.DividedBy(N)).Sin.AsRadians)));
(Ich hoffe die Klammern passen, habs nicht allzu genau geprüft. Ebenso die Formel mag nicht 100% sein.)
So ein "Geschiss" bin ich gerade bei Vektoren dank Operatorenüberladung zum Glück endlich los! Jetzt kommt mir nicht wieder mit so einem Quatsch an
Bitte bitte. Mathematische Formeln sollten, auch wenn es noch so tollen gerade aktuellen Paradigmen widerspricht, sich in ihrer Notation bitte so nah wie es geht an der auf Papier geschriebenen Form halten. (Klar, Bruchstriche und so gehen nicht wirklich (außer bei mir unbekannten Exoten evtl.), aber in vielen Sprachen kann man z.B. auch so: "x^2" exponentieren - das habe ich mir in Delphi schon immer gewünscht.)
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)