Inverse Panorama eller Objekt Panorama

Skriven av Paul Bourke
November 2018


Cylindriska panorama är väl förstådda och används ofta för att fånga ett begränsat vertikalt synsfält men en hel 360 grader horisontellt. De bildas typiskt genom att rotera en kamera om en enda punkt. Medan den praktiska metoden kan variera, uppfattar konceptuellt varje kameraposition en smal vertikal slits, alla slitsar är inriktade efter varandra.

Här presenterar jag objektpanorama, eller eftersom de kan betraktas som en traditionell panoramabildning men inverterad, invers panorama. Specifikt, istället för en central kamera och en extern scen, har vi en kamera som rör sig runt ett objekt som tittar inåt. Ett sätt att skapa sådana objektpanorama skulle vara att ta ett perspektiv eller en ortografisk bild medan objektet roterar. En enda vertikalslits från varje fotografi kan placeras sida vid sida för att bilda en kontinuerlig bild (förutsatt korrekt slitsbredd). Detta är i grunden detsamma som ett så kallat slits skanna fotografi.

Ett annat sätt att se detta är som en mångsidig rendering. Varje pixel i bilden motsvarar en kameraposition, i fallet med en cylindrisk objektpanel är alla kameror (en för varje pixel) horisontella och riktad mot en centralaxellinje. I de exempel som visas här används en 3D-texturerad modell för att visa resultatet. Men reella föremål kan användas genom att placera dem på en motoriserad skivspelare och filma med en videokamera följt av slitsskanningsmetoden som beskrivs ovan för varje bildram.


Diotima statue, The University of Western Australia

I likhet med traditionella panorama sätter de också 360 grader, vänster kant ligger intill höger kant.


Lions statues in front of the Duxton hotel in Perth

De bilder som skapades här var författarens egna kod, som för varje pixel i utmatningsbilden beräknas motsvarande stråle (position och riktning). Den strålen korsas sedan med alla trianglarna i modellen (OBJ-filen), när den närmaste (första) korsningen är bestämd, färgen är uppskattad med tanke på UV-koordinaterna och texturbilden.

Den nya (och spännande) “mesh_camera” i PovRay kan användas för att uppnå samma sak. Med den här kameran kan man ange kamerastrålpositionen med triangeln i ett nät {}, varvid strålens riktning bestäms med det normala (så alla trianglar måste beställas konsekvent) även om strålen kan vändas med tecknet på z samordna i riktningsdirektivet.

object {
   #include "teresa.inc"
}
camera {
   mesh_camera {
      1
      0
      #include "themesh.inc"
   }
   location <0,0,0>
   direction <0,0,-1>
}

Mother Teresa in the St Mary's Cathedral Perth

Det bör noteras att man på ytan kan tänka sig att dessa kan skapas med en standard cylindrisk panoramaförlängning från objektets mittpunkt. Men i så fall skulle man kartlägga inredningen, inte utsidan. En skillnad är strukturer som kan vara synliga från utsidan men är ockluderade av andra strukturer på insidan, till exempel konkava delar av modellen.


Tjanpi dolls, indigenous Australian figures


Sfärisk (Equirectangular) panorama

Naturligtvis är en inte begränsad till ett cylindriskt panorama, en full equirectangular panorama kan också genereras. Varje pixel motsvarar ett strålans ursprung på en sfär, ray ray-riktningen är mot mitten av modellen.

Dessa modeller skapades från 3D-rekonstruktion och basen har inte stängts. Den ihåliga naturen är orsaken till de synliga bristerna i bildens nedre del.