« Programmation objet et géométrie/Objets Python sous Blender/Création d'un objet 3D en Python sous Blender » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 24 :
=Entrée des faces=
 
En fait il n'est pas nécessaire de créer les 6 arêtes du tétraèdre parce que celles-ci sont les bords des faces de celui-ci, et on n'a besoin que de créer les 4 faces, comme ci-dessus, en .
 
Chaque face sera décrite comme une liste portant, dans l'ordre, les numéros des sommets qui la définissent, en commençant à compter à partir de 0.
#invoquant 4 fois de suite la méthode ''Face'' de la classe puis,
#à chaque fois, en y ajoutant au fur et à mesure, dans l'ordre, les sommets qui la définissent;
#et quand la face est créée, en la rajoutant à la base de données des faces de ''tm'' (qui s'appelle ''tm.faces'') avec sa méthode ''append''.
 
Pour connaître l'ordre dans lequel on va citer les sommets qui définissent chaque face, on peut regarder les [[w:vecteur normal|vecteurs normaux]] de toutes les faces du tétraèdre:
Ligne 41 ⟶ 39 :
*<math>1 \rightarrow 2 \rightarrow 3</math>
 
C'est dans l'ordre 0, 1, 2 qu'on va donc entrer les sommets de la première face. Ceux-ci sont, comme on l'a vu ci-dessus, des éléments de ''tm.verts'' qui est non seulement une méthode de ''tm'' mais aussi un tableau. Le premier des sommets du tétraèdre s'appelle donc par ''tm.verts[0]''. Enfin on crée une face avec la méthode ''Face()'' de la classe ''NMesh'':
 
<source lang="python">
faces= [ [0,1,2], [0,2,3], [0,3,1], [1,2,3] ]
f=NMesh.Face()
f.v.append(tm.verts[0])
f.v.append(tm.verts[1])
f.v.append(tm.verts[2])
tm.faces.append(f)
f=NMesh.Face()
f.v.append(tm.verts[0])
f.v.append(tm.verts[2])
f.v.append(tm.verts[3])
tm.faces.append(f)
f=NMesh.Face()
f.v.append(tm.verts[0])
f.v.append(tm.verts[3])
f.v.append(tm.verts[1])
tm.faces.append(f)
f=NMesh.Face()
f.v.append(tm.verts[1])
f.v.append(tm.verts[2])
f.v.append(tm.verts[3])
tm.faces.append(f)
</source>