Skocz do zawartości

Wyznaczenie kursu na podstawie polozenia\kompasu


Pomocna odpowiedź

Napisano

Witam szanowne grono...mam takie pytanie na które nie mogę znaleźdz odpowiedzi...mianowicie;

Ma dwa punkty i znam ich położenie geograficzne..do tego mam kompas i chciałbym wyznaczyć kierunek np. punktu B stojąc w punkcie A..no i jak to zrobić? Szukam jakiegoś wzoru lub algorytmu bo finalnie miałbym to używać na Ardu...za wszelkie info będę bardzo wdzięczny😉

9 minut temu, farmaceuta napisał:

Ma dwa punkty i znam ich położenie geograficzne

Pytanie: czy uwzględniasz krzywiznę Ziemi? Bo jeśli nie, to po prostu:

alfa = atan2(dx, dy);

gdzie dx i dy to odpowiednio różnica położeń długości i szerokości (w jednostkach odległości, czyli w przypadku długości bierzesz pod uwagę długość danego równoleżnika).

W przypadku uwzględniania krzywizny poszukaj sobie coś na temat pojęć "loksodroma" i "ortodroma". Raczej interesuje Ciebie loksodroma.

  • Pomogłeś! 1
(edytowany)
18 minut temu, ethanak napisał:

Pytanie: czy uwzględniasz krzywiznę Ziemi?



alfa = atan2(dx, dy);

 

A to już zależy jaka będzie różnica w dokladnosci...🤔(w kontekscie pojedynczych km) Do zmiennej alfa otrzymuje stopnie wedlug ktorych mam sie poruszac?

Jeszcze musze dopytac...dlugosci zapisuje jako long? Float? Bo juz widzialem rozne kody i kazdy tam po swojemu tworzyl algorytm..dzieki za ekspresowa pomoc😉

Edytowano przez farmaceuta
4 minuty temu, farmaceuta napisał:

Do zmiennej alfa otrzymuje stopnie

radiany, ale na stopnie to już sobie przeliczysz.

4 minuty temu, farmaceuta napisał:

dlugosci zapisuje jako long? Float?

atan2 (fajnie czasami zajrzeć do dokumentacji) przyjmuje dwa double. Możesz sobie wyliczyć:
 

dy = (szerokośćB  - szerokośćA) * długośćPołudnika;

dx = (długośćB - długośćA) * długośćRównoleżnikaB;

Rozumiem, że długość równoleżnika sobie wyliczysz 🙂 Jednostki długości są nieważne - mogą być kilometry, mile, wiorsty, piędzi, czy co tam chcesz.

Jeśli ustrojstwo nie ma jechać stąd do Ameryki to powinno wystarczyć, a i tak w rzeczywistym systemie musisz robić korekty kursu.

 

 

  • Pomogłeś! 1
(edytowany)
13 minut temu, farmaceuta napisał:

.dlugosci zapisuje jako long? Float?

Jeśli w grę wchodzą funkcje trygonomotryczne, to musi być float.

Edytowano przez jand
  • Lubię! 1

Radiany oczywiscie sobie przelicze bez problemu...

Dlugosc rownoleznika...hmm..narazie nic nie mow😁 zeby nie bylo ze jestem leniwy i mi sie nie chce samemu poszukac..😅 dzieki wielkie kolego @ethanak za rozpisanie mi tego bo pewnie ze dwa miesiace bym szukal rozwiniecia kodu z pierwszego twojego postu...strasznie ciemny jestem z geografii😅

5 minut temu, farmaceuta napisał:

strasznie ciemny jestem z geografii😅

Ja też nie lew, ale po rozwiązaniu dwóch problemów:

  1. Wyznacz wszystkie miejscowości danej kategorii administracyjnej w promieniu N kilometrów od miejscowości X
  2. Wylosuj położenie geograficzne w promieniu R metrów od danego położenia centralnego

zaczynam się czuć nieźle w te klocki 🙂

 

  • Lubię! 2

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...