potrzebny pomysl na algorytm

0

Witam
Chcę napisać program który będzie obliczał odległość na kuli ziemskiej po podaniu współrzędnych gegraficznych początku i końca. Nie mam pojęcia jak się do tego zabrać. Szukałem w internecie ale nic takiego nie znalazłem. Czy ktoś już coś takiego pisał? Jeśli taik to proszę o wskazówki.

0

UUU dawno w szkole nie byłem :P
Ale odległość od czego? OD Polski od równika ? Trzeba by było podzielić kule ziemską na 4 półkule sprawdzać na jakiesj ort! znajduje sie dany pkt.
I w zaleznosci od tego odjac dodac stopnie (polozenie) potem pomnożyć przez 111,1 km i ponny wyjść dwa boki trójkąta. teraz trzeba obliczyć trzeci który będzie odległością :P To mój pomysł który moe się okazać nie trafny :P


Teraz doczytałem post :P
Wyżej jest pomysł o odległość względem jakiegoś miasta/państwa/punktu :P

0
  1. Z tą odległością to nie jest tak hop. Jest ona stała dla 1 stopnia długości geograficznej, ale dla szerokości nie jest tak miło.
  2. Kula Ziemska nie jest płaska (udowodniono to już dawno temu) przez co mamy trójkąt na powierzchni sferycznej (konkretnie to jest jeszcze gorzej, bo Ziemia nie jest kulą, ale to już szczegół), więc nie jest tak łatwo to obliczyć.
  3. Trzebaby coś z matmy rozpracować, jak już dojdziesz jak to matematycznie obliczyć, to potem napisać program to już nie powinno być tak trudno.
    No i to by było na tyle.
0

Chodziło mi o ort! zbudowany z odległości a nie zbudowany na ziemi :P
Fakt jednostopniowy łuk koła wielkiego: 111,19 km można obliczyć gdy jest rozpiętość równoleżnikowa ale po południkach pewnie jest jakaś zależność z przecinającym go równoleżnikiem (na mapie pewnie można ją nawet ort!

0

Wiem to może dziwne pytanie. Program ten mam napisać dla znajomego ornitologa obrączkującego ptaki - ptak został zaobrączkowany w punkcie o współrzęnych (x,y) i ponownie schwytany w punkcie o współrzędnych (x',y'). Wiadomo że to sprawa matematyczna ale na pewno istnieje na to jakiś wzór. Spotkałem się już z tym kiedyś - był to arkusz kalkulacyjny który obliczał tą odległość uzględniając nawet krzywiznę Ziemi, ale teraz jak to potrzebuję to nie mogę tego odnaleźć.

0

Może przyda Ci się takie hasło jak "trójkąty sferyczne"
Coś znalazłem o tym tutaj
http://doktoranci.tripod.com/prezentacje/pre_002.htm

Ale z drugiej strony to : po to jest komputer, żeby nie szukać wzoru na coś, tylko zrobić to na tak zwanego brutala :D
Jak dla mnie najprościej po prostu całą trasę podzielić na tak małe kawałki, że zakrzywienie ziemi nie będzie miało znaczenia i wtedy traktować je jako zwykłe trójkąty.

0

Jak dla mnie najprościej po prostu całą trasę podzielić na tak małe kawałki, że zakrzywienie ziemi nie będzie miało znaczenia ...

To się nazywa całka :)

0

no dobra zrób tak:
obwód ziemi ma 40000 km, w którą stronę by nie patrzeć (nawet jeśli leżą tuż kolo np. bieguna i ich odległość jest mała, obwód w kierunku w-s będzie mały, ale zawsze będzie taki obwód nachylony jakoś względem w-s który bedzie miał te 40000 km)
jak masz dwa punkty dowolne, to zawszwe możesz znaleźć taki obwód który będzie przechodził przez nie oba
teraz wystarczy policzyć kąt między promieniami (odległościami od srodka ziemi do kazdego z tych pkt.) i liczysz odległość jako wycinek koła o promieniu ziemi i kącie między tymi promieniam

mam nadzieję, że jasno wyraziłem o co mi chodzi
pozdrawiam

0

a teraz wersja matematyczna:
szukasz odległosći między pkt. A i B
bierzesz trezci pkt. S - sam środek ziemi
te trzy pkt. wyznaczają jednoznacznie dwuwymiarową płaszczyznę (pomijając ew. wyższe wymiary itp. ;-) )
teraz odległość AS i BS jest oczywiście równa proieniowi ziemi czyli r. i masz koło gdzie S jest środkiem a r promierniem

teraz liczysz odległość AB w linii prostej, to chyba cięciwa się zwie
jak już to masz to obliczasz kąt prz S czyli ASB, z pitagorasa, znasz 1/2AB i AS i tam masz trójkąt prostokątny, więc obliczasz 1/2ASB, mnożysz to przez 2 i masz kąt ASB

teraz ze wzoru na obwód wycinka czy coś liczysz z proporcji - kątASB do 360 = odległosć AB po łuku do obwodu ziemi( czyli 2pir)

1 użytkowników online, w tym zalogowanych: 0, gości: 1