[Blender x Python] Maîtrisons la rotation !!

table des matières

  1. Faisons tourner le cube
  2. Faisons tourner le tore
  3. Exemple de code
  4. Résumé des mots anglais

0. Faisons tourner le cube

0-0.1 Faisons tourner un cube

◯ C'est la méthode de rotation la plus simple.

import bpy
#Contient diverses choses nécessaires au calcul
import math

#Fonction pour ajouter un cube
bpy.ops.mesh.primitive_cube_add(
    scale=(1, 1, 1),
    #Ajouter un argument
    #math.pi est de 180 degrés donc les maths.pi * 1/6 = 30(À chaque fois)
    #Rotation de 30 degrés autour de l'axe X
    rotation = (math.pi*1/6,0,0)
    )

スクリーンショット 2020-11-12 13.28.52.png

0-1. Faisons pivoter les cubes et alignons-les

◯ Nous les déplacerons petit à petit.

import bpy
import math

#Itérer 100 fois
for i in range(0,100):
    bpy.ops.mesh.primitive_cube_add(
        #Montez petit à petit
        location=(0, 0, i/50),
        scale=(1, 1, 0.05),
        #180 * i * 36(À chaque fois)Shift un par un
        rotation = (0, 0, math.pi*i*10/360)
        )

スクリーンショット 2020-11-12 13.47.06.png


0-2. Ajoutons de la couleur

◯ C'est une application du code ci-dessus.

import bpy
import math

#Créez vous-même une variable appelée matériau(matériau signifie matériau)
material = bpy.data.materials.new('Red')
#Définir la couleur(R,G,B,A)
material.diffuse_color = (1.0, 0.0, 0.0, 1.0)

 #Répétez 100 fois
for i in range(0,100):
    bpy.ops.mesh.primitive_cube_add(
        #Montez petit à petit
        location=(0, 0, i/50),
        scale=(1, 1, 0.05),
        #Tournez petit à petit
        rotation = (0, 0, math.pi*i*10/360)
        )
    #Ajoutez vos propres couleurs définies à l'objet(ajouter signifie ajouter)
    bpy.context.object.data.materials.append(material)

red.png


1. Faisons tourner le tore

1-0. Transformons le tore

import bpy

#Fonction pour ajouter un tore
bpy.ops.mesh.primitive_torus_add(
    location=(0, 0, 0),
    major_radius=1.0,
    minor_radius=0.01,
    rotation=(0, 0, 0)
    )
#Rétrécir dans la direction de l'axe Y
bpy.ops.transform.resize(value=(1, 0.3, 1))

スクリーンショット 2020-11-12 15.05.14.png


1-0. Faites pivoter le tore et alignez-le

◯ C'est une méthode de rotation après avoir créé une forme.

import bpy
import math

for i in range(0,36):
    bpy.ops.mesh.primitive_torus_add(
        location=(0, 0, 0),
        major_radius=1.0,
        minor_radius=0.01,
        )
    #Rétrécir dans la direction de l'axe Y
    bpy.ops.transform.resize(value=(1, 0.3, 1))
    #Rotation autour de l'axe Z
    bpy.ops.transform.rotate(value=math.pi*i*10/360,orient_axis='Z')

スクリーンショット 2020-11-12 16.21.08.png

1-2. Colorions le tore

◯ Après avoir tourné autour d'un axe, il est tourné autour d'un autre axe.

import bpy
import math

#Définition du matériau
material = bpy.data.materials.new('Red')
material.diffuse_color = (1.0, 0.0, 0.0, 1.0)

for i in range(0,36):
    for j in range(0,36):
        bpy.ops.mesh.primitive_torus_add(
            location=(0, 0, 0),
            major_radius=1.0,
            minor_radius=0.01,
            )
        #Rétrécir dans la direction de l'axe Y
        bpy.ops.transform.resize(value=(1, 0.3, 1))
        #Rotation autour de l'axe Z
        bpy.ops.transform.rotate(value=math.pi*j*10/360,orient_axis='Z')
        #Rotation autour de l'axe Y
        bpy.ops.transform.rotate(value=math.pi*i*10/360,orient_axis='Y')
        #Utilisez votre propre rouge défini
        bpy.context.object.data.materials.append(material)

スクリーンショット 2020-11-12 17.28.09.png

2. Exemple de code

Code pour faire pivoter le cube

import bpy
#Contient diverses choses nécessaires au calcul
import math

#Fonction pour ajouter un cube
bpy.ops.mesh.primitive_cube_add(
    scale=(1, 1, 1),
    #Ajouter un argument
    #math.pi est de 180 degrés, donc les maths.pi * 1/6 = 30(À chaque fois)
    #Rotation de 30 degrés autour de l'axe X
    rotation = (math.pi*1/6,0,0)
    )

Un code qui tourne et organise les cubes

import bpy
import math

#Itérer 100 fois
for i in range(0,100):
    bpy.ops.mesh.primitive_cube_add(
        #Montez petit à petit
        location=(0, 0, i/50),
        scale=(1, 1, 0.05),
        #180 * i * 36(À chaque fois)Shift un par un
        rotation = (0, 0, math.pi*i*10/360)
        )

Code pour colorer les cubes disposés

import bpy
import math

#Créez vous-même une variable appelée matériau(matériau signifie matériau)
material = bpy.data.materials.new('Red')
#Définir la couleur(R,G,B,A)
material.diffuse_color = (1.0, 0.0, 0.0, 1.0)

 #Répétez 100 fois
for i in range(0,100):
    bpy.ops.mesh.primitive_cube_add(
        #Montez petit à petit
        location=(0, 0, i/50),
        scale=(1, 1, 0.05),
        #Tournez petit à petit
        rotation = (0, 0, math.pi*i*10/360)
        )
    #Ajoutez vos propres couleurs définies à l'objet(ajouter signifie ajouter)
    bpy.context.object.data.materials.append(material)

Code qui transforme le tore

import bpy

#Fonction pour ajouter un tore
bpy.ops.mesh.primitive_torus_add(
    location=(0, 0, 0),
    major_radius=1.0,
    minor_radius=0.01,
    rotation=(0, 0, 0)
    )
#Rétrécir dans la direction de l'axe Y
bpy.ops.transform.resize(value=(1, 0.3, 1))

Code qui tourne et arrange le tore

import bpy
import math

for i in range(0,36):
    bpy.ops.mesh.primitive_torus_add(
        location=(0, 0, 0),
        major_radius=1.0,
        minor_radius=0.01,
        )
    #Rétrécir dans la direction de l'axe Y
    bpy.ops.transform.resize(value=(1, 0.3, 1))
    #Rotation autour de l'axe Z
    bpy.ops.transform.rotate(value=math.pi*i*10/360,orient_axis='Z')

Un code qui colore le tore et le fait tourner autour de deux axes

import bpy
import math

#Définition du matériau
material = bpy.data.materials.new('Red')
material.diffuse_color = (1.0, 0.0, 0.0, 1.0)

for i in range(0,36):
    for j in range(0,36):
        bpy.ops.mesh.primitive_torus_add(
            location=(0, 0, 0),
            major_radius=1.0,
            minor_radius=0.01,
            )
        #Rétrécir dans la direction de l'axe Y
        bpy.ops.transform.resize(value=(1, 0.3, 1))
        #Rotation autour de l'axe Z
        bpy.ops.transform.rotate(value=math.pi*j*10/360,orient_axis='Z')
        #Rotation autour de l'axe Y
        bpy.ops.transform.rotate(value=math.pi*i*10/360,orient_axis='Y')
        #Utilisez votre propre rouge défini
        bpy.context.object.data.materials.append(material)

3. Résumé des mots anglais

mots anglais Traduction en japonais
import importer/obtenir
math Math
mesh Ensemble de sommets, côtés, faces
scale Taille
primitive Primitif
add ajouter
rotation rotation
pi π( =180 degrés)
range largeur
cube cube
material Matériel
diffuse Diffus, dispersé
context Contexte, environnement
object Choses, objets
data information
append Ajouter, ajouter
major gros
minor petit
radius rayon
transform conversion
resize Redimensionner
axis axe
orient direction
rotate Tourner
rotation rotation
value valeur
location Position, coordonnées
operation Fonctionnement, fonctionnement

Recommended Posts

[Blender x Python] Maîtrisons la rotation !!
[Blender x Python] Maîtrisons au hasard !!
[Blender x Python] Maîtrisons le matériel !!
[Blender x Python] Commençons avec Blender Python !!
[Python] Maîtrisons tout et tout
[Blender x Python] Organisons une grande quantité de Susanne proprement !!
Extrusion Python Extrude de Blender 2.9
[Blender x Python] Pensez au code avec des symboles
Maître de manipulation de chaînes Python
Exécutez Blender avec python
mélangeur, python, comportement de la sphère
Blender 2.8, mise à l'échelle du cube Python
Faire fonctionner Blender avec Python
Aim Python Library Master (48) Autopep8
Aim Python Library Master (36) json2html
Voyons comment utiliser def en python
Utilisons Python Janome facilement
Aim Python Library Master (26) easyxml
compilateur x86 réalisé avec python
Aim python library master (29) table_printer
Espaces de noms Aim Python Library Master (55)
Aim Python Library Master (30) Chronyk
AIM Python Library Master (3) Workalendar
Aim Python Library Master (42) Speedrecorder
Aim Python Library Master (37) Slimurl
Aim Python Library Master (8) Rolex
Aim Python Library Master (52) Marktime
Aim Python Library Master (7) Numparser
Aim Python Library Master (21) hy
Viser les requêtes du maître de bibliothèque python (18)
Blender 2.9, Python Building, Voiture, Vidéo
Aim Python Library Master (13) Easydev
Aim Python Library Master (20) Pyyaml
Aim Python Library Master (34) simultané
Viser la segmentation de mots du maître de la bibliothèque python
mixeur, python, escalier en colimaçon, couleur
Aim Python Library Master (68) pazudorasolver
Aim Python Library Master (58) Faker
Aim Python Library Master (11) nlist
Aimez le maître de la bibliothèque python (38) beautiful_print
Aim Python Library Master (65) Geopy
Aim Python Library Master (2) Vincenty
Journal de bord Aim Python Library Master (59)
Aim Python Library Master (51) Pyautogui
Mettez Python 3.x dans Ubuntu
Aim Python Library Master (10) Timeit
Aim Python Library Master (0) Liens
Exécutez Tensorflow 2.x sur Python 3.7
Aim Python Library Master (66) youtube-dl
Aim Python Library Master (53) psutil
Aim Python Library Master (22) HTMltag
Aim Python Library Master (67) httpie
2.x, 3.x code de caractères des séries python
Blender 2.9, construction paire impaire Python