コレクションを作る
名前
線路rail
視線方向
import bpy
# 新しいコレクションの名前を指定
collection_names = ["線路rail", "視線方向"]
# 重複を避けるためにコレクション名をセットに保持
existing_collection_names = set(bpy.data.collections.keys())
# コレクションを作成
for collection_name in collection_names:
if collection_name not in existing_collection_names:
new_collection = bpy.data.collections.new(collection_name)
bpy.context.scene.collection.children.link(new_collection)
existing_collection_names.add(collection_name) # 作成済みのコレクション名をセットに追加
-2,0,0から
0、1,0へ
角度を シータで
blender python
球体を作る
半径 0.01
名前は point
(-2,0,0)から (2,,0,0)
0.1 間隔で 作る
import bpy
# 球体の半径を指定
radius = 0.03
# 球体を作成する範囲を指定
start_x = -2
end_x = 2
interval = 0.1
# 球体を作成するループ
for x in range(int(start_x * 10), int(end_x * 10) + 1, int(interval * 10)):
# 球体の中心座標を計算
current_x = x / 10.0
location = (current_x, 0, 0)
# 球体を作成
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=location, segments=32, ring_count=16)
# 作成した球体の名前を設定
sphere = bpy.context.active_object
sphere.name = f"point_{current_x}"
# シーンを更新
bpy.context.view_layer.update()
-2,0,0から
0、1,0 方向へ
球体を作る
半径 0.01
名前は length root5 連番
0.1 間隔で11個 作る
-2,0,0から 0,1,0 の距離を求めて 0.1 で 割って その答えに1足した数の球体を等間隔で
理解しました。以下は、(-2, 0, 0)から(0, 1, 0)までの距離を求め、0.1で割ってその答えに1を足した数の球体を等間隔で作成するBlender Pythonスクリプトです。
22個の球体
import bpy
import math
# 球体の半径を指定
radius = 0.03
# 初期座標と目標座標を指定
start_coord = (-2, 0, 0)
end_coord = (0, 1, 0)
# 距離を計算
distance = math.sqrt(sum((end_coord[j] - start_coord[j])**2 for j in range(3)))
# 0.1で割って1を足した数
num_spheres = int(distance / 0.1) + 1
# 方向ベクトルを計算
direction_vector = [(end_coord[i] - start_coord[i]) / (num_spheres - 1) for i in range(3)]
# 球体を作成するループ
for i in range(num_spheres):
# 現在の座標を計算
current_coord = [start_coord[j] + i * direction_vector[j] for j in range(3)]
# 現在の座標までの距離を計算
distance_to_current = math.sqrt(sum((current_coord[j] - start_coord[j])**2 for j in range(3)))
# 距離が1.0以下の場合に球体を作成
if distance_to_current <= distance:
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=current_coord, segments=32, ring_count=16)
22個
# 初期座標と目標座標を指定
start_coord = (-2, 0, 0)
end_coord = (0, 1, 1)
import bpy
import math
# 球体の半径を指定
radius = 0.03
# 初期座標と目標座標を指定
start_coord = (-2, 0, 0)
end_coord = (0, 1, 1)
# 距離を計算
distance = math.sqrt(sum((end_coord[j] - start_coord[j])**2 for j in range(3)))
# 等間隔で球体を作成するループ
num_spheres = 22
for i in range(num_spheres):
# 現在の座標を計算
alpha = i / (num_spheres - 1)
current_coord = [start_coord[j] + alpha * (end_coord[j] - start_coord[j]) for j in range(3)]
# 球体を作成
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=current_coord, segments=32, ring_count=16)
22個
# 初期座標と目標座標を指定
start_coord = (-2, 0, 0)
end_coord = (0, 1, √5)
import bpy
import math
# 球体の半径を指定
radius = 0.03
# 初期座標と目標座標を指定
start_coord = (-2, 0, 0)
end_coord = (0, 1, math.sqrt(5))
# 距離を計算
distance = math.sqrt(sum((end_coord[j] - start_coord[j])**2 for j in range(3)))
# 等間隔で球体を作成するループ
num_spheres = 22
for i in range(num_spheres):
# 現在の座標を計算
alpha = i / (num_spheres - 1)
current_coord = [start_coord[j] + alpha * (end_coord[j] - start_coord[j]) for j in range(3)]
# 球体を作成
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=current_coord, segments=32, ring_count=16)
基本系 配布 001 単位円 torus と xyz軸 円柱
https://drive.google.com/file/d/1adh0pC0n5MUfaPnsQcab8CnTvHu_JqLg/view?usp=drive_link
基本系 配布 002 単位2長さ balls
https://drive.google.com/file/d/1vyg5oFWmw_TK8nwp5TmVSfLH94I6rTaY/view?usp=drive_link
基本系 配布 003 単位2長さ balls 光時計セット
https://drive.google.com/file/d/1u2Rn_nVBcewe39Vokua9C5n25cdivyyL/view?usp=drive_link
blender 基本系 配布 カタログ 2023 - zionad_mainのブログ https://mokuji000zionad.hatenablog.com/entry/2023/07/31/095208
以下 ChatGPT との対話 修正記録 と メモ・ノート
ああああああああああああああああああああああああああああああああああああああああああああ