Jak narysować linię prostopadłą do niej, mając linię na powierzchni ziemi?
Przepraszamy, jeśli jest to bardzo proste pytanie. Myślałem, że będzie to proste zadanie, ale okazuje się sprzeczne z intuicją.
Zaczynam od niebieskiej linii na poniższym rysunku (patrz link - nie mogę jeszcze przesłać figurek). Znalazłem prostopadłą linię, obliczając gradient niebieskiej linii (m), a następnie wykreślając inną linię (zieloną) z gradientem -1 / m. Kiedy rysuję linie w Matlabie (używając „wykresu” i „osi równej”), wyglądają one prostopadle, zgodnie z oczekiwaniami.
Jednak kiedy eksportuję te linie do Google Earth (używając KML Toolbox), nie wyglądają już one prostopadle (patrz link poniżej; krótsza linia to niebieska linia z poprzedniego rysunku).
Rozumiem, że na zakrzywionych powierzchniach dzieją się dziwne rzeczy, ale pomyślałem, że linie powinny przynajmniej wyglądać lokalnie prostopadle. Podejrzewam, że ma to coś wspólnego z rzutowaniem w Google Earth - w szczególności fakt, że komórki siatki wydają się mieć mniej więcej podobne długości boków, ale krawędź wzdłużna ma długość = 1 stopień, podczas gdy krawędź wzdłużna ma długość = 0,5 stopień.
Podsumowując:
- czy moja metoda znajdowania linii prostopadłej jest ważna na zakrzywionej powierzchni? (tj. kreślenie linii z gradientem -1 / m)
- czy na obrazie Google Earth linie prostopadłe wyglądają zgodnie z oczekiwaniami, czy dzieje się coś dziwnego?
AKTUALIZACJA:
Aby zapewnić więcej kontekstu: patrzę na dane radarowe pobrane z samolotu. Wielobarwny obszar to „pokos”, w którym odnotowano obserwacje. Niebieska linia, od której zacząłem w powyższym wyjaśnieniu, jest równoległa do pokosu: jest to linia lotu samolotu (samolot poruszał się w przybliżeniu w kierunku południowo-zachodnim). Radar patrzy w kierunku prostopadłym do linii lotu, po lewej stronie. Próbuję narysować linię prostopadłą do linii lotu; powinien to być kierunek, w którym patrzy radar, i powinien starannie pokroić pokos. Jak widać, tak nie jest.
źródło
Odpowiedzi:
Elegancka zasada zapewnia prostą odpowiedź:
Oznacza to, że po afinicznej zmianie współrzędnych (zwykle polegającej jedynie na przeskalowaniu jednego z nich), możemy użyć wzorów geometrii euklidesowej, takich jak twierdzenie Pitagorasa do obliczania odległości i wzoru ujemno-odwrotnego-nachylenia do znajdowania prostopadłych.
Przy współrzędnych szerokości i długości geograficznej na kuli (z dala od biegunów, gdzie długość staje się pojedyncza), wszystko, co musimy zrobić, to przeskalować kierunek wschód-zachód, aby odzwierciedlić kurczącą się długość stopnia, gdy zbliżamy się do biegunów. W przypadku kulistego modelu ziemi skurcz ten jest podawany przez cosinus szerokości geograficznej. To tylko zmiana proporcji fabuły, nic więcej.
Działa to w regionach, które rozciągają się nie więcej niż kilka stopni szerokości geograficznej północ-południe i nie zbliżają się do żadnego bieguna.
Dlatego wszystko, co musisz zrobić, to:
Pomnóż wszystkie długości geograficzne przez cosinus typowej szerokości geograficznej.
Oblicz linię prostopadłą.
Cofnij korektę współrzędnych.
Załóżmy na przykład, że ślad samolotu wziął go z (lon, lat) = (-78, 40) do (-79, 41). Możemy przyjąć typową szerokość geograficzną, aby leżeć między 40 a 41, na przykład 40,5.
Krok 1 Skorygowane współrzędne to (-78 * cos (40,5), 40) = (-59.31167, 40) i (-79 * cos (40,5), 41) = (-60,07207, 41).
Krok 2 Pytanie proponuje zrobienie tego przy użyciu metody ujemnego-odwrotnego-nachylenia. To byłoby poprawne, ale w niektórych przypadkach zawiedzie (gdy nachylenie jest nieskończone). Używanie arytmetyki wektorowej jest bardziej ogólne i wydajniejsze. Oto jak przebiegają obliczenia.
Wektor kierunku toru lotu to przemieszczenie od jego początku do końca,
Obracanie dowolnego wektora (x, y) pod kątem prostym w kierunku zgodnym z ruchem wskazówek zegara daje (y, -x), skąd prostopadły kierunek w prawo jest
Zgodnie z twierdzeniem Pitagorasa długość tego wektora jest pierwiastkiem kwadratowym sumy kwadratów jego współczynników,
Poruszajmy się, powiedzmy, o 0,2 stopnia wzdłuż tego wektora od punktu początkowego lotu samolotu. Początek to (-59.31167, 40), a przemieszczenie wynosi 0,2 / | w | razy w, kończąc na
Krok 3 Aby cofnąć dopasowanie, podziel pierwsze współrzędne wszystkich wynikowych punktów przez ten sam cosinus użyty w kroku 1:
Jeśli narysujesz te punkty przy współczynniku kształtu 1: 1, kąt będzie wyglądał raczej na rozwarty niż pod kątem prostym. Ale jeśli zmienisz proporcje obrazu na 1: cos (40,5) (około 4: 3), kąt będzie wyglądał poprawnie na 90 stopni. Podczas kreślenia punktów za pomocą dowolnej projekcji konformacyjnej - w tym Mercatora Google - kąt będzie również poprawny.
źródło