C'est le code pour faire apparaître une Susanne présentée dans l'article précédent. Cette fois, nous appliquerons cela.
import bpy
bpy.ops.mesh.primitive_monkey_add(
size=2,
enter_editmode=False,
align='WORLD',
location=(0, 0, 0),
scale=(1, 1, 1)
)
Cela peut sembler long à première vue, mais c'était une histoire à laquelle vous pouvez penser simplement en ** faisant abstraction, compression et symbolisation d'informations ** (↓)
===>primitive_monkey_add(□,□,□,□,□)
Signification du code: Susanne apparaît. À ce moment-là, vous pouvez modifier la position et la taille.
◯ ** for loop ** est utilisé pour le traitement itératif. La clé pour comprendre le traitement itératif est
** Nombre de processus ** Quand ** Valeur numérique qui change avec le traitement **
** Pensez séparément **.
Je ne suis pas sûr pour le moment, mais ça va !!
◯ Le fait est que la valeur numérique qui change avec le traitement augmente de un.
import bpy
#i est 0 → 1 → 2 → 3 → 4
for i in range(0,5):
bpy.ops.mesh.primitive_monkey_add(
size=2,
enter_editmode=False,
align='WORLD',
#Attention ↓
location=(i, 0, 0),
scale=(1, 1, 1)
)
Lorsque le code ci-dessus est symbolisé (abstrait),
i → 0,1,2,3,4 : ===>primitive_monkey_add(□,□,□,□,□)
Appelez comme.
Sens: Chaque fois que je répète le processus, il augmente de ** 1. Si i satisfait ** 0 <= i <5 **, le processus de faire apparaître Susanne est exécuté. Ensuite, remplacez la valeur de i par la valeur de la coordonnée x.
Le nombre de traitements est de 5 fois La valeur numérique qui change avec le traitement est 0 → 1 → 2 → 3 → 4.
Lorsque vous faites cela, cela ressemblera à l'image ci-dessous. En quelque sorte mignon .. ??
◯ Point: ** plage (d'où à où) ** Il est utilisé pour déterminer la plage de traitement itératif.
◯ Le point est la partie où la coordonnée x de Susanne s'écrit ** i * 3 **. Le symbole * est un symbole de multiplication.
import bpy
#i est 0 → 1 → 2 → 3 → 4
for i in range(0,5):
bpy.ops.mesh.primitive_monkey_add(
size=2,
enter_editmode=False,
align='WORLD',
#Attention ↓
location=(i * 3, 0, 0),
scale=(1, 1, 1)
)
La coordonnée x de Susanne est i * 3. En d'autres termes Premier traitement (i = 0) → ** i * 3 = 0 ** Deuxième temps de traitement (i = 1) → ** i * 3 = 3 ** Troisième temps de traitement (i = 2) → ** i * 3 = 6 ** 4ème traitement (i = 3) → ** i * 3 = 9 ** 5ème processus (i = 4) → ** i * 3 = 12 **
◯ Le point est dans la plage ().
import bpy
#i est 0 → 3 → 6 → 9 → 12
for i in range(0,13,3):
bpy.ops.mesh.primitive_monkey_add(
size=2,
enter_editmode=False,
align='WORLD',
#Attention ↓
location=(i, 0, 0),
scale=(1, 1, 1)
)
range () peut être `` range (first value, last value, step) '' Vous pouvez décider du nombre de numéros que vous souhaitez ignorer ** dans la plage allant du premier au dernier numéro.
En d'autres termes, pour i dans la plage (0,13,3):
signifie que tous les trois nombres de 0 sont sélectionnés et affectés à i, qui est répété dans la plage de i <13.
⬇️
0 1 2 3 4 5 6 7 8 9 10 11 12
Premier traitement → ** i = 0 ** Deuxième temps de traitement → ** i = 3 ** 3ème traitement → ** i = 6 ** 4ème traitement → ** i = 9 ** 5ème processus → ** i = 12 **
Le fait est que ** une autre boucle for se trouve à l'intérieur de la boucle for **.
import bpy
#i est 0 → 3 → 6 → 9 → 12
for i in range(0,13,3):
for j in range(0,13,3):
bpy.ops.mesh.primitive_monkey_add(
size=2,
enter_editmode=False,
align='WORLD',
#Attention ↓
location=(i, j, 0),
scale=(1, 1, 1)
)
Lorsqu'il est symbolisé (abstrait),
i = 0→3→6→9→12:
j = 0→3→6→9→12:
===>primitive_monkey_add(□,□,□,□,□)
Appelez comme.
c'est,
( i , j ) = (0,0),(0,3),(0,6),(0,9),(0,12),
(3,0),(3,3),(3,6),(3,9),(3,12),
(6,0),(6,3),(6,6),(9,9),(12,12),
(9,0),(9,3),(9,6),(9,9),(9,12),
(12,0),(12,3),(12,6),(12,9),(12,12)
à propos de ça.
◯ C'est l'application mentionnée précédemment.
import bpy
for i in range(0,13,3):
for j in range(0,13,3):
for k in range(0,13,3):
bpy.ops.mesh.primitive_monkey_add(
size=2,
enter_editmode=False,
align='WORLD',
#Attention ↓
location=(i, j, k),
scale=(1, 1, 1)
)
◯ Seul l'exemple de code est résumé.
import bpy
bpy.ops.mesh.primitive_monkey_add(
size=2,
enter_editmode=False,
align='WORLD',
location=(0, 0, 0),
scale=(1, 1, 1)
)
import bpy
#i est 0 → 1 → 2 → 3 → 4
for i in range(0,5):
bpy.ops.mesh.primitive_monkey_add(
size=2,
enter_editmode=False,
align='WORLD',
#Attention ↓
location=(i, 0, 0),
scale=(1, 1, 1)
)
import bpy
#i est 0 → 1 → 2 → 3 → 4
for i in range(0,5):
bpy.ops.mesh.primitive_monkey_add(
size=2,
enter_editmode=False,
align='WORLD',
#Attention ↓
location=(i * 3, 0, 0),
scale=(1, 1, 1)
)
import bpy
#i est 0 → 3 → 6 → 9 → 12
for i in range(0,13,3):
bpy.ops.mesh.primitive_monkey_add(
size=2,
enter_editmode=False,
align='WORLD',
#Attention ↓
location=(i, 0, 0),
scale=(1, 1, 1)
)
import bpy
#i est 0 → 3 → 6 → 9 → 12
for i in range(0,13,3):
for j in range(0,13,3):
bpy.ops.mesh.primitive_monkey_add(
size=2,
enter_editmode=False,
align='WORLD',
#Attention ↓
location=(i, j, 0),
scale=(1, 1, 1)
)
import bpy
for i in range(0,13,3):
for j in range(0,13,3):
for k in range(0,13,3):
bpy.ops.mesh.primitive_monkey_add(
size=2,
enter_editmode=False,
align='WORLD',
#Attention ↓
location=(i, j, k),
scale=(1, 1, 1)
)
import bpy
import math
#Attribuer un numéro à une variable
#Pour faciliter la modification des numéros
n = 12
r = 10.0
for i in range(0, n):
rad = 2 * math.pi * i /n #Calcul de l'angle 2π i/n
x = r * math.cos(rad) #rayon de calcul des coordonnées x*cosθ
y = r * math.sin(rad) #rayon de calcul des coordonnées y*sinθ
bpy.ops.mesh.primitive_monkey_add(
size=2,
enter_editmode=False,
align='WORLD',
#Attention ↓
location=(x, y, 0),
scale=(1, 1, 1)
)
import bpy
import math
n = 144
r = 10.0
for i in range(0, n):
rad = 2 * math.pi * i /24 #Calcul de l'angle 2π i/24
x = (r * i)/10 * math.cos(rad) #rayon de calcul des coordonnées x*cosθ
y = (r * i)/10 * math.sin(rad) #rayon de calcul des coordonnées y*sinθ
bpy.ops.mesh.primitive_monkey_add(
size=2,
enter_editmode=False,
align='WORLD',
#Attention ↓
location=(x, y, 0),
scale=(1, 1, 1)
)
import bpy
import math
n = 144
r = 10.0
for i in range(0, n):
rad = 2 * math.pi * i /12 #Calcul de l'angle 2π i/12
x = r * math.cos(rad) #rayon de calcul des coordonnées x*cosθ
y = r * math.sin(rad) #rayon de calcul des coordonnées y*sinθ
bpy.ops.mesh.primitive_monkey_add(
size=2,
enter_editmode=False,
align='WORLD',
#Attention ↓
location=(x, y, i),
scale=(1, 1, 1)
)
Recommended Posts