In C hat die Funktion atan2 die folgende Signatur:
double atan2( double y, double x );
Andere Sprachen tun dies auch. Dies ist die einzige Funktion, die ich kenne, die ihre Argumente in der Reihenfolge Y,X und nicht X,Y aufnimmt, und das bringt mich regelmäßig durcheinander, denn wenn ich an Koordinaten denke, denke ich (X,Y).
Weiß jemand, warum atan2's Argument Reihenfolge Konvention ist so?
0 Stimmen
Warum ist dies als sprachenunabhängig gekennzeichnet?
0 Stimmen
@mgroves Das passiert in vielen Sprachen
0 Stimmen
Denn dasselbe Format gibt es in einer Vielzahl von Sprachen. Aus dem atan2-Wiki-Eintrag: "Es reicht mindestens bis zur Programmiersprache FORTRAN zurück und ist derzeit in der Standardbibliothek math.h der Programmiersprache C, in der Java-Math-Bibliothek, in der statischen Math-Klasse von C# und anderswo zu finden. Viele Skriptsprachen, wie z. B. Perl, enthalten die atan2-Funktion im Stil von C.[1]"
1 Stimmen
Es tut mir leid, dass es Sie stört, aber wenn es (x,y) wäre, würde es mich stören.
0 Stimmen
Ich schrieb meine erste
Atan2()
enBASIC
in den 80er Jahren und kannte damals noch keine Konventionen (ich dachte, ich hätte das geschnittene Brot erfunden), und ich habe die Argumente(x,y)
. Seitdem ist es mir egal, in welche Richtung der Streit geht. Vielleicht hat der Auftraggeber eine ähnliche Erfahrung gemacht. Es hängt alles davon ab, womit man vertraut ist.