« Programmation objet et géométrie/Objets Python sous Blender/Création de surfaces paramétrées avec bpy » : différence entre les versions
Ligne 19 : | Ligne 19 : | ||
<math>\left\{\begin{array}{l}x=sin(2u) sin^2 v\\ y=sin(u) sin(2v) \\ z=cos(u) sin(2v) \end{array}\right.</math> |
<math>\left\{\begin{array}{l}x=sin(2u) sin^2 v\\ y=sin(u) sin(2v) \\ z=cos(u) sin(2v) \end{array}\right.</math> |
||
avec <math>0 \leqslant u \leqslant \pi</math> et <math>0 \leqslant v \leqslant \pi</math>. |
|||
==sommets== |
|||
===Entête du fichier=== |
|||
Comme précédemment, on importe les classes Blender et bpy, mais aussi les fonctions trigonométriques et <math>\pi</math>, qui sont des méthodes (et propriété pour <math>\pi</math>) de l'objet ''math'': |
|||
<source lang="python"> |
|||
from Blender import * |
|||
import bpy |
|||
from math import pi, cos, sin |
|||
sommets=[] |
|||
</source> |
|||
===Liste des sommets=== |
|||
==faces== |
Version du 31 juillet 2010 à 20:49
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:
- la méthode des éléments finis en analyse numérique;
- la cohomologie en topologie.
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=[]