16に個数減らし
# z軸 上半円
import bpy
import random
for i in range(16):
y = random.uniform(-30, 30)
z = (900 - y**2) ** 0.5
loc_a_start = (0, y, z)
print(loc_a_start)
# 球体の半径を設定
radius = 1.0
# 球体Aの初期位置と移動先の位置を設定
loc_a_end = (0, 0, 0)
# 球体Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
obj_a = bpy.context.object
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame_a = int((20 / 3.16227766017) * bpy.context.scene.render.fps) # 球体Aの移動が終わるフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame_a # アニメーションの終了フレームを設定
# キーフレームを設定する
obj_a.location = loc_a_start # 球体Aの開始位置を設定
obj_a.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj_a.location = loc_a_end # 球体Aの終了位置を設定
obj_a.keyframe_insert(data_path="location", frame=end_frame_a) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
# z軸 下半円
import bpy
import random
for i in range(16):
y = random.uniform(30, -30)
z = -(900 - y**2) ** 0.5
loc_a_start = (0, y, z)
print(loc_a_start)
# 球体の半径を設定
radius = 1.0
# 球体Aの初期位置と移動先の位置を設定
loc_a_end = (0, 0, 0)
# 球体Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
obj_a = bpy.context.object
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame_a = int((20 / 3.16227766017) * bpy.context.scene.render.fps) # 球体Aの移動が終わるフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame_a # アニメーションの終了フレームを設定
# キーフレームを設定する
obj_a.location = loc_a_start # 球体Aの開始位置を設定
obj_a.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj_a.location = loc_a_end # 球体Aの終了位置を設定
obj_a.keyframe_insert(data_path="location", frame=end_frame_a) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
#中心から 円周へ
# loc_a_start = (0, y, z) (0, 0, 0)
# loc_a_end = (0, 0, 0) (0, y, z)
# loc_a_start = (0, 0, 0)
# loc_a_end = (0, y, z)
# z軸 上半円
import bpy
import random
for i in range(16):
y = random.uniform(-30, 30)
z = (900 - y**2) ** 0.5
loc_a_start = (0, 0, 0)
print(loc_a_start)
# 球体の半径を設定
radius = 1.0
# 球体Aの初期位置と移動先の位置を設定
loc_a_end = (0, y, z)
# 球体Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
obj_a = bpy.context.object
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame_a = int((20 / 3.16227766017) * bpy.context.scene.render.fps) # 球体Aの移動が終わるフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame_a # アニメーションの終了フレームを設定
# キーフレームを設定する
obj_a.location = loc_a_start # 球体Aの開始位置を設定
obj_a.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj_a.location = loc_a_end # 球体Aの終了位置を設定
obj_a.keyframe_insert(data_path="location", frame=end_frame_a) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
# z軸 下半円
import bpy
import random
for i in range(16):
y = random.uniform(30, -30)
z = -(900 - y**2) ** 0.5
loc_a_start = (0, 0, 0)
print(loc_a_start)
# 球体の半径を設定
radius = 1.0
# 球体Aの初期位置と移動先の位置を設定
loc_a_end = (0, y, z)
# 球体Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
obj_a = bpy.context.object
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame_a = int((20 / 3.16227766017) * bpy.context.scene.render.fps) # 球体Aの移動が終わるフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame_a # アニメーションの終了フレームを設定
# キーフレームを設定する
obj_a.location = loc_a_start # 球体Aの開始位置を設定
obj_a.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj_a.location = loc_a_end # 球体Aの終了位置を設定
obj_a.keyframe_insert(data_path="location", frame=end_frame_a) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
さらに中心から
16に個数減らし
#Y と z を 逆転
import bpy
import random
for i in range(16):
y = random.uniform(-30, 30)
z = (900 - y**2) ** 0.5
loc_a_start = (0, y, z)
print(loc_a_start)
# 球体の半径を設定
radius = 2.0
# 球体Aの初期位置と移動先の位置を設定
loc_a_end = (0, 0, 0)
# 球体Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
obj_a = bpy.context.object
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame_a = int((20 / 3.16227766017) * bpy.context.scene.render.fps) # 球体Aの移動が終わるフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame_a # アニメーションの終了フレームを設定
# キーフレームを設定する
obj_a.location = loc_a_start # 球体Aの開始位置を設定
obj_a.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj_a.location = loc_a_end # 球体Aの終了位置を設定
obj_a.keyframe_insert(data_path="location", frame=end_frame_a) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
#Y と z を 逆転 sarani Y をマイナスからプラスに
import bpy
import random
for i in range(16):
y = random.uniform(30, -30)
z = (900 - y**2) ** 0.5
loc_a_start = (0, y, z)
print(loc_a_start)
# 球体の半径を設定
radius = 2.0
# 球体Aの初期位置と移動先の位置を設定
loc_a_end = (0, 0, 0)
# 球体Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
obj_a = bpy.context.object
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame_a = int((20 / 3.16227766017) * bpy.context.scene.render.fps) # 球体Aの移動が終わるフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame_a # アニメーションの終了フレームを設定
# キーフレームを設定する
obj_a.location = loc_a_start # 球体Aの開始位置を設定
obj_a.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj_a.location = loc_a_end # 球体Aの終了位置を設定
obj_a.keyframe_insert(data_path="location", frame=end_frame_a) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
y**2 + z**2= 900
#半径30の円周に 50ランダム球体
import bpy
import random
for i in range(50):
z = random.uniform(-30, 30)
y = (900 - z**2) ** 0.5
loc_a_start = (0, y, z)
print(loc_a_start)
# 球体の半径を設定
radius = 2.0
# 球体Aの初期位置と移動先の位置を設定
loc_a_end = (0, 0, 0)
# 球体Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
obj_a = bpy.context.object
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame_a = int((20 / 3.16227766017) * bpy.context.scene.render.fps) # 球体Aの移動が終わるフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame_a # アニメーションの終了フレームを設定
# キーフレームを設定する
obj_a.location = loc_a_start # 球体Aの開始位置を設定
obj_a.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj_a.location = loc_a_end # 球体Aの終了位置を設定
obj_a.keyframe_insert(data_path="location", frame=end_frame_a) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
#Y と z を 逆転
import bpy
import random
for i in range(50):
y = random.uniform(-30, 30)
z = (900 - y**2) ** 0.5
loc_a_start = (0, y, z)
print(loc_a_start)
# 球体の半径を設定
radius = 2.0
# 球体Aの初期位置と移動先の位置を設定
loc_a_end = (0, 0, 0)
# 球体Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
obj_a = bpy.context.object
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame_a = int((20 / 3.16227766017) * bpy.context.scene.render.fps) # 球体Aの移動が終わるフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame_a # アニメーションの終了フレームを設定
# キーフレームを設定する
obj_a.location = loc_a_start # 球体Aの開始位置を設定
obj_a.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj_a.location = loc_a_end # 球体Aの終了位置を設定
obj_a.keyframe_insert(data_path="location", frame=end_frame_a) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
#Y と z を 逆転 sarani Y をマイナスからプラスに
import bpy
import random
for i in range(50):
y = random.uniform(30, -30)
z = (900 - y**2) ** 0.5
loc_a_start = (0, y, z)
print(loc_a_start)
# 球体の半径を設定
radius = 2.0
# 球体Aの初期位置と移動先の位置を設定
loc_a_end = (0, 0, 0)
# 球体Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
obj_a = bpy.context.object
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame_a = int((20 / 3.16227766017) * bpy.context.scene.render.fps) # 球体Aの移動が終わるフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame_a # アニメーションの終了フレームを設定
# キーフレームを設定する
obj_a.location = loc_a_start # 球体Aの開始位置を設定
obj_a.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj_a.location = loc_a_end # 球体Aの終了位置を設定
obj_a.keyframe_insert(data_path="location", frame=end_frame_a) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
test
import bpy
import random
for i in range(50):
y = random.uniform(30, -30)
z = (900 - y**2) ** 0.5
loc_a_start = (0, 0, 0)
print(loc_a_start)
# 球体の半径を設定
radius = 2.0
# 球体Aの初期位置と移動先の位置を設定
loc_a_end = (0, y, z)
# 球体Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
obj_a = bpy.context.object
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame_a = int((20 / 3.16227766017) * bpy.context.scene.render.fps) # 球体Aの移動が終わるフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame_a # アニメーションの終了フレームを設定
# キーフレームを設定する
obj_a.location = loc_a_start # 球体Aの開始位置を設定
obj_a.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj_a.location = loc_a_end # 球体Aの終了位置を設定
obj_a.keyframe_insert(data_path="location", frame=end_frame_a) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
import bpy
import random
for i in range(50):
y = random.uniform(30, -30)
z = -(900 - y**2) ** 0.5
loc_a_start = (0, 0, 0)
print(loc_a_start)
# 球体の半径を設定
radius = 2.0
# 球体Aの初期位置と移動先の位置を設定
loc_a_end = (0, y, z)
# 球体Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
obj_a = bpy.context.object
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame_a = int((20 / 3.16227766017) * bpy.context.scene.render.fps) # 球体Aの移動が終わるフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame_a # アニメーションの終了フレームを設定
# キーフレームを設定する
obj_a.location = loc_a_start # 球体Aの開始位置を設定
obj_a.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj_a.location = loc_a_end # 球体Aの終了位置を設定
obj_a.keyframe_insert(data_path="location", frame=end_frame_a) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
import bpy
import math
# オブジェクトを作成する関数
def create_sphere(location):
bpy.ops.mesh.primitive_uv_sphere_add(location=location, size=1)
# 16個の球体を作成する
for i in range(16):
angle = 2 * i * 3.14159 / 16
x = 30 * cos(angle)
y = 30 * sin(angle)
z = 0
location = (x, y, z)
create_sphere(location)
bbb