« 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 14 :
=Entrée des sommets=
 
Les 4 sommets du tétraèdre seront stockés dans un tableau appelé ''sommets''. Contrairement à CaRMetal, ce ne sont pas les noms des sommets qui seront stockés, mais directement leurs coordonnées:
La première des méthodes de ''tm'' qu'on va utiliser, c'est celle qui permet d'y ajouter des sommets. En fait on peut considérer ''tm'' comme une [[w:base de données|base de données]] qu'on va progressivement mettre à jour. Et un sommet est pour Blender sous Python, une méthode de la classe ''NMesh'', ayant pour variables trois nombres réels qui sont les coordonnées du sommet dans l'espace. On le crée par ''v=NMesh.Vert(x,y,z)'' (''Vert'' comme ''vertex''). Puis, une fois que le sommet ''v'' a été défini, on l'ajoute à la base de données ''tm.verts'' (constituée par les sommets de ''tm'') par la méthode ''append'' de ''tm'':
 
<source lang="python">
sommets=[ [-1,-1,-1], [1,1,-1], [1,-1,1], [-1,1,1] ]
v=NMesh.Vert(-1.0,-1.0,-1.0)
tm.verts.append(v)
v=NMesh.Vert(1.0,1.0,-1.0)
tm.verts.append(v)
v=NMesh.Vert(1.0,-1.0,1.0)
tm.verts.append(v)
v=NMesh.Vert(-1.0,1.0,1.0)
tm.verts.append(v)
</source>
 
Pour définir le tétraèdre, il reste à lui fournir la liste de ses faces (les arêtes en découleront automatiquement).
Ci-dessus on a créé 4 fois un sommet, puis on l'a à chaque fois ajouté à la collection de sommets existante, ce qui fait qu'à ce stade le tétraèdre ''tm'' possède 4 sommets comme il se doit. Mais il n'a encore ni face ni arête, et ne serait pas correctement rendu par Blender.
 
=Entrée des faces=