2023年3月19日日曜日

正方形の穴の空いた 円の周りを廻る立方体

aaa

blender 3.4.1 python スクリプト 書いて 
冒頭に import math 挿入 
RGBA値を使用して
mat.diffuse_color = (0.39, 0.7, 0.5, 0.5)

内容は 

半径30のサークル 紫色に塗って

このサークル内に 正方形をくり抜く
この正方形が サークル内を動く









import bpy
import math

# サークルを作成する
bpy.ops.mesh.primitive_circle_add(radius=30, fill_type='NGON')
obj = bpy.context.active_object

# サークルを紫色に塗る
mat = bpy.data.materials.new(name="CircleMat")
mat.diffuse_color = (0.39, 0.5, 0.7, 0.5)
obj.data.materials.append(mat)

# カット用の正方形を作成する
bpy.ops.mesh.primitive_cube_add(size=30)
cutting_obj = bpy.context.active_object

# カット用の正方形をサークルの中心に移動する
cutting_obj.location = obj.location

# カット用の正方形を選択して、サークルを選択状態にする
bpy.ops.object.select_all(action='DESELECT')
cutting_obj.select_set(True)
obj.select_set(True)
bpy.context.view_layer.objects.active = obj

# カット用の正方形でサークルをカットする
bpy.ops.object.modifier_add(type='BOOLEAN')
bpy.context.object.modifiers["Boolean"].operation = 'DIFFERENCE'
bpy.context.object.modifiers["Boolean"].object = cutting_obj
bpy.ops.object.modifier_apply(modifier="Boolean")

# カット用の正方形を削除する
bpy.ops.object.select_all(action='DESELECT')
cutting_obj.select_set(True)
bpy.ops.object.delete()

# サークル内を動く正方形を作成する
bpy.ops.mesh.primitive_cube_add(size=5)
moving_obj = bpy.context.active_object

# サークル内を動く正方形のアニメーションを作成する
total_time = 20  # 20秒で一周
frame_rate = bpy.context.scene.render.fps
total_frames = int(frame_rate * total_time)

bpy.ops.object.select_all(action='DESELECT')
moving_obj.select_set(True)
bpy.context.view_layer.objects.active = moving_obj

for i in range(total_frames):
    angle = 2 * math.pi * (i / total_frames)
    x = 60 * math.cos(angle)
    y = 60 * math.sin(angle)
    moving_obj.location = (x, y, 0)
    moving_obj.keyframe_insert(data_path="location", frame=i)

# アニメーション再生する
bpy.ops.screen.animation_play()

































bbb

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

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