import bpy
# List of collection names
collection_names = [
"100% 光線軌跡 球体",
"87% 光線軌跡 球体",
"50% 光線軌跡 球体",
"0% 光線軌跡 球体",
"光時計_床面円錐",
"円中心 (0, 0, 0)",
"円中心 (3^(0.5), 0, 0)",
"円中心 (0.5, 0, 0)",
"円中心 (1, 0, 0)",
"円中心 (2, 0, 0)",
"xyz 軸 円柱"
]
# Function to create a new collection if it doesn't exist
def create_collection_if_not_exists(name):
if name not in bpy.data.collections:
collection = bpy.data.collections.new(name)
bpy.context.scene.collection.children.link(collection)
# Create collections
for name in collection_names:
create_collection_if_not_exists(name)
blender python
COLLECTIONの名前を
100% 光線軌跡 球体
87% 光線軌跡 球体
√2光線先端
2
3
4
5っっf
このように並べて
作れるスクリプト 作って
import bpy
# 新しいCOLLECTIONの名前のリスト
new_names = [
"100% 光線軌跡 球体",
"87% 光線軌跡 球体",
"√2光線先端",
"2",
"3",
"4",
"5っっf"
]
# COLLECTONの名前を変更する関数
def rename_collection(old_name, new_name):
bpy.context.view_layer.layer_collection.children[old_name].name = new_name
# 現在のCOLLECTIONの名前を取得
current_names = [collection.name for collection in bpy.context.view_layer.layer_collection.children]
# 名前の数が同じであることを確認
if len(current_names) == len(new_names):
# 各COLLECTIONの名前を変更
for old_name, new_name in zip(current_names, new_names):
rename_collection(old_name, new_name)
print("COLLECTIONの名前が変更されました。")
else:
print("COLLECTIONの数が一致しません。")
球体半径0.06 を 等間隔に
11個 作る
以下の間に
000から
1,1,1 へ
名付けは "to(1,1,1) 連番"
半径が0.06の球体を11個、等間隔に配置し、それぞれを(0, 0, 0)から(1, 1, 1)に向かって移動させます。そして、名前は "to(1,1,1) 連番" の形式
import bpy
import math
# 球体の数
sphere_count = 11
# 初期位置
start_location = (0, 0, 0)
# 移動先の位置
end_location = (1, 1, 1)
# 球体の半径
radius = 0.06
# 連番で球体を生成
for i in range(sphere_count):
t = i / (sphere_count - 1) # 連番を[0, 1]の範囲に正規化
x = start_location[0] + t * (end_location[0] - start_location[0]) # x座標を計算
y = start_location[1] + t * (end_location[1] - start_location[1]) # y座標を計算
z = start_location[2] + t * (end_location[2] - start_location[2]) # z座標を計算
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=(x, y, z), segments=32, ring_count=16)
bpy.context.object.name = f"to(1,1,1)_{i}" # 球体の名前を設定
# 3Dビューを更新
bpy.context.view_layer.update()
print("Spheres created and arranged.")
000から
0,1,1 へ
名付けは "to(0,1,1) 連番"
import bpy
import math
# 球体の数
sphere_count = 11
# 初期位置
start_location = (0, 0, 0)
# 移動先の位置
end_location = (0, 1, 1)
# 球体の半径
radius = 0.06
# 連番で球体を生成
for i in range(sphere_count):
t = i / (sphere_count - 1) # 連番を[0, 1]の範囲に正規化
x = start_location[0] + t * (end_location[0] - start_location[0]) # x座標を計算
y = start_location[1] + t * (end_location[1] - start_location[1]) # y座標を計算
z = start_location[2] + t * (end_location[2] - start_location[2]) # z座標を計算
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=(x, y, z), segments=32, ring_count=16)
bpy.context.object.name = f"to(0,1,1)_{i}" # 球体の名前を設定
# 3Dビューを更新
bpy.context.view_layer.update()
print("Spheres created and arranged.")
000から
0.87,1,1 へ
名付けは "to(0.87,1,1) 連番"
import bpy
import math
# 球体の数
sphere_count = 11
# 初期位置
start_location = (0, 0, 0)
# 移動先の位置
end_location = (0.87, 1, 1)
# 球体の半径
radius = 0.06
# 連番で球体を生成
for i in range(sphere_count):
t = i / (sphere_count - 1) # 連番を[0, 1]の範囲に正規化
x = start_location[0] + t * (end_location[0] - start_location[0]) # x座標を計算
y = start_location[1] + t * (end_location[1] - start_location[1]) # y座標を計算
z = start_location[2] + t * (end_location[2] - start_location[2]) # z座標を計算
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=(x, y, z), segments=32, ring_count=16)
bpy.context.object.name = f"to(0.87,1,1)_{i}" # 球体の名前を設定
# 3Dビューを更新
bpy.context.view_layer.update()
print("Spheres created and arranged.")
000から
0.5,1,1 へ
名付けは "to(0.5,1,1) 連番"
import bpy
import math
# 球体の数
sphere_count = 11
# 初期位置
start_location = (0, 0, 0)
# 移動先の位置
end_location = (0.5, 1, 1)
# 球体の半径
radius = 0.06
# 連番で球体を生成
for i in range(sphere_count):
t = i / (sphere_count - 1) # 連番を[0, 1]の範囲に正規化
x = start_location[0] + t * (end_location[0] - start_location[0]) # x座標を計算
y = start_location[1] + t * (end_location[1] - start_location[1]) # y座標を計算
z = start_location[2] + t * (end_location[2] - start_location[2]) # z座標を計算
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=(x, y, z), segments=32, ring_count=16)
bpy.context.object.name = f"to(0.5,1,1)_{i}" # 球体の名前を設定
# 3Dビューを更新
bpy.context.view_layer.update()
print("Spheres created and arranged.")
000で円錐を作り
長さ0.06
半径 0.02
1.0,0,0 に 移動
名付けは "cone(x=1.0) 連番"
import bpy
# 円錐の数
cone_count = 5 # 適切な数に変更してください
# 球体の半径と長さ
radius = 0.02
depth = 0.06
# 位置を (1.0, 0, 0) に設定
start_location = (1.0, 0, 0)
# 連番で円錐を生成(位置を変更)
for i in range(cone_count):
# 円錐の作成
bpy.ops.mesh.primitive_cone_add(vertices=32, radius1=radius, depth=depth, location=start_location, rotation=(0, 0, 0))
# オブジェクトを選択
cone_object = bpy.context.object
# 名前の設定
cone_object.name = f"cone(x=1.0)_{i}"
# 移動
start_location[1] += 1 # y座標を変更
# 3Dビューを更新
bpy.context.view_layer.update()
import bpy
# 円錐の数
cone_count = 1 # 適切な数に変更してください
# 球体の半径と長さ
radius = 0.02 # radiusを0.02に変更
depth = 0.06
# 初期位置
start_location = (0.5, 0, 0)
# 連番で円錐を生成
for i in range(cone_count):
# 円錐の作成
bpy.ops.mesh.primitive_cone_add(vertices=32, radius1=radius, depth=depth, location=start_location, rotation=(0, 0, 0))
# オブジェクトを選択
cone_object = bpy.context.object
# 名前の設定
cone_object.name = f"cone(x=0.5)_{i}"
# 移動
start_location[1] += 1 # y座標を変更
# 3Dビューを更新
bpy.context.view_layer.update()
同じことを
0と
0.87 で やる
円錐を生成するBlender Pythonスクリプトです。このスクリプトでは、各円錐を depth = 0.06 で、位置を (0.0, 0, 0)、(0.87, 0, 0) に移動し、名前はそれぞれ "cone(x=0.0)"、"cone(x=0.87)" に連番がつくようになります
import bpy
# 円錐の数
cone_count = 2
# 球体の半径と長さ
radius = 0.02
depth = 0.06
# 初期位置
start_locations = [[0.0, 0, 0], [0.87, 0, 0]]
# 位置ごとにループ
for start_location in start_locations:
# 連番で円錐を生成(位置を変更)
for i in range(cone_count):
# 円錐の作成
bpy.ops.mesh.primitive_cone_add(vertices=32, radius1=radius, depth=depth, location=start_location, rotation=(0, 0, 0))
# オブジェクトを選択
cone_object = bpy.context.object
# 名前の設定
x_value = start_location[0]
cone_object.name = f"cone(x={x_value})_{i}"
# 移動
start_location[1] += 1 # y座標を変更
# 3Dビューを更新
bpy.context.view_layer.update()
ああああああああああああああああああああああああああああああああああああああああああああ
与えられた情報に基づいて、列車の長さ L が半分になる場合の速度を求めましょう。与えられた関係式はローレンツ収縮を表しています:
ここで、L0 は静止している参照系での列車の長さ、v は列車の速度、c は光速です。与えられている値は c=299792.458km/s です。
列車の長さが半分になる場合、L′=21L0 となります。この条件を元に、速度 v を求めましょう。
21L0=L01−c2v2この式を整理して解くと:
これを具体的な数値で計算します:
v=23×299792.458km/s≈259,807.6km/s従って、列車の長さが半分になる速度は、おおよそ 259,807.6km/s です。これを元に光速度に対する割合を計算すると:
299,792.458259,807.6≈0.866これは約 86.6% になります。おそらく、あなたが言及している 87% に非常に近い値です。おっしゃる通り、約 87% の速度で列車が移動すると、列車の長さが半分になります。
https://keisan.casio.jp/exec/system/1161228696
基本系 配布 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