2023年7月25日火曜日

20230727 ddd 平面を貼る

 


import bpy


# Parameters for the square

size = 10

y_pos = 10








# Create the square

vertices = [

    (-size/2, y_pos, -size/2),

    (-size/2, y_pos, size/2),

    (size/2, y_pos, size/2),

    (size/2, y_pos, -size/2)

]

faces = [(0, 1, 2, 3)]


# Create the mesh

mesh = bpy.data.meshes.new(name="SquareMesh")

mesh.from_pydata(vertices, [], faces)


# Create the object and link it to the scene

obj = bpy.data.objects.new("Square", mesh)

bpy.context.scene.collection.objects.link(obj)





あああああああああああああ

20230727 ccc Y=5 平面

 Assumed Plane の 球体群




https://meetzionadphotos.blogspot.com/2023/07/assumed-plane.html




blender python


Y=5 の平面に

球体を作る


球体半径 0.1


x=-5から+5

Z=-5から+5の

交点に 作る





# Y=+5 平面の 同時性

import bpy


# Parameters for the spheres

radius = 0.1

x_min = -5

x_max = 5

z_min = -5

z_max = 5


# Create spheres at the intersection points

for x in range(x_min, x_max + 1):

    for z in range(z_min, z_max + 1):

        bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=(x, 5, z))




# Y=+10 平面の 同時性


import bpy


# Parameters for the spheres

radius = 0.1

x_min = -5

x_max = 5

z_min = -5

z_max = 5


# Create spheres at the intersection points

for x in range(x_min, x_max + 1):

    for z in range(z_min, z_max + 1):

        bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=(x, 10, z))






# Y=0 平面の 同時性


import bpy


# Parameters for the spheres

radius = 0.1

x_min = -5

x_max = 5

z_min = -5

z_max = 5


# Create spheres at the intersection points

for x in range(x_min, x_max + 1):

    for z in range(z_min, z_max + 1):

        bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=(x, 0, z))



20230727 bbb My traincar XY平面 列車

 











Z=1 の 平面に 球体を作る

球体半径 0.1


x=0 の 

y=-1 から y=+1に

等間隔で 11個


import bpy


# Parameters for the spheres

radius = 0.1

y_min = -1

y_max = 1

num_spheres = 11


# Create spheres along the y-axis with equal spacing

for i in range(num_spheres):

    y_position = y_min + (y_max - y_min) * i / (num_spheres - 1)

    bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=(0, y_position, 1))




20230727 aaa コレクショ 作成






import bpy

# List of collection names
collection_names = [
    "My +1", "My 0_level ","My -1"
]

# Function to create a new collection
def create_collection(name):
    collection = bpy.data.collections.new(name)
    bpy.context.scene.collection.children.link(collection)
    return collection

# Create collections
for name in collection_names:
    create_collection(name)









import bpy

# List of collection names
collection_names = [
    "My upper", "My upper","5", "√3", "1", "球体中心", "観察者"
]

# Function to create a new collection
def create_collection(name):
    collection = bpy.data.collections.new(name)
    bpy.context.scene.collection.children.link(collection)
    return collection

# Create collections
for name in collection_names:
    create_collection(name)





import bpy # List of collection names collection_names = [ "5", "√3", "1", "球体中心", "観察者" ] # Function to create a new collection def create_collection(name): collection = bpy.data.collections.new(name) bpy.context.scene.collection.children.link(collection) return collection # Create collections for name in collection_names: create_collection(name)


20230726 円周 3つ 改造  5 √3 1

 




import bpy

import bmesh  # Import the bmesh module


# 円の半径

radius = 6.0


# 3つの円の位置(指定地に配置する座標)を修正

positions = [

    (-12, 0, 0),

    (0, 0, 0),

    (12, 0, 0)

]


# 3つの色を用意(より薄い青)

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)

]


# 3つの円を作成し、位置と色を設定

for i, (position, color) in enumerate(zip(positions, colors)):

    # 新しいメッシュを作成

    mesh = bpy.data.meshes.new(f"CircleMesh_{i}")

    obj = bpy.data.objects.new(f"Circle_{i}", 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"Material_{i}")

    mat.use_nodes = False  # ノードを使用しない


    mat.diffuse_color = color

    obj.data.materials.append(mat)









20230726 基本 球体ポイント

 


blender python 


指定した位置に 球体を作る

球体半径 0.1

球体中心位置は


z=0の

(x,y)=

-1,1

0,1

1,1


-1,0

0,0

1,0


-1,-1

0,-1

1,-1


import bpy


def create_sphere(x, y, z, radius):

    bpy.ops.mesh.primitive_uv_sphere_add(location=(x, y, z), radius=radius)


positions = [

    (-1, 1),

    (0, 1),

    (1, 1),

    (-1, 0),

    (0, 0),

    (1, 0),

    (-1, -1),

    (0, -1),

    (1, -1)

]


sphere_radius = 0.1

z_position = 0


for pos in positions:

    x, y = pos[0], pos[1]

    create_sphere(x, y, z_position, sphere_radius)



Z=0 で

000を中心とする半径1の円


20230726 中点連結定理 正三角形4つ

 



blender python


1辺 4長さの正三角形を



まず 大きい正三角形を作る


頂点 000

底辺 y=√3



import bpy

import math


# 新しいメッシュオブジェクトを作成

mesh = bpy.data.meshes.new('EquilateralTriangle')

obj = bpy.data.objects.new('EquilateralTriangle', mesh)


# オブジェクトをシーンに追加

scene = bpy.context.scene

scene.collection.objects.link(obj)


# 頂点座標を計算

a = 4.0  # 辺の長さ

h = (math.sqrt(3) / 2) * a  # 高さ


vertices = [

    (0, 0, 0),

    (a / 2, -h, 0),

    (-a / 2, -h, 0),

]


# 面を定義

faces = [(0, 1, 2)]


# メッシュに頂点と面を設定

mesh.from_pydata(vertices, [], faces)


# オブジェクトを選択

bpy.context.view_layer.objects.active = obj

obj.select_set(True)





import bpy import math # 新しいメッシュオブジェクトを作成 mesh = bpy.data.meshes.new('EquilateralTriangle') obj = bpy.data.objects.new('EquilateralTriangle', mesh) # オブジェクトをシーンに追加 scene = bpy.context.scene scene.collection.objects.link(obj) # 頂点座標を計算 a = 4.0 # 辺の長さ h = (math.sqrt(3) / 2) * a # 高さ vertices = [ (0, 0, 0), (a / 2, -h, 0), (-a / 2, -h, 0), ] # 面を定義 faces = [(0, 1, 2)] # メッシュに頂点と面を設定 mesh.from_pydata(vertices, [], faces) # オブジェクトを選択 bpy.context.view_layer.objects.active = obj obj.select_set(True)






4つの正三角形 辺長さ2で 作る