Oplynalem swiat CANTR!

Ogólna pozapostaciowa dyskusja pomiędzy graczami Cantr II.

Moderators: Public Relations Department, Players Department

User avatar
CMR
Posts: 76
Joined: Wed Mar 21, 2007 6:02 pm

Postby CMR » Sat Aug 08, 2009 10:34 pm

grzybi wrote:Co jest powodem tego, że powstają te przesunięcia?

Może jakaś zmiennoprzecinkowość? Miejmy nadzieję, że nie.

A może jest tak, że współrzędne osad składowane są w liczbach całkowitych, ale w innej skali niż piksele na obrazkach. Przy generowaniu obrazka trzeba te współrzędne przeliczyć i zaokrąglić do pełnych pikseli. W zależności od punktu widzenia może dochodzić do niewielkich przesunięć.

Przez wiele lat pracowałem nad mapą pewnego ogromnego lądu. Im bardziej się starałem, tym mniej pojawiało się niedokładności. Więc te przesunięcia to czasem też ,,czynnik ludzki''.
grzybi
Posts: 326
Joined: Tue Aug 05, 2008 5:31 pm
Location: Lodz / Poland

Postby grzybi » Sat Aug 08, 2009 10:49 pm

Po kolejnych kilku miesiącach też wziąłem się na sposób.

Przykład: Łączyłem dwa widoki z lunety sąsiadujących osad odległych około 8 dni pracy ulepszania ze ścieżki, więc widoki nakładają się. W Photoshopie na starszą warstwę z poprzednią osadą nakładam nowszą. Nowsza ma ustawiony filtr 'Różnica'. Tak więc piksele, które się pokrywają powinny dawać czerń. Tymczasem widać fragmenty kółeczek od osad i gdzie nie gdzie czasami są kolorowe paseczki w terenie. Tam gdzie piksele się różnią. I te paseczki najbardziej mnie zastanawiają.

Jestem pewien, że w tym przypadku to już nie czynnik ludzki, przynajmniej nie mój.
User avatar
Luke
Posts: 410
Joined: Sun Sep 16, 2007 10:05 pm
Location: Wroclaw, Poland

Postby Luke » Mon Aug 10, 2009 11:08 am

CMR wrote:A może jest tak, że współrzędne osad składowane są w liczbach całkowitych, ale w innej skali niż piksele na obrazkach. Przy generowaniu obrazka trzeba te współrzędne przeliczyć i zaokrąglić do pełnych pikseli. W zależności od punktu widzenia może dochodzić do niewielkich przesunięć.


To samo dokładnie założenie przyjąłem kiedyś, zaczynając bawić się cantryjską kartografią.

W czasie prac nad mapą świata, opływanego statkiem i mierzonego sekstantem, wyszła mi z obliczeń pewna prosta zależność. Jej wyliczenie było banalnie proste już przy pracach nad mapą Fic (bo to dłuuuga kiszka) ale potwierdziło się w czasie prac nad mapą świata. Zwłaszcza wtedy, kiedy dotyczyło mapy pewnego Największego Lądu albo innego Lądu na północy, a także odległości morskich.

Mianowicie jednostka sekstantu nie jest całkowitą wielokrotnością piksela, tylko ułamkiem. Jeżeli chcesz, Grzybi, to poszperam i sprawdzę, ile mi wyszło z obliczeń, że ona w przybliżeniu wynosi, i wyślę na PM. Ale chyba szybciej będzie Ci sprawdzić to samemu.

Konsekwencje tego są takie, że mapka musiałby pokazywać ułamki pikseli, co jest oczywiście niemożliwe. Stąd konieczne musi być zaokrąglenie.

Przyjmijmy dla przykładu zmyślone uproszczenie, że 1 js. (jednostka sekstantu) = 5,3 piksela:
Jeżeli teraz z punktu A do punktu B odległość zmierzona sekstantem wynosi 72 js, to na mapce byłoby to 381,6 piksela. Ale ponieważ każdy obrazek składa się z całkowitej liczby pikseli, to na obrazku odległość zostanie pokazana w postaci 382 pikseli (pojawi się "dodatkowy pasek" szerokości 0,4 piksela).
Płyniemy dalej w linii prostej, z B do C. Mierzymy odległość. Odczytujemy dajmy na to 69 js, a więc 365,7 piksela. Na mapce mamy tymczasem 366 pikseli.
W końcu docieramy (nadal na wprost) z C do D. Odległość 39 js, a więc 206,7 pikseli. Na mapce widzimy 207 pikseli.

Po złożeniu mapek w całość z punktu A do punktu D mamy 382+366+207=955 pikseli. Tymczasem faktyczna odległość wynosi 180 js, a więc 954 piksele. I nasza mapka jest o jeden piksel "za duża".

To oczywiście tylko przykład, bardzo uproszczony, bo w rzeczywistości cantryjskiej rozwiązano to jeszcze inaczej.

Niektóre "kółka" z map składają się w całości z idealnych kwadratów o boku równym x pikseli.
Ale już o dwie czy trzy tury statkiem dalej otrzymujemy kółeczko, na którym jedna (przykładowo lewa) krawędź każdego kwadratu jest jaśniejsza bądź ciemniejsza, jakby lekko przezroczysta. Krawędź ta ma grubość 1 piksela. Po kolejnych turach "przezroczyste" stają się obie krawędzie (prawa i lewa), tak że nawet nie wiemy, która krawędź należy do którego kwadratu, bo zdają się nachodzić na siebie, a na koniec krawędzie znów staja się stopniowo "wyraźne", z tym że krawędź między nimi przesunęła się właśnie o ten 1 piksel. W ten sposób poprzez swoiste "przenikanie", "przezroczystość" czy też "nachodzenie na siebie" elementarnych kwadratów mapa eliminuje nadmiarowy piksel. Oczywiście, zjawisko to działa zarówno w kierunku góra-dół (zachód-wschód), jak w kierunku prawo-lewo (północ-południe).

Jednocześnie nie da się wskazać, gdzie po drodze ten piksel został zgubiony. Jedyne, co możemy zrobić w photoshopie, to sami zdecydować, co ile teleskopowych "kółek" przesuwamy nasz obrazek o piksel, i gdzie najlepiej zrobić "oszustwo".
:D W praktyce pytanie "gdzie najlepiej" nie ma absolutnie żadnego znaczenia, bo na mapie oglądanej w grze, w skali 1:1 oko nie wyłapie żadnych różnic, o ile przejścia są "miękkie". Ma to znaczenie tylko dla purystów i idealistów, bo tak zrobioną mapę (dowolnie ogromną) można mierzyć w photoshopie i natychmiast podawać odległości w jednostkach sekstantu. Postać w grze ma gorzej: musi mierzyć mapę sznurkiem albo listwą i jeszcze mieć "oko" do oszacowania skali i stopnia dokładności mapy. ;-)

I na koniec:

Gdyby "kółka" z teleskopu składały się wyłącznie z pełnych wyraźnych kwadratów, szybko przybywałoby nam dodatkowych pikseli i pomiary sekstantem bardzo znacząco przeczyłyby mapie (albo na odwrót). Dlatego okazało się, że te (znienawidzone kiedyś przeze mnie) rozmazane i niepasujące kwadraty w gruncie rzeczy pozwalają stworzyć mapę idealną.

Dla przykładu odległości między punktami na północnym i południowym wybrzeżu Największego Lądu świata zgadzają się co-do-piksela z tymi, zmierzonymi w grze sekstantem (!). Jest to możliwe i sprawdza się w praktyce. A dotyczy naprawdę wielkich odległości.

Pozdrawiam i ewentualnie zapraszam na PM.
[*]...
User avatar
Zamia
Posts: 790
Joined: Tue Jan 09, 2007 9:38 pm

Re: Oplynalem swiat CANTR!

Postby Zamia » Fri Jul 16, 2010 11:01 am

Całego świata nie opłynęłam żadną postacią, ale moja postać trafiła na wsypę, której nie ma mapie świata Iszkura. Kiedyś sądziłam, że tam jest cały świat i jak moja postać trafiła na tę wsypę to nie mogłam wprost uwierzyć. Zbierałam mapy /niestety nie umiem ich robić/, ale postać została zabita. Teraz inna moja postać znowu trafiła na tę wyspę. Mam nadzieję, że uda jej się kiedyś wrócić do naszej strefy i przekazać te informacje jakiemuś kartografowi.
User avatar
Ula
Posts: 1042
Joined: Thu Mar 23, 2006 3:17 pm

Re: Oplynalem swiat CANTR!

Postby Ula » Fri Jul 16, 2010 11:13 am

Aż się zmobilizowałam i policzyłam ile zajęło mojej postaci opłynięcie cantryjskiego świata, posiłkując się archwialnymi raportami.
Wyszło 30 lat z niewielkim hakiem. Dodam, że postać płynęła nieożaglowanym slupem, kierując się na południe... do tego trochę pobłądziła po drodze, ale ku moimu zdziwieniu udało się jej w końcu dotrzeć do polskiej strefy. Ba, dokładnie do miejsca swoich 'narodzin'. Niestety dla wielu postaci. :twisted:
Image
User avatar
Rusalka
Posts: 1508
Joined: Sun Mar 05, 2006 6:12 pm
Location: Gdansk, Poland
Contact:

Re: Oplynalem swiat CANTR!

Postby Rusalka » Fri Jul 16, 2010 11:19 am

Wow, tylko 2 razy dłużej niż Finrze zajęło objechanie Aldurei :)

Cóż, mój nowy kartograf wciąż nie znalazł swojego miejsca do kartografowania. Ale znajdzie!
Artur wrote:ja chce miec fabryke i czarnuchow w niej a nie dom z ogrodkiem kurna i nie zycze sobie zeby mnie ktos pouczal o graniu w cantr qrka

Return to “Ogólne dyskusje”

Who is online

Users browsing this forum: No registered users and 1 guest