Geomorph - Le dialogue d'aperçu
À quoi sert l'aperçu

L'aperçu a d'abord été conçu pour donner une image en temps réel des documents édités.

Cependant, lorsque votre objectif est de créer vos scènes finales à l'aide de Povray, l'aperçu est d'une utilité limitée s'il ne reflète pas la caméra de Povray.

Le positionnement et le choix de l'angle d'une caméra est une tâche difficile à réaliser à l'aide du langage de Povray, sans interface graphique. Même avec une vraie caméra, ce n'est pas toujours facile! Pourtant, tout comme en photographie, cette tâche est essentielle à l'obtention d'un résultat esthétique.

L'aperçu et les scènes Povray fournies avec Geomorph 0.12 ont été modifiés pour accélérer cette partie du travail. À partir de la version 0.12, le point de vue de l'aperçu se traduit en instructions qui déplacent la caméra de Povray et en modifient l'angle à toutes les fois qu'une image Povray est calculée.

En s'inspirant des scènes fournies, l'utilisateur peut créer ses propres scènes Povray qui reproduiront aussi l'aperçu.

Le système de coordonnées utilisé


Axes L'aperçu de Geomorph utilise la convention d'axes de Povray. Comme le montre l'image de droite, l'axe Y va du bas vers le haut, l'axe X de gauche à droite, et l'axe Z de l'observateur vers l'arrière-plan.

Les principales caractéristiques de l'aperçu

L'aperçu permet des rotations, des translations (déplacements) et des variations de l'angle de vue.

Les changements se font à l'aide des contrôles affichés ou en déplaçant la souris dans l'image.

Lorsque vous dessinez avec le "crayon relief", le calcul de l'aperçu se fait lors du relâchement du bouton de la souris.

Les paramètres peuvent être définis pour 5 caméras distinctes.

Les caméras sont sauvegardées dans le fichier PNG contenant l'image de relief. Elles sont récupérées lorsque vous rouvrez le fichier.

Lorsqu'un nouveau document est créé, ou lorsqu'un fichier est lu et qu'il ne contient aucune caméra (par exemple, un fichier créé avec Gimp), les dernières caméras affichées au cours de la session sont utilisées. S'il s'agit du premier document d'une session, les réglages par défaut de Geomorph sont utilisés. Les 5 caméras sont alors identiques.

Enfin, lors d'un calcul de scène Povray, les données de la caméra courante sont sauvegardées dans le fichier camera.inc, qui fait l'objet d'un #include dans les scènes fournies avec Geomorph.

Parmi les améliorations possibles à l'aperçu, l'affichage optionnel d'un plan d'eau et d'un plan de sol serait un atout, la hauteur étant couplée au déplacement sur l'axe Y dans les scènes Povray.

Comment utiliser l'aperçu

1 - Les fonctions de la souris

Les déplacements et les rotations peuvent être contrôlés en déplaçant la souris dans l'image.

Bouton de gauche
Rotations
Bouton du centre
Déplacements gauche/droite (X), haut/bas (Y)
Bouton de droite
Rapprochement / éloignement (Z)

2 - Les boutons et les échelles de contrôle

MAJ Auto
Actif: l'aperçu est mis à jour lors de chaque modification du relief.
Inactif: Il faut cliquer "Rafraîchir" pour mettre à jour l'aperçu
Désactivez cette case lorsque l'interface réagit trop lentement. Par exemple:
(1) Vous éditez une image plus grande que ce que la puissance de votre ordinateur peut supporter, en assurant la fluidité des traitements.
(2) Vous avez trop augmenté le niveau de détail de l'aperçu
Rafraîchir
Cliquez pour rafraîchir l'aperçu, soit lorsque la case "MAJ Auto" est désactivée, soit lorsque l'aperçu n'apparaît pas, lorsque vous naviguez entre plusieurs documents (voir la FAQ).
Grandeur
Modifie la grandeur de la zone d'aperçu, par incrément de 32 pixels. La largeur de la zone va de 64 à 512 pixels. La largeur par défaut est de 128 ou 256 pixels. Elle est calculée au démarrage de Geomorph selon la grandeur de votre bureau. La hauteur est de 0,75 fois la largeur (le format de l'image est de 4/3, comme les rendus des scènes Povray fournies avec Geomorph).
Détail
Indique le nombre de sommets (vertices) considérés dans la transformation de l'image en triangles, relativement au nombre de pixels. Ainsi, avec la valeur par défaut de 25%, une image de 512x512 pixels sera représentée par 128x128 sommets. Les valeurs varient du simple au double à chaque clic: 6,25%, 12,5%, 25%, 50%, 100%.
La valeur par défaut de 25% assure une utilisation fluide avec le matériel recommandé (un processeur de ~1000 Mhz pour une image de 512x512, sans accélération matérielle OpenGL).
Caméra
Gestion des caméras.
Cliquez sur le bouton radio approprié pour remplacer la caméra active.
Une caméra regroupe les paramètres de rotation, de déplacement et d'angle.
Les 5 caméras sont sauvegardées avec l'image de relief, dans la zone de commentaires du fichier PNG. L'édition de l'image de relief avec un autre outil risque de les effacer.  Voir la section des conseils pour ne pas perdre les caméras dans ce cas.
L'initialisation des caméras se fait à partir du dernier document affiché, ou si ce n'est pas possible à partir des valeurs par défaut de Geomorph. Après l'initialisation, chaque document conserve ses propres caméras. Une modification du point de vue dans un document n'a pas d'effet sur les autres.
Rotation Y
Angle de rotation autour de l'axe vertical (Y), de 0° à 360°.
Rotation X
Angle de rotation autour de l'axe Ouest-Est (X), ou inclinaison avant-arrière, de 0° à 360°.
Lorsque l'ange de la prise de vue est à 60°, la ligne d'horizon apparaît à 22° ou moins, et une inclinaison de 6° donne un horizon aux 2/3 de l'image.
Note: l'aperçu n'offre pas de rotation autour de l'axe Z. Cela donnerait une ligne d'horizon penchée.
Déplacement Z
Distance relative entre l'observateur et le relief. À 0, l'observateur se trouve au centre du relief.
Déplacement Y
Déplacement vertical du relief, de -Y à +Y.
Déplacement X
Déplacement latéral du relief, de -X à +X.
Angle
Angle de vision horizontal, de 5° à 100°, correspondant à la convention Povray. En photographie, l'angle de vision donné d'après la longueur focale de l'objectif est généralement diagonal. Voici une table d'équivalences pour quelques longueurs focales courantes:
Focale 35 mm
Angle horizontal
(Geomorph/Povray)
Angle diagonal
format 24x36
(ratio 3/2)
15 mm
100
111
20 mm
84
94
24 mm
74
84
28 mm
65
75
35 mm
54
64
50 mm
40
47
80 mm
25
30
100 mm
20
24
200 mm
10
12
400 mm
5
6
L'angle considéré "normal" en photographie 35mm est celui d'un objectif de 50mm, soit 40°. L'angle par défaut de Geomorph est de 55°, dans la version 0.12. L'angle diagonal de Geomorph/Povray serait un peu supérieur à celui du tableau, compte tenu que le ratio d'image est de 4/3 plutôt que 3/2.
Remetre à 0
Ce bouton réaffiche les réglages de caméra par défaut de Geomorph, pour la caméra courante seulement.


La structure d'une définition de scène Povray couplée avec l'aperçu

Le lien entre l'aperçu et une scène Povray se fait à l'aide du fichier camera.inc, qui est généré dans le répertoire Geomorph courant lors de chaque calcul de scène. Ce fichier crée des variables qui servent à corriger les paramètres Povray. En voici un exemple, qui reproduit les paramètres par défaut:

#declare gl_angle = 55;
#declare aspect_ratio =  1.3333334;
#declare tr_x = -0.0000000;
#declare tr_y = -0.0000000;
#declare tr_z = -1.3500000;    // La conversion OpenGL -> Povray exige cette correction
#declare rot_x = 50;
#declare rot_y = 0;
#declare rot_z = 0;
Voici l'allure générale d'une scène Povray couplée avec l'aperçu (les variables provenant de camera.inc sont en gras):

#include "colors.inc"
#include "textures.inc"
#include "camera.inc"

#declare maincamera = {
    location  <0,  0, -0.1>
    angle     gl_angle
    up        y                
    right     aspect_ratio * x     
    look_at   <0, 0, 0>    
}
#declare sun = light_source { <-300, 300, -10> color White }
#declare water = plane {y,0 texture (...) }
#declare ground =
plane {y,0 texture (...) }
#declare Sky = [plane / sphere] {...}    // "sky" sans majuscule est un mot réservé
#declare hf = height_field {
    png "test.png"    // Nom standard du fichier créé par Geomorph, lors du calcul Povray
    smooth
    scale <1.0, 0.3, 1.0>    // Y = 0.3x, autrement le relief est aussi haut que large (peu naturel!)
    translate <-0.5, 0.0, -0.5>    // Sans cette translation, c'est un coin du relief qui est au centre
    texture (...)
}


/********************************************************************/
object {hf translate <...> rotate <...> scale <...>

// Pour "water" et "ground":

//    (1) dans un plan infini, l'échelle n'a d'effet que sur la texture

//    (2) le déplacement sur "y" doit parfois être très fin, de l'ordre de 0.01,
//        pour permettre un ajustement adéquat au relief

object {water translate y*0.0005 scale <...> } // l'eau doit être légèrement au-dessus du sol!
object {ground translate y*0.0 scale <...> }

light_source {sun rotate <0, rot_y, 0>    // La lumière Povray suit, malgré le changement de point de vue
// Il peut aussi faire du sens d'appliquer "rot_x" à "sun"

object {Sky rotate <
??, ??+rot_y, ??>}
// La rotation permet d'aligner la zone du ciel désirée (certains nuages) sur la caméra
//    (si vous avez une zone préférée!)


camera {maincamera
        translate <0+tr_x,0.05+tr_y,tr_z>
        rotate <rot_x,0+rot_y,0+rot_z> }


Si vous désirez fixer un paramètre, remplacez la variable par la valeur désirée. Cela peut faire du sens, par exemple, si vous désirez créer une image d'un format différent de 4/3 ("aspect ratio"), puisque l'interface n'offre aucun contrôle sur ce paramètre pour l'instant.

Quelques conseils
  1. Comment régler finement les échelles de valeurs
Il est parfois difficile de régler de façon fine les échelles de distance ou de rotation. Par exemple, l'inclinaison avant-arrière s'exprime souvent en angles de l'ordre de 0° à 10°. En cliquant sur le curseur de l'échelle, puis en déplaçant le curseur à l'aide des flèches gauche - droite du clavier, vous obtiendrez un contrôle fin par sauts de 1°.
  1. Comment obtenir une ligne d'horizon au tiers de l'image
Une inclinaison de la caméra de 6° donne une ligne d'horizon aux deux tiers de l'image (1/3 de ciel, 2/3 de sol). Vous voudrez parfois montrer deux tiers de ciel, par exemple lorsque les nuages sont un centre d'intérêt. Utilisez alors une inclinaison située entre 350 et 355°, et déplacez la caméra vers le haut (le relief vers le bas). Un exemple: une rotation X de 352°, un déplacement Y de -0,31.
  1. Rafraîchissement trop lent
Si le calcul de l'aperçu ralentit trop l'interface, diminuez le niveau de détail, ou bien désactivez la mise à jour automatique.
  1. Comment copier et réutiliser les paramètres de caméra
Geomorph n'offre pas encore, avec la version 0.12, une sauvegarde des paramètres de caméra au niveau de la session. Cependant, s'il y a des caméras que vous aimeriez toujours utiliser pour vos nouveaux documents, sauvegardez-les dans un document que vous ouvrirez toujours au début d'une session Geomorph. Les caméras du dernier fichier ouvert sont réutilisées lors de la création des nouveaux documents.
  1. Comment restaurer les paramètres de caméra après édition avec un logiciel externe
Vous voudrez peut-être éditer vos fichiers PNG avec Gimp, ou mieux, pour conserver le détail des altitudes sur 16 bits, avec Filmgimp/Cinepaint. Les caméras sont sauvegardées dans la zone de commentaires du fichier PNG. Cette zone n'est pas conservée par les autres logiciels. Pour éditer le fichier avec un logiciel externe et conserver malgré tout ces caméras, vous pouvez procéder ainsi:
  1. Copier le fichier sous un autre nom
  2. Éditer le fichier d'origine avec l'autre logiciel.
  3. Au retour dans Geomorph, ouvrir d'abord la copie non éditée. Geomorph initialisera les 5 caméras de l'aperçu avec les définitions trouvées dans le fichier.
  4. Ouvrir le document modifié. Comme Geomorph n'y trouvera aucune définition de caméra, il réutilisera celles qu'il a trouvées dans la copie.
  1. Jouer avec les angles de prise de vue
On peut se demander pourquoi offrir une échelle de variation de l'angle de vision, alors qu'il est possible de s'éloigner ou de s'approcher du relief si on veut en diminuer ou en augmenter la grandeur relative.

C'est une question de perspective. Supposons que vous définissez deux caméras, braquées sur une colline à l'avant-plan. Une caméra a un angle réduit (c'est un téléobjectif), l'autre un grand angle. Vous approchez la caméra à l'angle élevé et éloignez le téléobjectif pour que la colline à l'avant-plan soit de la même grandeur apparente. Les collines à l'arrière-plan paraîtront alors beacoup plus petites avec la caméra grand angle qu'avec la caméra téléobjectif.

Le grand angle donne un effet de profondeur, d'éloignement, tandis que le téléobjectif donne un effet d'écrasement des différents plans.

D'une façon générale, les montagnes semblent plus élevée lorsque vues à l'aide d'un téléobjectif, parce qu'elles occupent une plus grande surface de l'image.

L'utilisation du grand angle pour obtenir un effet de profondeur requiert habituellement de s'approcher considérablement des objets. Cette proximité peut donner l'impression d'un manque de détail de l'image de relief, ou pire, on peut à la limite voir les triangles qui composent la surface. Une façon de minimiser cet effet est d'utiliser une texture Povray riche, qui, en particulier, modifie les normales.
Retour au début

Écrit en novembre 2003

Retour à l'index de la documentation

SourceForge.net Logo