Snad jsem zvolil správné téma, protože se víceméně jedná o IT. Pracuji na menším projektu a jeho součástí je 2D mapa světa, jako třeba tahle:
Jak víme tak tato mapa je zkreslená protože není možné perfektně zobrazit povrch koule na obdélníku.
Já potřebuju vybrat 2 libovolné body na mapě a chci po programu aby mi vypočítal jejich reálnou vzdálenost. Zkoušel jsem to všeljak, ale vždy to dopadlo tak že čím víš/níž od rovníku jsem byl tím podivnější data mi to vracelo, zkoušel jsem různé rovnice se sinus a cosinus ale vždy to dopadlo tak že mi to začalo úplně nesmyslné hodnoty. Mapa má dimenze 1200x778 (je to ta nahoře), přičemž koordináty [0,0] jsou v pravém horním rohu, [600,389] reprezentuje reálné nulové souřadnice, atd.
Nikde na internetu jsem o tom nenašel článek nebo tak něco, proto jsem zkoušel najít něco jako konstantu kterou by se délka mezi body v pixelech dala například vynásobit nebo umocnit, ale nic takového jsem nenašel.
Kdyby někdo měl náladu na matematický hlavolam (který je jistě jednoduchý jenom já nejsem scopný za boha na to přijít :/), tak si poslužte Pokud mi někdo poradí a já nějak tento projekt dokončím, slibuji že vaše jméno někde zmíním :)
Pokud vám na tom přijde něco nejasné tak se klidně ptejte, předem díky.
Výpočet vzdálenosti na 2D světové mapě...
Výpočet vzdálenosti na 2D světové mapě...
Naposledy upravil(a) DvR dne 20 čer 2017 18:19, celkem upraveno 1 x.
- satik
- Level 6
- Příspěvky: 3509
- Registrován: leden 15
- Bydliště: Krkonoše
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Výpočet vzdálenosti na 2D světové mapě...
The page you tried to reach does not exist.
PC: MSI RTX 4090 Suprim X, AMD Ryzen 9 7950x3D, ASUS Crosshair HERO X6670E, 64GB RAM@6000CL30, Fractal Define Torrent, Seasonic PRIME TX 1600W, SSD Seagate Firecuda 530 M2 2TB +
4TB + 4TB SATA Micron 5200 ECO
Periferie: Samsung Odyssey G9 Neo + 2x AOC AG271QG, Razer Deathadder, Ducky Shine7, Steelseries QcK+, Beyerdynamic MMX300, Valve Index
4TB + 4TB SATA Micron 5200 ECO
Periferie: Samsung Odyssey G9 Neo + 2x AOC AG271QG, Razer Deathadder, Ducky Shine7, Steelseries QcK+, Beyerdynamic MMX300, Valve Index
Re: Výpočet vzdálenosti na 2D světové mapě...
Jako třeba tahle: http://geology.com/store/wall-maps/laminated-world-physical-map.shtml
Nejjednodušší řešení, které mě napadá, je mít pro každý pixel v tabulce jeho skutečné souřadnice, a z těch pak tu vzdálenost počítat. Problém je že Země nemá ani zdaleka tvar ideální koule, nemluvě o nadmořské výšce, takže to stejně vždycky vyjde blbě. Viz námořní navigace, tam to jakž takž vychází.
Trochu složitější a mnohem menší řešení by bylo z té mapy skutečné souřadnice vypočítat, pokud to zkreslení je dostatečně rovnoměrné. Z nich pak zase spočítáš "skutečnou" vzdálenost, viz předchozí odstavec.
Když tyhle rovnice potom dokážeš složit do jedné, vyjde ti geniální algoritmus, něco jako Gaussův vzorec pro výpočet data Velikonoc
Nejjednodušší řešení, které mě napadá, je mít pro každý pixel v tabulce jeho skutečné souřadnice, a z těch pak tu vzdálenost počítat. Problém je že Země nemá ani zdaleka tvar ideální koule, nemluvě o nadmořské výšce, takže to stejně vždycky vyjde blbě. Viz námořní navigace, tam to jakž takž vychází.
Trochu složitější a mnohem menší řešení by bylo z té mapy skutečné souřadnice vypočítat, pokud to zkreslení je dostatečně rovnoměrné. Z nich pak zase spočítáš "skutečnou" vzdálenost, viz předchozí odstavec.
Když tyhle rovnice potom dokážeš složit do jedné, vyjde ti geniální algoritmus, něco jako Gaussův vzorec pro výpočet data Velikonoc
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: Výpočet vzdálenosti na 2D světové mapě...
Samozřejmě mi nejde o 100% přesnost, ani nadmořskou výšku není potřeba v mém případě řešit
Re: Výpočet vzdálenosti na 2D světové mapě...
Žijeme na bramboře neboli bramboroidu
Tohle je tvar Země podle gravitačního pole:
Tohle je tvar Země podle gravitačního pole:
Zpět na “Vše ostatní (z oblasti IT)”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 7 hostů