2023年10月4日水曜日

20231005 立方体と 光線

ああああああああああああああああああああああああああああああああああああああああああああ



blender python


1x1x1の 立方体を作る

中心 000



import bpy


# 新しいメッシュオブジェクトを作成

bpy.ops.mesh.primitive_cube_add(size=1, location=(0, 0, 0))


# オブジェクトを選択状態にする

obj = bpy.context.active_object

bpy.context.view_layer.objects.active = obj

obj.select_set(True)









この立方体を通過する
長さ3の円柱 半径 0.03を

ランダムに 10本描く

import bpy

import random

from mathutils import Vector


# 選択されているオブジェクトをクリア

bpy.ops.object.select_all(action='DESELECT')

bpy.ops.object.select_by_type(type='MESH')

bpy.ops.object.delete()


# 立方体を作成

bpy.ops.mesh.primitive_cube_add(size=1, location=(0, 0, 0))

cube = bpy.context.active_object


# 円柱を10本ランダムに描く

for _ in range(10):

    # ランダムな位置を生成

    random_position = Vector((random.uniform(-0.5, 0.5), random.uniform(-0.5, 0.5), random.uniform(-0.5, 0.5)))


    # 円柱を作成

    bpy.ops.mesh.primitive_cylinder_add(radius=0.03, depth=3, location=random_position)


# 立方体を選択

cube.select_set(True)

bpy.context.view_layer.objects.active = cube






円柱をランダムに回転させ、方向を変える




import bpy

import random

from mathutils import Vector, Euler


# 選択されているオブジェクトをクリア

bpy.ops.object.select_all(action='DESELECT')

bpy.ops.object.select_by_type(type='MESH')

bpy.ops.object.delete()


# 立方体を作成

bpy.ops.mesh.primitive_cube_add(size=1, location=(0, 0, 0))

cube = bpy.context.active_object


# 円柱を10本ランダムに描く

for _ in range(10):

    # ランダムな位置を生成

    random_position = Vector((random.uniform(-0.5, 0.5), random.uniform(-0.5, 0.5), random.uniform(-0.5, 0.5)))


    # ランダムな回転を生成(オイラー角度)

    random_rotation = Euler((random.uniform(0, 2 * 3.1416), random.uniform(0, 2 * 3.1416), random.uniform(0, 2 * 3.1416)), 'XYZ')


    # 円柱を作成

    bpy.ops.mesh.primitive_cylinder_add(radius=0.03, depth=3, location=random_position, rotation=random_rotation)


# 立方体を選択

cube.select_set(True)

bpy.context.view_layer.objects.active = cube


 


立方体を 水色透明にして




import bpy



# 立方体を作成

bpy.ops.mesh.primitive_cube_add(size=1, location=(0, 0, 0))

cube = bpy.context.active_object


# 立方体のマテリアルを作成

mat = bpy.data.materials.new(name="TransparentBlue")

mat.use_nodes = False  # ノードを使用しない


# マテリアルの色を水色に設定

mat.diffuse_color = (0, 0.5, 1, 0.5)  # RGBAの色と透明度


# 立方体にマテリアルを割り当て

cube.data.materials.append(mat)


# 立方体を選択

cube.select_set(True)

bpy.context.view_layer.objects.active = cube