Zoom asteiksi ja takaisin

(1/1)

smä:
Visuaalitoteutuksia pohdittaessa päästiin ihmettelemään maisemanäkymä zoom-arvojen tulkintaa. Kun käytössä olevan näytön koko on kiinteä, voi tulla halu asettaa maiseman zoomi siten, että maisemasta näkyy samankokoinen pala kuin monitorin kokoisesta ohjaamon ikkunasta näkyisi. Jos taas näytön leveyttä voi säätää, pitäisi tietää kuinka suurta näkökenttää käytössä oleva zoomi vastaa, jotta näytön leveys tulisi säädettyä sopivaksi.

Kun näytti ilmeiseltä, että muuntokaavat zoomista asteiksi ja takaisin eivät ole ainakaan kovin laajasti tiedossa, päätin yrittää selvittää kuinka muunnokset voisi tehdä. Esitän tässä nyt jonkunlaisen tuloksen kokeiltavaksi ja jatkokehiteltäväksi.

Ensin lähtöoletuksia:

Simulaattori: FSX
Monitorin kuvasuhde: 16:10
WideViewAspect=True (fsx.cfg :ssä)
Ikkunoiden lukumäärä/monitori =1

Näyttäisi sille, että näillä oletuksilla zoom tavallaan lisää tai vähentää katsojan etäisyyttä monitorin kokoisesta lentokoneen ikkunasta. Zoom=1.25 vastaa tilannetta jossa silmän etäisyys ikkunasta on 1.207107 * monitorin leveys, tällöin näkökentän leveys (jatkossa FOV) =45 astetta. Esimerkiksi zoom=0.5 toisi silmää siis lähemmäs kuviteltua ikkunaa, jolloin FOV kasvaa. Etäisyys olisi silloin 1.207106*(0.5/1.25) = 0.483 kertaa monitorin leveys. Tämän etäisyyden perusteella voidaan sitten laskea, että FOV pitäisi olla nyt 92 astetta.

Tämän ajattelun voi yleistää zoomin yhtälöön

zoom=1.25/(2*1.207107*tan(FOV/2))

ja toisinpäin

FOV=2*arctan(1.25/(2*1.207107*zoom))

Muutaman kokeilun jälkeen tämä näyttäisi toimivalta, mutta enemmän erilaisia zoomeja pitäisi kokeilla. Kokeiluun tarvitaan vähintään kaksi monitoria th2go:n tai eyefinityn kautta. Molempiin monitoreihin viedään yksi cockpit näkymä, näiden taustalla pitää olla jokin koko ruudun täyttävä näkymä. Näkymät suunnataan niin, että niiden väliin jää haluttu FOV. Jos siis haluaa löytää zoomin joka antaa 90 astetta per monitori, niin vierekkäiset näkymät suunnataan esimerkiksi suuntiin -45 ja 45. Zoomia sitten muutetaan, kunnes näkymät muodostavat yhtenäisen kuvan. Noiden kaavojen mukaan tämän pitäisi tapahtua kun zoom=0.5178. Zoomia voi säätää karkeasti "+" ja "-" näppäimistä, hienosäätö onnistuu kun painaa samalla "shift" näppäintä.

Tietääkseni näkymän suuntia ei voi tarkasti säätää näppäimillä, joten lento pitää tallentaa ja muokata .flt tiedostoa. Kameran suunta määritellään "rotation"- kentän keskimmäisellä arvolla. Esim Code:

Rotation=0, -22.5, 0
kääntää näkymän 22.5 astetta koneen keskilinjasta vasemmalle, ja  Code:

Rotation=0, 22.5, 0
vastaavasti oikealle.

Valitettavasti zoomi ei näytä toimivan näiden kaavojen mukaan jos cockpit-ikkuna on pienempi tai suurempi kuin yksi monitori, eli saman monitorin jakaminen vaikkapa kahteen näkymään täytyy tehdä zoomin osalta käsin. Tosin tapauksessa, jossa ikkuna on monitoria pienempi, kaava  zoom=2*arctan(1.25/(2*1.207107*zoom))*0.6 antaa arvon joka on aika lähellä oikeaa, en tosin tiedä miksi

En omista FS9:ä, joten en tiedä miten hyvin tai huonosti tämä siinä toimisi. Jos FS9:ssä zoom=1 antaa FOV=45, niin mahdollisesti kaava  zoom=2*arctan(1/(2*1.207107*zoom)) saattaisi toimia.

Jos tämä jaksaa ketään kiinnostaa, niin olisi hauska kuulla kuinka nämä toimivat erilaisissa olosuhteissa, vai toimivatko ollenkaan.


Ai niin, jos haluaa laskea omassa ohjaamossaan, mikä FOV pitäisi näkyä "ikkunasta", sen voi laskea näin: FOV=2*arctan(a/(2*b)), a=monitorin leveys, b=monitorin etäisyys pilotin silmästä.

tigert:
Tuossahan voisi esim. tehdä jonkun custom-scenen missä on vaikka afcadilla tehty tosi kapeita kiitoteitä ristiin vaikka 30 asteen välein ja katsoa että ne näkyvät oikein kun siinä keskellä koneesta tiiraa ulkomaailmaa..?

//T

smä:
Quote

Tuossahan voisi esim. tehdä jonkun custom-scenen missä on vaikka afcadilla tehty tosi kapeita kiitoteitä ristiin vaikka 30 asteen välein ja katsoa että ne näkyvät oikein kun siinä keskellä koneesta tiiraa ulkomaailmaa..?

//T


Niinpä. Tarvittaisiin siis erikoisvalmisteinen hangaari visuaalin kalibrointia varten. Sylinteri jonka sisäseinän tekstuurina on asteikko 0-360. Sisällä pitäisi olla pysäköintipaikka jonka voi valita valikosta lähtöpaikaksi. Lentokoneena voisi käyttää vaikka ORBX:n ilmaista Bobia, jonka silmät sattuisivat varmaan aika helposti keskelle.

Ehkä Malmin lentoaseman päärakennuksesta saisi nopeasti muokattua tällaisen?

Navigation

Up one level