Warum kann ich nicht einfach Punktproduktwinkel verwenden, um eine Satellitenansicht eines Punktes auf der Erde zu erhalten?

Im Moment verwende ich MATLAB und kann leicht die ECEF-Koordinaten des Satelliten und des Punktes auf der Erde erhalten. Da ECEF kartesisch ist, warum kann ich nicht einfach neu anordnen:

R e S R P S = R e S R P S cos ( ϕ )
zu bekommen:
ϕ = arccos ( R e S R P S R e S R P S )
und dann einfach sagen, wenn phi kleiner als der Kegelhalbwinkel des Sensors auf dem Satelliten ist, ist der Punkt im Sichtfeld? Als ich diese Methode testete, stellte ich fest, dass je nach Breitengrad des Punktes (bei kreisförmiger Satellitenbahn in Höhe = 1000, Kegelhalbwinkel = 60) phi maximal zwischen 38 und 45 liegt, wenn der Punkt zum ersten Mal gesehen wird der Rand des Kegels.

Um zu berücksichtigen, dass diese Methode nicht die Sichtbehinderung des Punktes durch die Erde berücksichtigt, verwende ich auch dieselbe Methode, um den Höhenwinkel vom Punkt zum Satelliten zu erhalten, wo

e l = 180 ω = arccos ( R e P R P S R e P R P S )
und im Code implementiere ich es durch

if phi < 60 && el < 90
    vision = True

Bei einigen Tests muss ich jedoch el < 95-105 (abhängig von der Breite des Punktes) einstellen, um genaue Ergebnisse zu erhalten (überprüft mit STK).

Es macht für mich so viel Sinn, dass diese Methode mit den Skalarproduktwinkeln so funktionieren sollte, wie ich es erklärt habe, aber ich habe keine Ahnung, warum es nicht so funktioniert.

Vektorreferenz

Die Erde ist keine perfekte Kugel. Abgesehen davon, dass es birnenförmig und abgeflacht ist, hat es Täler und Berge?
In meinem Diagramm ist mir klar, dass es sich um eine Kugel handelt (hauptsächlich, weil ich Paint verwendet habe, um dies zu erstellen). Mein Modell verwendet abgeflachte Erde, berücksichtigt aber keine Berge oder Täler, ebensowenig mein Check-Szenario mit STK, das ebenfalls abgeflachte Erde ist

Antworten (1)

Sie können dies tatsächlich tun, solange Sie den erdzentrierten Winkel richtig einstellen, um zu verhindern, dass Satelliten den Punkt durch die Erde „sehen“. Meine Genauigkeitsfehler kamen daher, dass ich die Umlaufbahn nicht genau so einstellte, wie STK sie eingestellt hatte. Dies ist eine gültige Methode, die auch eine schnelle Laufzeit hat.

Um es noch schneller zu machen, vergleiche das Argument der arccos im ursprünglichen Beitrag mit dem Kosinus des Halbkegelwinkels. Dies eliminiert einen teuren inversen Trigger-Call, der sich summiert, wenn Sie es viel tun.