Inverse Panorama or Object Panorama

Écrit par Paul Bourke
Novembre 2018


Les panoramas cylindriques sont bien compris et largement utilisés pour capturer un champ de vision vertical limité mais à 360 degrés horizontalement. Ils sont généralement formés en faisant pivoter une caméra autour d’un seul point. Bien que la méthode pratique puisse varier, chaque position de la caméra capture conceptuellement une fente verticale étroite. Toutes les fentes sont alignées les unes après les autres.

Ici, je présente des panoramas d’objet, ou parce qu’ils peuvent être considérés comme une capture de panorama traditionnelle mais des panoramas inversés et inversés. Plus précisément, au lieu d’une caméra centrale et d’une scène externe, nous avons ici une caméra qui se déplace autour d’un objet regardant vers l’intérieur. Une façon de créer de tels panoramas d’objet serait de prendre une perspective ou une image orthographique pendant la rotation de l’objet. Une seule fente verticale de chaque photographie peut être placée côte à côte pour former une image continue (en supposant une largeur de fente correcte). Il s’agit essentiellement d’une photographie dite à balayage en fente.

Une autre façon de voir cela est un rendu multi-perspective. Chaque pixel de l’image correspond à une position de la caméra. Dans le cas d’un objet panoramique cylindrique, toutes les caméras (une par pixel) sont horizontales et dirigées vers une ligne d’axe central.

Dans les exemples présentés ici, un modèle 3D texturé est utilisé pour illustrer le résultat. Cependant, les objets réels peuvent être utilisés en les plaçant sur une platine motorisée et en les filmant avec une caméra vidéo, suivis de la méthode de balayage par fente décrite ci-dessus pour chaque image de la vidéo.


Statue Diotima, Université de l’Australie occidentale

Comme les panoramas traditionnels, ceux-ci s’enveloppent également à 360 degrés, le bord gauche est adjacent au bord droit.


Statues Lions devant l’hôtel Duxton à Perth

Les images créées ici sont le code de l’auteur qui, pour chaque pixel de l’image de sortie, calcule le rayon correspondant (position et direction). Ce rayon est ensuite intersecté avec tous les triangles du modèle (fichier OBJ). Dès que l’intersection la plus proche (première) est déterminée, la couleur est recherchée en fonction des coordonnées UV et de l’image de texture.

Le nouveau (et passionnant) « mesh_camera » dans PovRay peut être utilisé pour réaliser la même chose. Cette caméra permet de spécifier la position du rayon de la caméra en fonction du triangle dans un maillage {}. La direction du rayon est déterminée par la normale (tous les triangles doivent donc être ordonnés de manière cohérente), bien que le rayon puisse être inversé avec le signe du z. coordonner dans la directive de direction.

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

ère Teresa à la cathédrale Sainte-Marie de Perth.

Il convient de noter qu’en surface, on pourrait imaginer que celles-ci pourraient être créées avec un rendu panoramique cylindrique standard à partir du centre de l’objet. Mais dans ce cas, on cartographierait l’intérieur, pas l’extérieur. Une différence concerne les structures qui peuvent être visibles de l’extérieur mais qui sont obstruées par d’autres structures de l’intérieur, par exemple des parties concaves du modèle.


Poupées Tjanpi, figures australiennes autochtones


Panorama sphérique (équirectangulaire)

Bien entendu, on ne se limite pas à un panorama cylindrique, un panorama complet équirectangulaire peut également être généré. Chaque pixel correspond à une origine de rayon sur une sphère, la direction des rayons est dirigée vers le centre du modèle.

Ces modèles ont été créés à partir d’une reconstruction 3D et la base n’a pas été fermée. La nature creuse est la cause des défauts apparents dans la partie inférieure de l’image.