003
11.02.2017, 22:58 Uhr
Hans
Library Walker (Operator)
|
Hi,
ich hatte das eigentlich so gemeint, dass Du diesen Ausdruck:
C++: |
strecke= R *acos(sin(breite[k])*sin(breite[k+1])+ cos(breite[k])*cos(breite[k+1])*cos(laenge[k+1]- /* ! */laenge[k]));
|
aufdröselst, so dass die Berechnung am Ende etwa so aussieht:
C++: |
for (int k=0; k < breite.size()-1; k++) { double s1 = sin(breite[k]); double s2 = sin(breite[k+1]); double cb1 = cos(breite[k]); double cb2 = cos(breite[k+1]); double cl1 = cos(laenge[k+1]); double cl2 = cos(laenge[k]);
strecke= R *acos(s1*s2 + cb1*cb2*cl1 - cl2); ...
|
Und bist du sicher, dass Du an der Stelle, wo ich oben den C-Kommentar /* ! */ eingefügt habe, keinen Kosinus (oder Sinuns) vergessen hast? - Ich hab bei meiner Umformulierung der Berechnung jetzt einfach mal einen Kosinus eingefügt, aber keine Ahnung, ob das auch richtig ist. Aber da Du die vector-inhalte ansonsten auch alle mit Winkelfunktionen bearbeitest, scheint es mir eher ungewöhnlich, wenn da keine Winkelfunktion hin kommen sollte.
Hans -- Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung. |