Obliczanie kątów

Obliczanie kątów
AP
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 4 lata
  • Postów:37
0

Witam,
Jak obliczyć kąty między miejscowościami w zależności od miejsca użytkownika (na mapie Myślenice są miejscem użytkownika) ale też zaczynając liczenie kąta od osi północ-południe wzorując się na wartości współrzędnych geograficznych na mapie?

Chodzi o coś takiego, są kąty alfa beta gamma. Macie jakieś pomysły? Trzeba to przeliczać na kilometry czy jest na to lepszy sposób?

555.png

  • 555.png (687 KB) - ściągnięć: 109
edytowany 2x, ostatnio: AfrykanskiPomorSwin
lion137
  • Rejestracja:ponad 8 lat
  • Ostatnio:około godziny
  • Postów:4946
0

Jak jest ustalony środek układu, to Znajdź wektory miast, a potem z formuły cos, Znajdziesz kąty.


AP
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 4 lata
  • Postów:37
0
lion137 napisał(a):

Jak jest ustalony środek układu, to Znajdź wektory miast, a potem z formuły cos, Znajdziesz kąty.

A mógłbyś pomóc i zapodać jak to matematycznie zapisać? Nie mogę sobie tego wyobrazić

Patryk27
Moderator
  • Rejestracja:prawie 18 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Wrocław
  • Postów:13042
0

Poczytaj o funkcjach atan() / atan2() - powinny w tym wypadku wystarczyć; są też całkiem popularne, więc raczej bez problemu znajdziesz pomocne materiały.


edytowany 2x, ostatnio: Patryk27
MarekR22
Moderator C/C++
  • Rejestracja:ponad 17 lat
  • Ostatnio:18 minut
1

w 2d atan2 z iloczynu skalarnego i iloczynu wektorowego.
Tyle, że w przypadku współrzędnych geograficznych nie jest tak prosto.
Przykładowo w okolicach Krakowa jeden stopień długości geograficznej jest znacznie mniejszy od jednego stopnia szerokości geograficznej, więc trzeba wsiąść to pod uwagę.


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 2x, ostatnio: MarekR22
koszalek-opalek
  • Rejestracja:około 9 lat
  • Ostatnio:ponad 2 lata
0

Jeszcze jedno -- widzę, że @AfrykanskiPomorSwin ma współrzędne w stopniach (geograficzne), a na ich podstawie kąty między punktami na Ziemi oblicza się trochę inaczej. Chyba najwygodniej (o ile odległości nie są za duże -- dla obszaru wielkości Polski można spokojnie przyjąć, że Ziemia jest płaska :)) byłoby przeliczyć wszystko na współrzędne metryczne, a dopiero potem to, co koledzy piszą... Inaczej wyniki wyjdą po prostu źle.

AP
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 4 lata
  • Postów:37
0

Nie musi być dokładnie, odległości są bliskie

Przykład Myślenice - Chrzanów

19,938110 - 19,388403 = ...
50,137022 - 49,832879 = ...
tg alfa = 1.80739652072
alfa wynosi ok. 61 stopni

Sytuacja komplikuje się dla Mszany Dolnej bo kąt już jest większy niż 90, a nawet 180 więc tu do obliczonego kąta muszę dodać 180 stopni,
takie rozpoznawanie kiedy dodać a kiedy nie utrudnia sprawę

Ale jeżeli jest tak że " jeden stopień długości geograficznej jest znacznie mniejszy od jednego stopnia szerokości geograficznej" to te obliczenia o d*** rozbić można.
Najlepiej byłoby to zamienić na kilometry zakładając, że ziemia jest płaska, ale nie mogę jakoś znaleźć wzoru na to

koszalek-opalek
  • Rejestracja:około 9 lat
  • Ostatnio:ponad 2 lata
0
AfrykanskiPomorSwin napisał(a):

Ale jeżeli jest tak że " jeden stopień długości geograficznej jest znacznie mniejszy od jednego stopnia szerokości geograficznej" to te obliczenia o d*** rozbić można.

Tak dokładnie jest! :)

Najlepiej byłoby to zamienić na kilometry zakładając, że ziemia jest płaska, ale nie mogę jakoś znaleźć wzoru na to

@AfrykanskiPomorSwin: A weź zobacz tu, ma szanse Ci wystarczyć:
https://pl.rec.gps.narkive.com/QE45Nt1Y/dlugosc-szerokosc-geograficzna-na-metry-jaki-wzor

edytowany 1x, ostatnio: koszalek-opalek

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.