Da er det orientering som er tema for denne og de neste loggene. De fleste av leserne v?re har sikkert drevet med litt orientering p? ett eller annet tidspunkt. Enten som idrett med orienteringskart, eller med Google maps n?r man skal finne en adresse. Felles for begge disse metodene er at man m? vite tre ting: hvilken vei man peker, hvor fort man beveger seg og ikke minst hvor man er til enhver tid. Vi tenker sjelden s? mye over de to f?rste, det vet vi stort sett av oss selv. For en romsonde derimot kan man ikke stole p? romf?lelsen (no pun intended). Det er det vi skal snakke om i de neste loggene, og vi skal starte med ? finne ut av hvilken vei vi peker.
Image credit: https://theprepared.com/survival-skills/guides/learn-compass-map/
P? en planet med et magnetfelt pleier vi ? bruke et kompass kombinert med et kart, og gjerne litt retningssans for ? finne ut av hvilken vei vi ser. Det er ikke alltid like lett i verdensrommet. For det f?rste fungerer ikke kompass n?r man er utenfor en planets magnetiske felt. I tillegg er det vanskelig for oss ? ha noe s?rlig retningssans ettersom vi ikke engang er i romsonden v?r. Kart derimot, g?r det an ? gj?re noe med. Vi kan lage et kart som vi kan navigere etter. Hva skal man lage kartet etter? For ? ha et fungerende kart m? vi ha noen referanser som ikke varierer noe s?rlig med tiden. Planetene i solsystemet, for eksempel, beveger seg for raskt til ? kunne gi meningsfulle m?linger av hvilken vei vi ser. I tillegg er sonden v?r kun i stand til ? ta bilde av en relativt liten del av himmelen av gangen, som den sender tilbake til Gallifrey s? vi kan bestemme retningen den peker. Og vi har derfor ikke s? lyst til ? skulle lete etter en eller annen planet (som p? de avstandene vi opererer med ser ut som stjerner). Dette ville bare tatt tid og kastet bort drivstoff p? ? rotere sonden. Vi trenger derfor noen andre referanser. Vi velger ? bruke stjernehimmelen. Den endrer seg i tid, men det er veldig lite i det tidsrommet, p? et par ?r, som vi skal bruke dette. I tillegg er det ganske enkelt ? kartlegge stjernehimmelen. Vi har nemlig f?tt l?ne en av NASAs satellitter til ? ta bilder i alle retninger ut fra Gallifrey. Da f?r vi et bilde som er et kuleskall med hele stjernehimmelen p? innsiden.
Det er imidlertid ikke s? praktisk med et kuleskall n?r vi skal sammenlikne bildene fra sonden med de av himmelkula. Det er mye bedre med et plan. Det er n? vi kommer inn p? det f?rste temaet i denne serien av logger om navigasjon: stereografisk projeksjon. Det h?res fryktelig fancy ut, ikke sant? Det er heldigvis ikke s? veldig vanskelig. Det er egentlig en rent geometrisk greie. Det er en m?te ? vise en kule som en flate. F?rst vil vi bevare forholdet mellomvinklene. N?r vi ser p? en globus ser vi en del linjer i et rutem?nster, sirkler rundt kula b?de p? tvers og p? langs. Den mest kjente av disse er jo ekvator. Den er en av de horisontale linjene, lengdegradene, og viser alle punktene p? kula der vinkelen fra ekvator er den samme sett fra midten av planeten. Denne vinkelen kaller vi \(\theta\) der \(\theta=0\) er p? s?rpolen, \(\theta=90^\circ=\frac{\pi}{2}\) er ved ekvator og \(\theta=180^\circ=\pi\) er ved nordpolen. Det samme gjelder de vertikale linjene, breddegradene. De viser vinkelen fra nullmeridianen som p? Jorda ligger p? linja fra nordpolen til s?rpolen som g?r gjennom Greenwich i England. Disse kaller vi \(\phi\) der \(\phi=0\) er ved nullmeridianen. N?r man gj?r en stereografisk projeksjon av jordkloden beholder vi alle disse linjene. Hvis vi for eksempel projiserer ut ifra s?rpolen g?r alle breddegradene radielt ut fra sentrum (nordpolen) til kanten (som vil v?re omr?det rundt s?rpolen, se figur), og lengdegradene er sirkler rundt sentrum.
Figur 1: En stereografisk projeksjon av Jordas overflate med nordpolen i sentrum. Image credit: http://www. shadedrelief.com/natural3/pages/textures.html
Dette betyr at man ivaretar forholdet mellom vinklene, men det m? da g? p? bekostning av hvordan vi viser lengder og areal. For eksempel vil en rute som er ti mil ganger ti mil se mye st?rre ut om den er p? s?rpolen enn om den er ved nordpolen.
Figur 2: Viser hvordan lengde- og breddegrader p? en kule blir seende ut p? en flat sirkel. Sentrum av sirkelen er bunnen av kula. Image credit: https://en.wikipedia.org/wiki/Stereographic_projection
For ? bruke dette til ? navigere ?nsker vi ? sammenlikne et bilde av det sonden v?r ser rett foran seg, som blir sendt til Gallifrey, med himmelkula. Vi trenger heldigvis bare ? ta hensyn til et lite intervall over og under "ekvator" p? himmelkula ettersom solsystemet v?rt ligger i dette planet (det vil si alle planetbanene ligger i dette planet). Vi kan tenke p? dette som at vi ser p? et "b?nd" rundt sentrum som ligger ca. halvveis ut p? sirkelen (der \(\theta=90^\circ\)) til venstre p? Figur 2. Det som blir problematisk da er at vi pr?ver ? sammenlikne et firkantet bilde fra sonden med et buet bilde av himmelkula. Vi m? derfor konvertere fra et buet bilde der et punkt er gitt ved vinklene \(\phi\) og \(\theta\) til et vanlig firkantet bilde der et punkt er gitt ved \(x\) og \(y\). Da ser vi p? kula p? denne m?ten:
Figur 3: Viser hvordan et flatt rutenett blir seende ut p? et kuleskall. Image credit: https://en.wikipedia.org/wiki/Stereographic_projection
Bildet vi s? som et sirkul?rt b?nd i Figur 1 blir da en stripe om \(Y=0\) i rutenettet i Figur 3. Utfordringen da er ? relatere kulen fra Figur 1 til rutenettet p? Figur 2. Heldigvis er ikke vi de f?rste som har tenkt p? dette, s? vi sp?r v?re kolleger over hos matematikerne om svar, og de leverer. Vi f?r disse konversjonsformlene fra \((\theta,\phi)\)- til \((X,Y)\)-koordinater:
\(X=\kappa\sin(\theta)\sin(\phi-\phi_0)\) (1)
Og
\(Y=\kappa\left(\sin(\theta_0)\cos(\theta)-\cos(\theta_0)\sin(\theta)\cos(\phi-\phi_0)\right)\) (2)
Der
\(\kappa=\frac{2}{1+\cos(\theta_0)\cos(\theta)+\sin(\theta_0)\sin(\theta)\cos(\phi-\phi_0)}\) (3)
(Jeg har nummerert likningene for ? kunne referere til dem senere)
Der \((\theta_0,\phi_0)\) er koordinatet bildet er sentrert om (alts? midten av bildet). Dette tilsvarer ogs? origo i \(XY\)-planet.
M?let med denne konversjonen fra vinkelkoordinater til de "vanlige" kartesiske koordinatene er ? lage flate bilder rundt hele "horisonten" i solsystemet v?rt. Til ? gj?re dette skriver vi et program som bruker konversjonsformlene over til ? gj?re om et b?nd av himmelkula som er \(70^\circ\) bredt og \(70^\circ\) h?yt om \(\theta=90^\circ\) til 360 bilder der sentrum av hvert bilde er forskj?vet én grad. Da ender vi opp med ett bilde for hver grad tilh?rende \(\phi\). N?r sonden s? tar et bilde av himmelen rett foran seg kan vi ved hjelp av dataprogrammet sammenlikne dette bildet med alle de 360 bildene. Det bildet fra himmelkula som passer best bruker vi til ? si hvilken vinkel sonden peker i.
Figur 4: Eksempel p? hvordan et bilde tatt av sonden kan se ut.
For ? sammenlikne bildene vi har av himmelkula og et bilde vi f?r tilsendt fra sonden v?r lager vi et dataprogram som ser p? forskjellen mellom sondebildet og de 360 himmelkulebildene. Dette gj?r vi ved ? se p? piksler. Hvert av bildene best?r av 480 ganger 640 piksler. Hver av disse pikslene har tre fergeverdier; r?d, gr?nn og bl? (RGB) fra null til 255. Om jeg n? som eksempel tar en piksel i posisjon \((236, 320)\) fra sondebildet ser den kanskje ut som \([125, 36, 203]\). Deretter tar jeg den pikselen i hvert av himmelkulebildene som har samme posisjon, \((236, 320)\) og trekker fra RGB-verdiene til sondepikselen. For ett av disse bildene vil jeg kanskje ende med dette regnestykket
\([20, 142, 250]-[125, 36, 203]=[-105, 106, 47]\)
Deretter tar jeg summen av absoluttverdien av alle disse
\(\Sigma[105, 106, 47] =105+106+47=258\)
og summerer opp denne verdien for hver piksel i hele bildet. Da ender jeg opp med ett stort tall for hvert av de 360 bildene. Til slutt finner jeg det bildet som har tallet med lavest verdi av de 360. Det nummeret som tilh?rer dette bildet vil v?re vinkelen bildet er tatt i. Siden sonden tar bildet framover vil det derfor ogs? v?re denne vinkelen sonden peker i.
Matteutfordring:
Da skal vi gj?re en allerede ganske lang logg enda lengre. Vi skal begynne p? matteutfordringen for denne loggserien. N?r vi skal generere alle disse 360 referansebildene vet vi at vi skal lage dem med et synsfelt p? \(70^\circ\) i b?de h?yde og bredde, men vi skal jo s? oversette dette til kartesiske (\(XY\)) koordinater. Da m? vi finne et matematisk uttrykk for hvilket intervall x-koordinatene og y-koordinatene skal befinne seg innenfor.
Vi begynner med ? definere synsvinkler
\(\alpha_{\theta}=\theta_{max}-\theta_{min}\) og \(\alpha_{\phi}=\phi_{max}-\phi_{min}\)
Synsvinkelen i en retning kan ses p? som forskjellen mellom den st?rste og minste vinkelen vi ser.
Da m? det bety at for et bilde sentrert om \((\theta_0,\phi_0)\) vil
\(-\frac{\alpha_\theta}{2}\leq\theta-\theta_0\leq\frac{\alpha_\theta}{2}\) og \(-\frac{\alpha_{\phi}}{2}\leq\phi-\phi_0\leq\frac{\alpha_\phi}{2}\)
Alts? at vinkelen m? holde seg innenfor
\(\theta\in[-\frac{\alpha_\theta}{2}+\theta_0,\frac{\alpha_\theta}{2}+\theta_0]\) og tilsvarende \(\phi\in[\frac{-\alpha_\phi}{2}+\phi_0,\frac{\alpha_\phi}{2}+\phi_0]\)
Disse intervallene kan eksempelvis se slik ut
\(\theta\in[-\frac{70^\circ}{2}+90^\circ,\frac{70^\circ}{2}+90^\circ]\Rightarrow\theta\in[55^\circ,125^\circ]\)
og
\(\phi\in[-\frac{70^\circ}{2}+0^\circ,\frac{70^\circ}{2}+0^\circ]\Rightarrow\phi\in[-35^\circ,35^\circ]\)
for synsvinkel \(\alpha_\theta=\alpha_\phi=70^\circ\) sentrert om \((\theta_0,\phi_0)=(90^\circ,0^\circ)\).
For X og Y skal vi ha noe p? formen \(X\in[X_{min},X_{max}]\) og \(Y\in[Y_{min},Y_{max}]\), s? da m? vi bestemme maksimum- og minimumverdiene for X og Y. Da skal vi bruke likningene (1), (2) og (3) fra tidligere til ? bestemme noen utrykk for X og Y, for s? ? pr?ve ? maksimere og minimere disse uttrykkene. Vi begynner med ? sette inn likning (3) i (1):
\(X=\frac{2\sin\theta\sin(\phi-\phi_0)}{1+\cos\theta_0\cos\theta+\sin\theta_0\sin\theta\cos(\phi-\phi_0)}\)
For ? forenkle dette utrykket regner vi for \(Y=0\). Denne forenklingen kan vi gj?re ettersom begrensningene for X er uavhengige av Y. Dette gj?r at \(\theta_0=90^\circ=\frac{\pi}{2}\), og setter inn i uttrykket og forenkler \(\sin(\frac{\pi}{2})=1\) og \(\cos(\frac{\pi}{2})=0\). Da f?r vi
\(X=\frac{2\sin\theta\sin(\phi-\phi_0)}{1+\sin\theta\cos(\phi-\phi_0)}\)
S? ser vi fra tidligere at
\(-\frac{\alpha_{\phi}}{2}\leq\phi-\phi_0\leq\frac{\alpha_\phi}{2}\)
N? m? vi bare tenke oss hvilken av disse verdiene som vil minimere og hvilken som vil maksimere X. Hvis vi vil maksimere uttrykket for X vil vi ha et st?rst mulig utrykk over br?kstreken, og et minst mulig under. Heldigvis har det seg slik at sinus blir st?rst samtidig som cosinus blir minst for verdier av \(\phi-\phi_0=\frac{\pi}{2}\), og motsatt blir X minst n?r cosinus er st?rst og sinus er minst for \(\phi-\phi_0=-\frac{\pi}{2}\). I stereografisk projeksjon fra et punkt p? kuleskallet kan synsvinkelen \(\alpha_\phi\) aldri bli st?rre enn \(180^\circ=\pi\)
Figur 5 og 6: Viser stereografisk projeksjon med synsvinkler p? henholdsvis \(90^\circ=\frac{\pi}{2}\) og \(180^\circ=\pi\) . Vi kan se at noen st?rre vinkel ikke gir mening.
Det vil si at \(\alpha_\phi\) f?r maksimalverdier \(\alpha_{\phi,max/min}=\pm\pi\) som igjen gir \(-\frac{\pi}{2}\leq\phi-\phi_0\leq\frac{\pi}{2}\). Dermed f?r vi en maksimalverdi for X:
\(X_{max}=\frac{2\sin(\frac{\alpha_\phi}{2})}{1+\cos(\frac{\alpha_\phi}{2})}\)
For minimalverdien f?r vi
\(X_{min}=\frac{2\sin(-\frac{\alpha_\phi}{2})}{1+\cos(-\frac{\alpha_\phi}{2})}\)
Og siden vi vet at \(\cos(-u)=\cos(u)\) og \(\sin(-u)=-\sin(u)\) betyr det at
\(X_{min}=-\frac{2\sin(\frac{\alpha_\phi}{2})}{1+\cos(\frac{\alpha_\phi}{2})}\)
Dette betyr at ekstremalverdiene for X blir
\(X_{max/min}=\pm\frac{2\sin(\frac{\alpha_\phi}{2})}{1+\cos(\frac{\alpha_\phi}{2})}\)
Som er s? langt jeg vil komme, for da kan jeg finne ekstremalverdiene som en funksjon av synsfeltet.
N? skal vi se p? Y. Vi setter likning (3) inn i (2) og f?r
\(Y=\frac{2(\sin(\theta_0)\cos(\theta)-\cos(\theta_0)\sin(\theta)\cos(\phi-\phi_0)}{1+\cos(\theta_0)\cos(\theta)+\sin(\theta_0)\sin(\theta)\cos(\phi-\phi_0)}\)
N? holder vi X konstant lik null som gir at \(\phi=\phi_0\). Dermed kan vi forenkle
\(Y=\frac{2(\sin(\theta_0)\cos(\theta)-\cos(\theta_0)\sin(\theta)\cos(0)}{1+\cos(\theta_0)\cos(\theta)+\sin(\theta_0)\sin(\theta)\cos(0)}=\frac{2(\sin(\theta_0)\cos(\theta)-\cos(\theta_0)\sin(\theta)}{1+\cos(\theta_0)\cos(\theta)+\sin(\theta_0)\sin(\theta)}\)
Vi bruker s? identitetene
\(\sin(u)\cos(v)-\cos(u)\sin(v)=\sin(v-u)\)
og
\(\cos(u)\cos(v)+\sin(u)\sin(v)=\cos(v-u)\)
med \(u=\theta_0\) og \(v=\theta\) slik at
\(Y=\frac{2\sin(\theta-\theta_0)}{1+\cos(\theta-\theta_o)}\)
Deretter er det samme argumentet for X som gir at vi f?r den maksimale verdien for Y n?r \(\theta-\theta_0=\frac{\alpha_\theta}{2}\):
\(Y_{max}=\frac{2\sin(\frac{\alpha_\theta}{2})}{1+\cos(\frac{\alpha_\theta}{2})}\)
Og den minimale verdien n?r \(\theta-\theta_0=-\frac{\alpha_\theta}{2}\):
\(Y_{max}=\frac{2\sin(-\frac{\alpha_\theta}{2})}{1+\cos(-\frac{\alpha_\theta}{2})}=-\frac{2\sin(\frac{\alpha_\theta}{2})}{1+\cos(\frac{\alpha_\theta}{2})}\)
Som gir at
\(Y_{max/min}=\pm\frac{2\sin(\frac{\alpha_\theta}{2})}{1+\cos(\frac{\alpha_\theta}{2})}\)
Som jeg ogs? er forn?yd med. Dette kan jeg bruke til ? finne ut av hvor stort bildet mitt skal v?re for et gitt synsfelt. Hvis vi skriver dette p? intervallform f?r vi til slutt at
\(X\in\left[-\frac{2\sin(\frac{\alpha_\phi}{2})}{1+\cos(\frac{\alpha_\phi}{2})},\frac{2\sin(\frac{\alpha_\phi}{2})}{1+\cos(\frac{\alpha_\phi}{2})}\right]\) og \(Y\in\left[-\frac{2\sin(\frac{\alpha_\theta}{2})}{1+\cos(\frac{\alpha_\theta}{2})},\frac{2\sin(\frac{\alpha_\theta}{2})}{1+\cos(\frac{\alpha_\theta}{2})}\right]\)
Logg inn for ? kommentere