目次
0.立方体を回転させよう
1.トーラスを回転させよう
2.サンプルコード
3.英単語まとめ
0.立方体を回転させよう
0-0.1つの立方体を回転させよう
◯1番シンプルな回転の方法です。
.py
import bpy
# 計算に必要なものがいろいろ入ってる
import math
# 立方体を追加する関数
bpy.ops.mesh.primitive_cube_add(
scale=(1, 1, 1),
#引数の追加
#math.piは180度のことなので math.pi * 1/6 = 30(度)
#X軸を中心に30度回転させる
rotation = (math.pi*1/6,0,0)
)
0-1.立方体を回転させて並べよう
◯少しずつずらして配置していきます。
.py
import bpy
import math
# 100回反復処理をする
for i in range(0,100):
bpy.ops.mesh.primitive_cube_add(
#少しずつ上にずらす
location=(0, 0, i/50),
scale=(1, 1, 0.05),
#180 * i * 10/360 = 5*i(度)ずつずらしていく
rotation = (0, 0, math.pi*i*10/360)
)
0-2.色をつけてみよう
◯上記のコードの応用です。
.py
import bpy
import math
# materialという変数を自分でつくる(materialは素材という意味)
material = bpy.data.materials.new('Red')
# 色を定義する(R,G,B,A)
material.diffuse_color = (1.0, 0.0, 0.0, 1.0)
#100回繰り返す
for i in range(0,100):
bpy.ops.mesh.primitive_cube_add(
#すこしずつ上にずらす
location=(0, 0, i/50),
scale=(1, 1, 0.05),
#少しずつ回転させる
rotation = (0, 0, math.pi*i*10/360)
)
#オブジェクトに自分で定義した色を追加する(appendは追加という意味)
bpy.context.object.data.materials.append(material)
1.トーラスを回転させよう
1-0.トーラスを変形させよう
.py
import bpy
# トーラスを追加する関数
bpy.ops.mesh.primitive_torus_add(
location=(0, 0, 0),
major_radius=1.0,
minor_radius=0.01,
rotation=(0, 0, 0)
)
# Y軸方向に縮める
bpy.ops.transform.resize(value=(1, 0.3, 1))
1-0.トーラスを回転させて並べよう
◯形を作った後に回転させる方法です。
.py
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,
)
#Y軸方向に縮める
bpy.ops.transform.resize(value=(1, 0.3, 1))
#Z軸を中心に回転する
bpy.ops.transform.rotate(value=math.pi*i*10/360,orient_axis='Z')
1-2.トーラスに色をつけよう
◯1つの軸を中心に回転させた後に、別の軸を中心に回転させています。
.py
import bpy
import math
# 材質の定義
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,
)
#Y軸方向に縮める
bpy.ops.transform.resize(value=(1, 0.3, 1))
#Z軸を中心に回転させる
bpy.ops.transform.rotate(value=math.pi*j*10/360,orient_axis='Z')
#Y軸を中心に回転させる
bpy.ops.transform.rotate(value=math.pi*i*10/360,orient_axis='Y')
#自分で定義した赤色を使う
bpy.context.object.data.materials.append(material)
2.サンプルコード
立方体を回転させるコード
.py
import bpy
# 計算に必要なものがいろいろ入ってる
import math
# 立方体を追加する関数
bpy.ops.mesh.primitive_cube_add(
scale=(1, 1, 1),
#引数の追加
#math.piは180度のことなので math.pi * 1/6 = 30(度)
#X軸を中心に30度回転させる
rotation = (math.pi*1/6,0,0)
)
立方体を回転させて並べていくコード
.py
import bpy
import math
# 100回反復処理をする
for i in range(0,100):
bpy.ops.mesh.primitive_cube_add(
#少しずつ上にずらす
location=(0, 0, i/50),
scale=(1, 1, 0.05),
#180 * i * 36(度)ずつずらしていく
rotation = (0, 0, math.pi*i*10/360)
)
並べた立方体に色をつけるコード
.py
import bpy
import math
# materialという変数を自分でつくる(materialは素材という意味)
material = bpy.data.materials.new('Red')
# 色を定義する(R,G,B,A)
material.diffuse_color = (1.0, 0.0, 0.0, 1.0)
#100回繰り返す
for i in range(0,100):
bpy.ops.mesh.primitive_cube_add(
#すこしずつ上にずらす
location=(0, 0, i/50),
scale=(1, 1, 0.05),
#少しずつ回転させる
rotation = (0, 0, math.pi*i*10/360)
)
#オブジェクトに自分で定義した色を追加する(appendは追加という意味)
bpy.context.object.data.materials.append(material)
トーラスを変形させるコード
.py
import bpy
# トーラスを追加する関数
bpy.ops.mesh.primitive_torus_add(
location=(0, 0, 0),
major_radius=1.0,
minor_radius=0.01,
rotation=(0, 0, 0)
)
# Y軸方向に縮める
bpy.ops.transform.resize(value=(1, 0.3, 1))
トーラスを回転させて並べるコード
.py
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,
)
#Y軸方向に縮める
bpy.ops.transform.resize(value=(1, 0.3, 1))
#Z軸を中心に回転する
bpy.ops.transform.rotate(value=math.pi*i*10/360,orient_axis='Z')
トーラスに色をつけて、2つの軸を中心に回転させるコード
.py
import bpy
import math
# 材質の定義
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,
)
#Y軸方向に縮める
bpy.ops.transform.resize(value=(1, 0.3, 1))
#Z軸を中心に回転させる
bpy.ops.transform.rotate(value=math.pi*j*10/360,orient_axis='Z')
#Y軸を中心に回転させる
bpy.ops.transform.rotate(value=math.pi*i*10/360,orient_axis='Y')
#自分で定義した赤色を使う
bpy.context.object.data.materials.append(material)
3.英単語まとめ
英単語 | 日本語訳 |
---|---|
import | 輸入する/手に入れる |
math | 数学 |
mesh | 頂点、辺、面の集合 |
scale | 大きさ |
primitive | 原始的な |
add | 追加する |
rotation | 回転 |
pi | π( = 180度) |
range | 幅 |
cube | 立方体 |
material | 素材 |
diffuse | 拡散、散乱 |
context | 文脈、環境 |
object | もの、物体 |
data | 情報 |
append | 加える、追加する |
major | 大きな |
minor | 小さな |
radius | 半径 |
transform | 変換 |
resize | 大きさの変更 |
axis | 軸 |
orient | 方向 |
rotate | 回転する |
rotation | 回転 |
value | 値 |
location | 位置、座標 |
operation | 運用、操作 |