« Programmation objet et géométrie/Objets Python sous Blender/Création de surfaces paramétrées avec bpy » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Ligne 36 : Ligne 36 :


===Liste des sommets===
===Liste des sommets===

Lors de sa création, la liste des sommets est vide. Il reste donc à la remplir, ce qui se fait par quelque chose qu'on n'a pas utilisé dans l'article précédent: Une boucle. Celle-ci est double (puisqu'il y a deux paramètres) et ses deux indices sont choisis entre 0 et 100 (pour ''i'') et entre 0 et 49 (pour ''j''). Pour passer de <math>0 \leqslant i \leqslant 100</math> à <math>0 \leqslant u \leqslant \pi</math>, on multiplie ''i'' par <math>\frac{\pi}{100}</math> pour avoir ''u''. De même, <math>v=j \times \frac{j}{50}</math>:


==faces==
==faces==

Version du 31 juillet 2010 à 20:54


Pour représenter des surfaces paramétrées, on utilise la seule chose que Blender sache gérer: Des polyèdres. Seulement ils ont tellement de faces et elles sont si petites, que le polyèdre aura l'air, si on n'y fait trop attention, d'une surface de classe . Cette représentation des surfaces par des approximations polyédrales est à la base de chapitres entiers des mathématiques:

Dans les deux cas, la surface est approchée par une triangulation. Comme les deux paramètres de la surface

s'appellent souvent et , le nom d' uv-mapping est souvent utilisé dans les logiciels de 3D (comme Blender) pour désigner les coordonnées de textures.

Ci-dessous on va représenter une surface unilatère, la surface romane de Steiner.

Expression paramétrique

La surface de Steiner est donnée par la représentation paramétrique suivante:

avec et .

sommets

Entête du fichier

Comme précédemment, on importe les classes Blender et bpy, mais aussi les fonctions trigonométriques et , qui sont des méthodes (et propriété pour ) de l'objet math:

from Blender import *
import bpy
from math import pi, cos, sin
sommets=[]

Liste des sommets

Lors de sa création, la liste des sommets est vide. Il reste donc à la remplir, ce qui se fait par quelque chose qu'on n'a pas utilisé dans l'article précédent: Une boucle. Celle-ci est double (puisqu'il y a deux paramètres) et ses deux indices sont choisis entre 0 et 100 (pour i) et entre 0 et 49 (pour j). Pour passer de à , on multiplie i par pour avoir u. De même, :

faces