Vi er blitt paparazzi for nattehimmelen!

N? skal vi anvende all teorien og matematikken fra forrige innlegg, for ? hjelpe oss ? finne retningen raketten peker i! Vi vil jo aller helst ikke uheldigvis ende opp p? en annen planet enn Narnia, fordi raketten pekte i feil retning. Eller i verste fall ende opp driftende rundt i solsystemet uten ? komme oss noen rimelig vei. Da hadde nemlig Frodo og Sam eksplodert av sinne p? oss slik som Mount doom i Mordor. Forh?pentligvis l?ser vi problemet og unnslipper dette!

Hentet fra: Science friday.

Som du kanskje husker fra forrige innlegg, s? skal vi bruke stereografisk projeksjon for ? finne ut hvilken retning raketten peker i. Videre er raketten utstyrt med et kamera, som skal hjelpe oss ? l?se denne problemstillingen. Men hvordan kan et kamera hjelpe da? Du tenker kanskje at vi kan se planeter p? bildene vi tar, som da kan hjelpe oss ? navigere. Men, som du kanskje husker fra tidligere, s? m? vi v?re en viss avstand til en planet for ? kunne se den p? kamera, og det er ikke n?dvendigvis at vi alltid er innenfor en slik avstand. Hmm... vi sitter p? kontoret og grubler p? dette mens vi tar oss morgenkaffe. I mellomtiden skal jeg ta en liten gjennomgang av essensiell informasjon som kommer til nytte n?r vi jobber med kamera.

 

Byggeklossene til et bilde

Et bilde er bygd opp av en rekke piksler (tenk p? det som sm? kvadrater) som lager et rutenett. Antallet piksler og formen p? rutenettet kan variere fra bilde til bilde, som du nok er kjent med i v?r digitale alder. Hver piksel har en spesifikk farge som blir angitt basert p? RGB (R?d-Gr?nn-Bl?) verdier, som er tre heltallige verdier som kan g? fra 0 til 255. For eksempel er r?d representert av RGB verdien (255, 0, 0), og denne fargen er representert av RGB verdien (255, 204, 102). Vi skal bruke disse RGB verdiene straks n?r vi skal finne hvilken retning raketten peker i!

 

Er nattehimmelen fotogen?

F?r du leser videre er det lurt ? ta en titt innom forrige innlegg for ? friske opp hukommelsen din p? teorien som jeg straks skal begynne ? anvende! Anyways... Rundt hjemplanet v?r, Middle-earth, har vi en fantastisk satellitt som har gitt oss masse nyttig data. Satellitten har laget et litt spesielt sf?risk bilde av himmelen for oss. Ikke lur deg selv til ? tro at dette er et helt vanlig bilde! Nei, for det er nemlig en fil med mange RGB verdier som alle tilh?rer en spesifikk piksel, som igjen tilh?rer et spesifikt \((\theta, \phi)\) koordinat.

Stjernene som er i bildet av nattehimmelen er veldig langt unna, og de vil da bevege seg infinitesimalt (ekstremt lite!) over tiden vi skal se p?. Derfor vil vi anta at nattehimmelen er konstant. Vi kan da bruke filen med verdier fra satellitten for ? lage oss selv en rekke referansebilder for utvalgte \((\theta, \phi)\) koordinater. N?r vi da senere tar bilde fra raketten kan vi sammenligne dette bildet med v?re referansebilder for ? approksimere hvilken retning raketten peker i. 

Da er det p? tide ? lage disse referansebildene. Vi vil lage referansebilder som er sentrert rundt enhver heltallig vinkel m?lt i grader rundt raketten langs planet til solsystemet. Men f?rst vil vi lage et bilde som er sentrert rundt posisjonen \(\phi = 0^{\circ}\) og \(\theta = 90 ^{\circ}\). Her er \(\phi\) vinkelen vi etter hvert vil justere p?, siden \(\theta = 90 ^{\circ}\) tilsvarer planet til solsystemet. V?r fantastiske satellitt har laget en stereografisk projeksjon av nattehimmelen (som du kan se i figur 2) sentrert rundt dette koordinatet, med synsfelt \(\alpha_{\theta} = \alpha_{\phi} = 70 ^{\circ}\). Vi analyserer dette bildet for ? finne antall piksler, slik at vi bruker likt antall n?r vi skal lage v?re referansebilder, siden kameraet p? raketten v?r ogs? vil ha samme antall piksler. Vi f?r da at bildet har \(640 \times 480\) piksler, som vil si at det er 640 piksler i bredden, og 480 piksler i h?yden.

N? skal vi bruke alle disse verdiene for ? lage v?re referansebilder. Vi vil finne alle \((X, Y)\) koordinatene som vil v?re inneholdt i bildet v?rt. Dette gj?r vi ved ? finne grensene til \(X\) og \(Y\), som vi kan f? fra de endelige uttrykkene i likning 10 og 11 fra forrige innlegg ved ? sette inn \(\alpha_{\theta} = \alpha_{\phi} = 70 ^{\circ} = \dfrac{\pi \cdot 70 ^{\circ}}{180 ^{\circ}}\), som vi oppgir i radianer. N?r vi har funnet grensene s? vil vi at verdiene som er inneholdt mellom grensene skal v?re uniformt fordelt p? antall piksler. Slik at vi f?r 640 verdier for \(X\) med like store mellomrom og p? lik m?te 480 verdier for \(Y\).

Vi har n? alle verdiene for \(X\) og \(Y\) som vil v?re inneholdt i bildet. Men for ? finne RGverdiene som gir fargen til pikslene i bildet s? trenger vi det tilh?rende \((\theta, \phi)\) koordinatet, slik at vi kan f? verdiene vi trenger fra filen fra satellitten. N? skal vi bruke stereografisk projeksjon for ? transformere v?re \((X, Y)\) koordinater til \((\theta , \phi)\) koordinater. Vi bruker da likning 3 og 4 fra forrige innlegg, som gir oss \(\theta\) og \(\phi\) ved at vi setter inn v?re n? kjente verdier for \(X\) og \(Y\), og ved ? sette inn \(\theta_0\) og \(\phi_0\) lik vinklene vi sentrerer bildet rundt. N? har vi alle \((\theta , \phi)\) koordinater som vil v?re inneholdt i bildet, og vi finner s? deres tilh?rende RGB verdier fra filen fra satellitten. Vi setter s? sammen alle pikslene best?ende av disse RGB verdiene til et fullstendig bilde som da er sentrert rundt \(\phi = 0^{\circ}\) og \(\theta = 90 ^{\circ}\).

Figur 2. Bilde fra satellitt, tatt for \(\phi = 0 ^{\circ}\).
Figur 1. Referansebilde 1, projeksjon av nattehimmelen for \(\phi = 0 ^{\circ}\).

I figur 1 kan du se bildet vi produserte ved stereografisk projeksjon, og i figur 2 kan du se bildet tatt fra satellitten for samme vinkel. Disse ser jammen meg like ut for det blotte ?yet! Vi sier oss forn?yd for n?. Videre bruker vi samme metode som for det f?rste bildet, for ? lage bilder sentrert rundt \(\theta = 90 ^{\circ}\) og \(\phi = i\), for \(i = 0 ^{\circ}, 1 ^{\circ}, 2 ^{\circ}, ..., 359 ^{\circ}\). Vi setter s? sammen alle disse bildene til en video av nattehimmelen og f?r f?lgende resultat:

 

N? er det p? tide ? bruke alle disse referansebildene for ? approksimere vinkelen raketten peker i. Dette vil vi gj?re i neste innlegg. F?lg med!

Publisert 10. okt. 2023 17:44 - Sist endret 10. okt. 2023 17:44