Winkel zwischen zwei 2d-Vektoren, Diff zwischen zwei Methoden?

8

Ich habe dieses Code-Snippet, und ich frage mich, warum sich die Ergebnisse der ersten Methode von den Ergebnissen der zweiten Methode bei gleicher Eingabe unterscheiden?

%Vor%     
bitcycle 18.04.2010, 23:48
quelle

3 Antworten

16

Es ist, weil die erste Methode korrekt ist, während die zweite Methode falsch ist.

Sie bemerken vielleicht, dass die Arccosine-Funktion manchmal "acos" geschrieben und manchmal "cos -1 " geschrieben wird. Dies ist eine Eigenart der mathematischen Notation: "cos -1 " ist wirklich der Arkkosinus und NICHT der reziproke Kosinus (der die Sekante ist).

Wenn Sie jedoch "cos 2 " sehen, ist das das Quadrat des Kosinus und "cos 3 " ist der Kubus des Kosinus. Die Notation für trigonometrische Funktionen ist auf diese Weise merkwürdig. Die meisten Operatoren verwenden hochgestellte Zeichen, um eine wiederholte Anwendung anzuzeigen.

    
Dietrich Epp 18.04.2010, 23:50
quelle
5

Math.Acos(divOperation) entspricht nicht 1/Math.Cos(divOperation) . arccos ist die Umkehrfunktion von cos, nicht die multiplikative inverse.

    
kevingessner 18.04.2010 23:52
quelle
3

Wahrscheinlich weil acos (x) ≠ 1 / cos (x).

    
slacker 18.04.2010 23:53
quelle

Tags und Links