Print at Dec 21, 2025, 12:40:32 AM

Posted by Puybaret at Sep 2, 2011, 6:51:44 PM
Re: Terrain à partir de données GPS
Le format OBJ n'est vraiment pas compliqué pour créer une surface divisée en triangles.
Chaque sommet est décrit sur une ligne séparée débutant par la lettre v suivie des valeurs x y z
Puis chaque triangle est décrit sur une ligne débutant par f suivie de 3 indices des sommets précédemment définis (le premier sommet a pour indice 1).
Par exemple, le code suivant définit un carré composé de deux triangles :
v 0 0 0
v 0.5 0 0
v 0.5 0.5 0
v 0 0.5 0
f 1 2 3
f 3 4 1

Attention à l'orientation des faces ! Le vecteur normal d'une face doit être orienté vers l'observateur pour que la face soit visible (ou alors doublez les faces).

Si vous voulez définir le tout avec des couleurs différentes, il faudra rassembler les faces par couleur et précéder chaque groupe de faces d'une ligne débutant par la lettre o ou g suivie d'un nom unique, et d'une ligne usemtl qui référence le nom d'une couleur définie dans un fichier mtl, ce fichier mtl étant déclaré en début de fichier avec une ligne mtllib.
Par exemple, le code suivant définit un carré composé de deux triangles dont une face est bleue et l'autre verte :
mtllib carre.mtl
v 0 0 0
v 0.5 0 0
v 0.5 0.5 0
v 0 0.5 0
g faceBleue
usemtl bleu
f 1 2 3
f 3 4 1
g faceVerte
usemtl vert
f 1 3 2
f 3 1 4

le fichier carre.mtl pouvant être aussi simple que :
newmtl bleu
Kd 0 0 1

newmtl vert
Kd 0 1 0

----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator