線路レール長さ 観察者の トーラス円周 半径1 √2 √5
配布ファイル blenderzionad
配布 20230417 基本 円周 トーラス 003 線路 色付き
2023-04-18
ファイル Dürer & 測距儀2022c084 連番 013 正三角形2つ と 補正の関係
https://blenderzionad.hatenablog.com/entry/2023/04/18/100045
import bpy
# コレクションを作成
collection_name = "観察者 torus"
if collection_name not in bpy.data.collections:
zionad_collection = bpy.data.collections.new(collection_name)
bpy.context.scene.collection.children.link(zionad_collection)
else:
zionad_collection = bpy.data.collections[collection_name]
#あああああああああああああああああああああ
import bpy
# カメラの位置を変更する
bpy.data.objects['Camera'].location = (0, 0, 10)
# ライトの位置を変更する
bpy.data.objects['Light'].location = (0, 0, 20)
#あああああああああああああああああああああ
# 観察者 半径 1の トーラス
import bpy
from math import radians
# トーラスを作成する
bpy.ops.mesh.primitive_torus_add(major_radius=1, minor_radius=0.05)
# 回転させる軸を選択する
zion_xyz = 'zana'
if zion_xyz == 'xana':
# 軸を中心に90度回転させる
bpy.context.object.rotation_euler[0] = radians(0)
bpy.context.object.rotation_euler[1] = radians(90)
bpy.context.object.rotation_euler[2] = radians(0)
# X軸方向に伸ばす
bpy.context.object.scale[0] = 1
bpy.context.object.scale[1] = 1
bpy.context.object.scale[2] = 1
elif zion_xyz == 'yana':
# 軸を中心に90度回転させる
bpy.context.object.rotation_euler[0] = radians(90)
bpy.context.object.rotation_euler[1] = radians(0)
bpy.context.object.rotation_euler[2] = radians(0)
# Y軸方向に伸ばす
bpy.context.object.scale[0] = 3
bpy.context.object.scale[1] = 3
bpy.context.object.scale[2] = 3
elif zion_xyz == 'zana':
# Z軸を中心に90度回転させる
bpy.context.object.rotation_euler[0] = radians(0)
bpy.context.object.rotation_euler[1] = radians(0)
bpy.context.object.rotation_euler[2] = radians(0)
# Z軸方向に伸ばす
bpy.context.object.scale[0] = 1
bpy.context.object.scale[1] = 1
bpy.context.object.scale[2] = 1
# 中心を移動する
bpy.context.object.location[0] = 0
bpy.context.object.location[1] = -1
bpy.context.object.location[2] = 0
else:
print('Invalid rotation axis selected.')
# トーラスを選択する
bpy.context.view_layer.objects.active = bpy.context.selected_objects[0]
# オブジェクト名
bpy.context.object.name = "観察 1 radius"
# 観察者 半径 √2の トーラス
import bpy
from math import radians, sqrt
# 半径を設定する
radius = sqrt(2)
# トーラスを作成する
bpy.ops.mesh.primitive_torus_add(major_radius=radius, minor_radius=0.05)
# 回転させる軸を選択する
zion_xyz = 'zana'
if zion_xyz == 'xana':
# 軸を中心に90度回転させる
bpy.context.object.rotation_euler[0] = radians(0)
bpy.context.object.rotation_euler[1] = radians(90)
bpy.context.object.rotation_euler[2] = radians(0)
# X軸方向に伸ばす
bpy.context.object.scale[0] = 1
bpy.context.object.scale[1] = 1
bpy.context.object.scale[2] = 1
elif zion_xyz == 'yana':
# 軸を中心に90度回転させる
bpy.context.object.rotation_euler[0] = radians(90)
bpy.context.object.rotation_euler[1] = radians(0)
bpy.context.object.rotation_euler[2] = radians(0)
# Y軸方向に伸ばす
bpy.context.object.scale[0] = 3
bpy.context.object.scale[1] = 3
bpy.context.object.scale[2] = 3
elif zion_xyz == 'zana':
# Z軸を中心に90度回転させる
bpy.context.object.rotation_euler[0] = radians(0)
bpy.context.object.rotation_euler[1] = radians(0)
bpy.context.object.rotation_euler[2] = radians(0)
# Z軸方向に伸ばす
bpy.context.object.scale[0] = 1
bpy.context.object.scale[1] = 1
bpy.context.object.scale[2] = 1
# 中心を移動する
bpy.context.object.location[0] = 0
bpy.context.object.location[1] = -1
bpy.context.object.location[2] = 0
else:
print('Invalid rotation axis selected.')
# トーラスを選択する
bpy.context.view_layer.objects.active = bpy.context.selected_objects[0]
# オブジェクト名を設定する
bpy.context.object.name = "観察 √2 radius"
# 観察者 半径 √5の トーラス
import bpy
from math import radians, sqrt
# 半径を設定する
radius = sqrt(5)
# トーラスを作成する
bpy.ops.mesh.primitive_torus_add(major_radius=radius, minor_radius=0.05)
# 回転させる軸を選択する
zion_xyz = 'zana'
if zion_xyz == 'xana':
# 軸を中心に90度回転させる
bpy.context.object.rotation_euler[0] = radians(0)
bpy.context.object.rotation_euler[1] = radians(90)
bpy.context.object.rotation_euler[2] = radians(0)
# X軸方向に伸ばす
bpy.context.object.scale[0] = 1
bpy.context.object.scale[1] = 1
bpy.context.object.scale[2] = 1
elif zion_xyz == 'yana':
# 軸を中心に90度回転させる
bpy.context.object.rotation_euler[0] = radians(90)
bpy.context.object.rotation_euler[1] = radians(0)
bpy.context.object.rotation_euler[2] = radians(0)
# Y軸方向に伸ばす
bpy.context.object.scale[0] = 3
bpy.context.object.scale[1] = 3
bpy.context.object.scale[2] = 3
elif zion_xyz == 'zana':
# Z軸を中心に90度回転させる
bpy.context.object.rotation_euler[0] = radians(0)
bpy.context.object.rotation_euler[1] = radians(0)
bpy.context.object.rotation_euler[2] = radians(0)
# Z軸方向に伸ばす
bpy.context.object.scale[0] = 1
bpy.context.object.scale[1] = 1
bpy.context.object.scale[2] = 1
# 中心を移動する
bpy.context.object.location[0] = 0
bpy.context.object.location[1] = -1
bpy.context.object.location[2] = 0
else:
print('Invalid rotation axis selected.')
# トーラスを選択する
bpy.context.view_layer.objects.active = bpy.context.selected_objects[0]
# オブジェクト名を設定する
bpy.context.object.name = "観察 √5 radius"