Réaliser des photos
en pseudo-stéréoscopie

Par Fyndhorn Elder
Fyndhorn Elder  (Donato Giancola/Fabrice Lemaiinque)

Comme vous l'avez vu, je me suis amusé à tenter de créer des photographies 3D. Il s'agit en réalité d'une illusion d'optique. Dans le temps, il a existé des appareils pohtos argentiques pourvus de 4 objectifs, qui permettaient de réaliser ce type de chose sur papier, et sont désormais exploités par certains sous forme numérique.
Le procédé a recours à deux (ou plus, mais deux suffisent) images légèrement décalées, et affichées en succession rapide dans une image animée de type gif animé. Pour que cela fonctionne, la vitesse d'affichage soit être égale ou supérieure à 30 images/seconde, soit un paramétrage de 3 centièmes de seconde max par image. La vitesse d'affichage réelle dépend en réalité des performances graphiques du PC (ou plutôt de la carte graphique) sur lequel est affiché l'image. Bien évidement, plus l'image est de petite taille et plus la vitesse sera importante.
La théorie
Le procédé théorique, relativement simple, est le suivant :
Dans le (vilain) croquis ci-contre. Le cercle représente la figurine, l'ensemble de 2 rectangles l'APN et le grand ovale avec le deux petits ovales la tête et les yeux.
A gauche, c'est une photo "normale". Elle est unidimensionnelle, prise bien dans l'axe (on suppose que le photographe a employé l'écran LCD et non le viseur). A droite, 2 clichés sont pris. Cela peut être effectué de deux façons : en déplaçant l'APN comme indiqué sur le schéma, ou en tournant la figurine, ce qui est moins source d'erreur si vous ne disposez pas d'un rail photographique. Remarquez en outre que sur le croquis les APN sont "inclinés" vers le point central. Ils peuvent aussi rester parallèles à l'axe médian.
La pratique
Pour obtenir l'effet stéréoscopique, il faut prendre 2 photos.
  1. Fixez soigneusement l'APN sur un pied, de façon à ce qu'il ne puisse pas bouger.
  2. Tournez très légèrement la figurine, pour simuler des vues respectives de l'oeil droit et de l'oeil gauche. Vous pouvez placer la main en douceur sur la fig, appuyez fortement sur le socle pour être sûr de ne pas le déplacer latéralement et la tourner d'un petit degré, ou reocurir à un dispositif de socle pivotant ocmme montré plus loin.
  3. Ouvrez un logiciel de dessin bit-map (Paint, 'toShop, The Gimp, etc...) et recadrez/découpez soigneusement les images obtenues. Le mieux est, lors du premier découpage, de noter exactement les coordonnées des deux coins opposés du rectangle, et de veiller à employer les mêmes coordonnées pour la seconde photo. Modifiez ensuite la taille si besoin : plus l'image est petite et plus le "mouvement" sera fluide. On obtient par exemple les deux images ci-contre, qui ne présentent visuellement guère de différence. Enregistrez-les au format gif. Ce format n'emploie que 256 couleurs, mais ce n'est pas très grave. J'ai pris l'habitude d'appeler les 2 images noma.gif et nomb.gif, comme ici haldira.gif et haldirb.gif.
  4. Ouvrez un logiciel de création de Gif annimé comme Gif Animator de Microsoft ou d'Ulead , que je préfère) ou même avec The Gimp. Importez les images, fixez la vitesse à 0 centième de seconde, puis prévisualiser le résultat. S'il vous convient, enregsitrez-le (j'ai pris l'habitude de les nommer nomanim, comme dans haldiranim). Vous obtenez un simili-3D.
Choses importantes :
  1. le décalage entre les 2 prises ne doit être que d'1 ou 2°. L'importance de la rotation doit être proportionnelle à la distance de l'APN par rapport au sujet, et inversement proportionnelle à la circonfèrence de l'objet par rapport au centre de rotation. Plus vous êtes près du sujet ou plus celui-ci présente une profondeur importante et plus le déplacement angulaire des extrémités sera importante et donc visible. Vous devez le minimiser. Dans tous mes premeirs essais, j'ai systématiquement pris des angles trop grands. 1° semble largement suffisant.
  2. Attention à l'éclairage: il doit être aussi diffus que possible, de façon à éviter toute ombre portée/modification du fond, qui sera nettement visible. Pour la même raison, attention aux éventuelles modifications numériques : comme elles sont rarement identiques sur deux images différentes, elles se verront, attirant l'oeil au détriment du sujet principal.
  3. La fig doit être située exactement à la même place. Un décalage même d'un tiers de mm se remarque, et donne ce "vacillement" désagréable. Pour cette raison, j'ai rapidement construit le petit dispositif de socle rotatif montré ci-contre, qui me peremt de tourner la figurine sans toucher à celle-ci.
  4. Conséquence, lorsque vous découpez, attention à bien respecter les coordonnées : dimension et position du socle doivent être strictement identiques. Même s'il est possible de tricher un peu lors du paramètrage du gif animé, tout décalage sera visible - et désagréable à l'oeil.
Voici différents résultats. Manifestement, les angles de rotation sont généralement trop importants... Les dernières, le cavalier, le dragon et le gob, sont presque parfaites.
L'empirique c'est bien, mais arrive un moment où il faut examiner les choses osus l'angle mathématique.
Tout d'abord, sachant que les yeux sont écartés d'environ 6 à 7 cm, un objet situé bien en face est vu selon un angle stéréoscopique égal à un angla alpha selon la formule
alpha = 2 * ArcTangente(3,75/d)
où d est la distance par rapport à l'objet (exprimée ici en centimètres). En supposant une distance d'observation de 30 cm, cela fait un angle de 14°. A 1 m, il n'est plus que de 4 degrés. Un chiffre encore important... Et celui sur lequel je m'étais fondé dans mes premiers essais.
Toutefois, les choses se compliquent du fait que d'une part il est fréquent de zoomer (d'où une diminution "apparente" de la distance tout en gardant le même angle)et que d'autre part l'image est généralement recadrée, avec une conséquence identique. C'est donc plutôt sur l'image elle-même qu'il faut réfléchir.
Raisonnons autrement, d'après le déplacement angulaire maximal en fonction de la figurine. Il est de :
D=2* R * sin(alpha/2)
où D est le déplacement, R la distance du point concerné par rapport au centre de rotation et alpha l'angle.
Le tableau ci-contre montre ce que cela peut donner.
En convertissant en pixels, c'est vite énorme : en considérant une image de 400 pixels, avec une margeur réelle (comme pour le gob) d'environ 4 cm, un déplacement extrême d'1 mm représente 10 pixels...
Cela est toutefois à pondérer, en fonction de l'angle du dépalcement angulaire par rapportà l'axe de vue : le dépalcement est maxiaml pour un point fixé dans l'axe (en avant ou en arrière), mais minium pour un point situé perpendiculairement à l'axe de vue.
Rotation (degré)Rayon (cm)Déplacement (mm)
0,530.27
0,5100.9
130.53
1101.75
231.05
2103.5
Voici plusieurs essais. Le premier est réalisé avec un angle de 1° et deux clichés, le second avec un angle de 2° et deux images, le troisième avec 2° mais quatre images (dont 1 doublée). Enfin, le quatrième gif représente une rotation employant 34 images différentes. Ce dernier fichier est très gros : 1 Mo.
Manifestement, entre 1 et 2° les différences sont très faibles, et le vacillement perdure. L'effet 3D est présent, mais faiblement (les points extrêmes, l'épée et le bouclier) sont perpendiculaires à l'axe de vision). L'essai avec 4 images vacille également et n'améliore qu'à peine les choses. Enfin, la rotation est intéresante - à condition d'éviter tout déplacement du socle de rotation, ce que je n'ai pas su faire ici... Et le fichier est quand même d'une taille un peu déraisonnée...
Concusion : un procédé intéressant, mais qui possède des limites évidentes.Tout est affaire de compromis entre rendu 3D et vacillement perceptible.

Retour Accueil Seigneur des Anneaux
Tous droits réservés © 2011 Fabrice "Fyndhorn Elder" Lemainque