あ
blender python
円を作る
円の半径2
円の中心は
0,0,0
0,-2,0
1,-√3,0
-1,-√3,0
centers = [
(0, 0, 0),
(0, 2, 0),
(1, -math.sqrt(3), 0),
(-1, -math.sqrt(3), 0)
]
import bpy
import math
import bmesh
# 円の半径
radius = 2.0
# 4つの円の位置
positions = [
(0, 0, 0),
(0, -2, 0),
(1, -math.sqrt(3), 0),
(-1, -math.sqrt(3), 0)
]
# 4つの色を用意(より薄い青)
colors = [
(0.4, 0.8, 1.0, 1.0),
(0.3, 0.6, 1.0, 1.0),
(0.2, 0.4, 1.0, 1.0),
(1.0, 0.4, 0.3, 1.0)
]
# 4つの円を作成し、位置と名前と色を設定
for i, (position, color) in enumerate(zip(positions, colors)):
x, y, z = position
name = f"Circle_(x={x:.1f}, y={y:.1f}, z={z:.1f})"
# 新しいメッシュを作成
mesh = bpy.data.meshes.new(f"{name}_Mesh")
obj = bpy.data.objects.new(name, mesh)
# シーンに追加
scene = bpy.context.scene
scene.collection.objects.link(obj)
# メッシュを作成
bm = bmesh.new()
bmesh.ops.create_circle(bm, cap_ends=True, cap_tris=False, segments=64, radius=radius)
bm.to_mesh(mesh)
bm.free()
# オブジェクトの位置を設定
obj.location = position
# マテリアルを作成しオブジェクトに割り当てる
mat = bpy.data.materials.new(name=f"{name}_Material")
mat.use_nodes = False # ノードを使用しない
mat.diffuse_color = color
obj.data.materials.append(mat)
# 4つの円の位置
positions = [
(0, 0, 1),
(0, -2, 2),
(1, -math.sqrt(3), 3),
(-1, -math.sqrt(3), 4)
]
import bpy
import math
import bmesh
# 円の半径
radius = 2.0
# 4つの円の位置
positions = [
(0, 0, 1),
(0, -2, 2),
(1, -math.sqrt(3), 3),
(-1, -math.sqrt(3), 4)
]
# 4つの色を用意(より薄い青)
colors = [
(0.4, 0.8, 1.0, 1.0),
(0.3, 0.6, 1.0, 1.0),
(0.2, 0.4, 1.0, 1.0),
(1.0, 0.4, 0.3, 1.0)
]
# 4つの円を作成し、位置と名前と色を設定
for i, (position, color) in enumerate(zip(positions, colors)):
x, y, z = position
name = f"Circle_(x={x:.1f}, y={y:.1f}, z={z:.1f})"
# 新しいメッシュを作成
mesh = bpy.data.meshes.new(f"{name}_Mesh")
obj = bpy.data.objects.new(name, mesh)
# シーンに追加
scene = bpy.context.scene
scene.collection.objects.link(obj)
# メッシュを作成
bm = bmesh.new()
bmesh.ops.create_circle(bm, cap_ends=True, cap_tris=False, segments=64, radius=radius)
bm.to_mesh(mesh)
bm.free()
# オブジェクトの位置を設定
obj.location = position
# マテリアルを作成しオブジェクトに割り当てる
mat = bpy.data.materials.new(name=f"{name}_Material")
mat.use_nodes = False # ノードを使用しない
mat.diffuse_color = color
obj.data.materials.append(mat)
aaaa