import bpy
# 十字の長さ
cross_length = 2
# 十字の幅
cross_width = 0.2
# 十字を描く関数
def draw_cross():
# 十字の縦線を描く
bpy.ops.mesh.primitive_cube_add(size=cross_length, location=(0, 0, 0))
vertical_line = bpy.context.object
vertical_line.scale[1] = cross_width
vertical_line.name = "vertical_line"
# 十字の横線を描く
bpy.ops.mesh.primitive_cube_add(size=cross_length, location=(0, 0, 0))
horizontal_line = bpy.context.object
horizontal_line.scale[0] = cross_width
horizontal_line.name = "horizontal_line"
# 十字のもう1つの方向の線を描く
bpy.ops.mesh.primitive_cube_add(size=cross_length, location=(0, 0, 0))
depth_line = bpy.context.object
depth_line.scale[2] = cross_width
depth_line.name = "depth_line"
# オレンジの色を設定
orange_material = bpy.data.materials.new(name="オレンジ")
orange_material.diffuse_color = (1, 0.5, 0, 1) # RGB値でオレンジ色を設定
vertical_line.data.materials.append(orange_material)
horizontal_line.data.materials.append(orange_material)
depth_line.data.materials.append(orange_material)
# 十字を描く
draw_cross()
十字の幅を0.04に設定し、現在の色の補色になるように調整
import bpy
# 十字の長さ
cross_length = 2
# 十字の幅
cross_width = 0.04
# 補色を計算する関数
def calculate_complementary_color(color):
# 色の補色を計算
complementary_color = (1.0 - color[0], 1.0 - color[1], 1.0 - color[2], 1.0)
return complementary_color
# 十字を描く関数
def draw_cross():
# 十字の縦線を描く
bpy.ops.mesh.primitive_cube_add(size=cross_length, location=(0, 0, 0))
vertical_line = bpy.context.object
vertical_line.scale[1] = cross_width
vertical_line.name = "vertical_line"
# 十字の横線を描く
bpy.ops.mesh.primitive_cube_add(size=cross_length, location=(0, 0, 0))
horizontal_line = bpy.context.object
horizontal_line.scale[0] = cross_width
horizontal_line.name = "horizontal_line"
# 十字のもう1つの方向の線を描く
bpy.ops.mesh.primitive_cube_add(size=cross_length, location=(0, 0, 0))
depth_line = bpy.context.object
depth_line.scale[2] = cross_width
depth_line.name = "depth_line"
# 現在の色の補色を計算
current_color = bpy.context.scene.world.node_tree.nodes['Background'].inputs['Color'].default_value
complementary_color = calculate_complementary_color(current_color)
# 補色を設定
for obj in [vertical_line, horizontal_line, depth_line]:
complementary_material = bpy.data.materials.new(name="補色")
complementary_material.diffuse_color = complementary_color[:3] # RGB値で補色を設定
obj.data.materials.append(complementary_material)
# 十字を描く
draw_cross()
import bpy
# 立方体の辺の長さ
cube_size = 2
# 透明度が20%の水色で立方体を作成する関数
def create_cube():
bpy.ops.mesh.primitive_cube_add(size=cube_size, location=(0, 0, 0))
cube = bpy.context.object
cube.name = "立方体"
# 透明度が20%の水色のマテリアルを作成
material = bpy.data.materials.new(name="水色透明")
material.diffuse_color = (0, 0.5, 1, 0.2) # RGBA値で水色と透明度を設定
cube.data.materials.append(material)
# 立方体を作成
create_cube()
boolean
円柱 3つ
import bpy
# 円柱のパラメータ
cylinder_radius = 0.1 # 半径
cylinder_height = 2.0 # 高さ
# 円柱を作成する関数
def create_cylinder(rotation):
bpy.ops.mesh.primitive_cylinder_add(radius=cylinder_radius, depth=cylinder_height, location=(0, 0, 0), rotation=rotation)
cylinder = bpy.context.object
cylinder.name = "円柱"
return cylinder
# 姿勢を指定して円柱を作成
# x軸回転で作成
create_cylinder((1.5708, 0, 0)) # 1.5708 ラジアンは90度
# y軸回転で作成
create_cylinder((0, 1.5708, 0)) # 1.5708 ラジアンは90度
# z軸回転で作成
create_cylinder((0, 0, 1.5708)) # 1.5708 ラジアンは90度
import bpy
# 円柱のパラメータ
cylinder_radius = 0.1 # 半径
cylinder_height = 0.4 # 高さ
# 円柱を作成する関数
def create_cylinder(location, rotation):
bpy.ops.mesh.primitive_cylinder_add(radius=cylinder_radius, depth=cylinder_height, location=location, rotation=rotation)
cylinder = bpy.context.object
cylinder.name = "円柱"
return cylinder
# 姿勢を指定して円柱を作成
# x軸回転で作成
create_cylinder((0, 0, 0), (1.5708, 0, 0)) # 1.5708 ラジアンは90度
# y軸回転で作成
create_cylinder((0, 0, 0), (0, 1.5708, 0)) # 1.5708 ラジアンは90度
# z軸回転で作成
create_cylinder((0, 0, 0), (0, 0, 1.5708)) # 1.5708 ラジアンは90度
import bpy
# 円柱のパラメータ
cylinder_radius = 0.1 # 半径
cylinder_height = 0.4 # 高さ
# 円柱を作成する関数
def create_cylinder(location, rotation):
bpy.ops.mesh.primitive_cylinder_add(radius=cylinder_radius, depth=cylinder_height, location=location, rotation=rotation)
cylinder = bpy.context.object
cylinder.name = "円柱"
return cylinder
# 姿勢を指定して円柱を作成
# x軸回転で作成
create_cylinder((-1, 0, 0), (1.5708, 0, 0)) # 1.5708 ラジアンは90度
# y軸回転で作成
create_cylinder((-1, 0, 0), (0, 1.5708, 0)) # 1.5708 ラジアンは90度
# z軸回転で作成
create_cylinder((-1, 0, 0), (0, 0, 1.5708)) # 1.5708 ラジアンは90度
import bpy
# 円柱のパラメータ
cylinder_radius = 0.1 # 半径
cylinder_height = 0.4 # 高さ
# 円柱を作成する関数
def create_cylinder(location, rotation):
bpy.ops.mesh.primitive_cylinder_add(radius=cylinder_radius, depth=cylinder_height, location=location, rotation=rotation)
cylinder = bpy.context.object
cylinder.name = "円柱"
return cylinder
# 姿勢を指定して円柱を作成
# x軸回転で作成
create_cylinder((1, 0, 0), (1.5708, 0, 0)) # 1.5708 ラジアンは90度
# y軸回転で作成
create_cylinder((1, 0, 0), (0, 1.5708, 0)) # 1.5708 ラジアンは90度
# z軸回転で作成
create_cylinder((1, 0, 0), (0, 0, 1.5708)) # 1.5708 ラジアンは90度
@@@@@@@@@@@@@
捨て
blender python
python blender で 斜投影 の 見本を作って
Blenderを使用してPythonで斜投影の見本を作成するには、BlenderのPython APIを使用して3Dオブジェクトを作成し、適切な光源やカメラの設定を行います。以下は、簡単な例です。
まず、Blenderをスクリプトで制御できるようにするために、BlenderのPython APIをインポートします。そして、適切なカメラ、ライト、オブジェクトを作成し、斜投影を設定します。
import bpy
import math
# シーンのクリア
bpy.ops.wm.read_factory_settings(use_empty=True)
# メッシュの作成
bpy.ops.mesh.primitive_cube_add(size=2)
# カメラの作成
bpy.ops.object.camera_add(enter_editmode=False, align='VIEW', location=(0, -5, 3), rotation=(math.radians(60), 0, math.radians(45)))
# ライトの作成
bpy.ops.object.light_add(type='SUN', location=(2, -5, 5))
bpy.context.object.data.energy = 2.0
# 斜投影の設定
bpy.context.scene.camera.data.type = 'ORTHO'
bpy.context.scene.camera.data.ortho_scale = 3.0
bpy.context.scene.render.image_settings.file_format = 'PNG'
bpy.context.scene.render.filepath = "//output.png"
# レ
立方体の正方形の面に
幅 0.2 で 十字 cross を描いて
blender python
立方体 1辺2
中心 000
立方体を 厚さ 0 幅0.2のテープで
正方形 6面に
上下左右前後に貼る
正方形の中央に クロス croos になるように
基本系 配布 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 との対話 修正記録 と メモ・ノート
ああああああああああああああああああああああああああああああああああああああああああああ