2023年3月22日水曜日

球体 50ランダム 再掲 改造

aaa





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

連番 007 未来光円錐 過去光円錐 円周中心からの球体放出

aaa 参考 2023年3月26日日曜日 製作 002b 未来光円錐の方向 線路レールで https://ia2023sha.blogspot.com/2023/03/002b.html import bpy import math zion_co...