2016-12-23 6 views
0

Ich möchte Sphäre zu Kugelschnittpunkt oder Ellipsoid zu Ellipsoid tun, wenn ich zwei GPS-Koordinatenpunkte habe. Was ist die Formel dafür?Kollision zwischen zwei GPS-Punkten

Angenommen, ich habe zwei GPS-Punkte mit zwei verschiedenen lon, lat, alt. Ich würde gerne Kugel zu Kugelschnittpunkt oder Ellipsoid zu Ellipsoid machen. Gibt es dafür eine Formel?

WGS84toXYZ(xAv, yAv, zAv, (m_sPosAV.GetLongitude()*math::pi)/180, (m_sPosAV.GetLatitude()*math::pi)/180, (m_sPosAV.GetAltitude()*math::pi)/180); // lon direction Nort 
    WGS84toXYZ(xPoi, yPoi, zPoi, (poi.Position().GetLongitude()*math::pi)/180, (poi.Position().GetLatitude()*math::pi)/180, (poi.Position().GetAltitude()*math::pi)/180); // lon direction Nort 

    Sphere avSphere; 
    Sphere poiSphere; 

    avSphere.position.x = xAv; 
    avSphere.position.y = yAv; 
    avSphere.position.z = 0; 
    avSphere.radius = 1550000; 
    poiSphere.position.x = xPoi; 
    poiSphere.position.y = yPoi; 
    poiSphere.position.z = 0; 
    poiSphere.radius = 100000; 

    if (doesItCollide(avSphere, poiSphere)) 
    { 
     qDebug() << "collision sphere"; 
    } 
+0

Wenn Sie nur Längen- und Breitengrad haben, handelt es sich um Kreise und nicht um Kugeln. Erkennen Sie die Kollision zwischen zwei Kugeln ist einfach: die Kreise kollidieren, wenn der Abstand zwischen dem Zentrum niedriger ist als die Summe der Rayon jedes Kreises. – Hugal31

+0

Ich habe die Breite, Länge und Höhe, deshalb möchte ich Sphäre zu Sphäre Schnittpunkt nicht Kreise machen – andre

+0

Ich habe die Kugelkoordinaten in kartesische Koordinaten umgewandelt, aber die Kollision tritt immer auf – andre

Antwort

0

Sphere ist einfach: Wenn der Abstand zwischen 2 Punkten kleiner ist als die Summe Ihrer Radien für die Kugeln ist, können Sie sich an eine Kreuzung bekam.

Verwandte Themen