Frage

Ich bin in einem anderen iPhone App arbeiten, dass Anwendungen AR, und ich meine eigenen Rahmen zu schaffen, aber ich habe Probleme beim Versuch, den Winkel eines zweiten zu bekommen Koordinate in Bezug auf die aktuelle Geräteposition, weiß jemand eine gute Ressource, die mir dabei helfen könnte?

Vielen Dank im Voraus!

War es hilfreich?

Lösung

Wenn die beiden Punkte sind nahe genug beieinander, und weit weg von dem Polen, können Sie einige einfache trigonometrische verwenden:

float dy = lat2 - lat1;
float dx = cosf(M_PI/180*lat1)*(long2 - long1);
float angle = atan2f(dy, dx);

EDIT: Ich habe vergessen, dass latN und longN zu erwähnen - und damit dx und dy - kann in Grad oder Radiant sein, solange Sie Einheiten nicht mischen. angle jedoch immer in Radiant zurückkommen. Natürlich können Sie es zurück zu Grad, wenn Sie mehrfach erhalten, indem 180 / M_PI.

Andere Tipps

Hier ist die Android-Version dieses Codes

import com.google.android.maps.GeoPoint;
    public double calculateAngle(GeoPoint startPoint, GeoPoint endPoint) {
        double lat1 = startPoint.getLatitudeE6() / 1E6;
        double lat2 = endPoint.getLatitudeE6() / 1E6;
        double long2 = startPoint.getLongitudeE6() / 1E6;
        double long1 = endPoint.getLongitudeE6() / 1E6;
        double dy = lat2 - lat1;
        double dx = Math.cos(Math.PI / 180 * lat1) * (long2 - long1);
        double angle = Math.atan2(dy, dx);
        return angle;
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top