« 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 47 :
=Naissance du tétraèdre=
 
On a maintenant tout ce qu'il faut pour créer le tétraèdre, qui est une instance de la classe [[w:polyèdre|polyèdre]]. Créer un [[w:objet (informatique)|objet]] qui est une instance d'une classe, cela s'appelle une [[w:instanciation|instanciation]]. Elle se fait en deux temps: AmllocationAllocation et initialisation.
 
==Allocation du tétraèdre==
 
La méthode de la classe ''meshes'' (polyèdres) qui permet d'allouer un objet héritant de cette classe s'appelle, classiquement, ''new()'' ([[w:constructeur (programmation informatique)|constructeur]]). Elle accepte en paramètre le nom que portera l'objet (ici ''tetra''):
 
<source lang="python">
metm = bpy.data.meshes.new('tetra')
</source>
 
(la variable dans laquelle l'objet tétraèdre est stockée s'appelle ''tm'' pour ''tetrahedron mesh'')
 
==Initialisation du tétraèdre==
 
À ce stade, le tétraèdre est un polyèdre, mais vide puisqu'il ne contient aucun sommet, aucune arête et aucune face. En fait la seule propriété qu'il possède est son nom ''tetra''. Il reste donc à lui fournir les deux listes créées auparavant, ''sommets'' et ''faces''. Cela se fait avec la méthode ''extend()'' commune aux propriétés ''verts'' (abréviation de ''vertices'') et ''face'' du tétraèdre:
 
<source lang="python">
tm.verts.extend(sommets)
 
tm.faces.extend(faces)
</source>
 
Une fois qu'on a exécuté le script avec le raccourci clavier ''Alt+P'', un objet supplémentaire est apparu dans la scène 3D, et il s'appelle "tetra". En le texturant puis en effectuant un rendu (appui sur ''F12''), on a l'image suivante: