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";
}
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
Ich habe die Breite, Länge und Höhe, deshalb möchte ich Sphäre zu Sphäre Schnittpunkt nicht Kreise machen – andre
Ich habe die Kugelkoordinaten in kartesische Koordinaten umgewandelt, aber die Kollision tritt immer auf – andre