2023年5月1日月曜日

20230502 ビデオ会議の やっと利用

 


20230422 sat ビデオ会議の構造 test版 半径√3へ 修正へ

4月 22, 2023

https://2023na2022.blogspot.com/2023/04/20230422-sat.html



20230422 bbb 半径2に修正

4月 22, 2023

https://2023na2022.blogspot.com/2023/04/20230422-bbb.html





こっちは 

ミンコフスキー大先生の時空図 対応版

赤い 過去光円錐 底面 半径 √3
明るい Green の 過去光円錐 底面 半径 2




配布ファイル blenderzionad


配布 20230502 過去光円錐底面 001  元 20230422  正三角形 6つで正六角形 001 遠近法モード
https://drive.google.com/file/d/1El4iOV_qh7G-0Vhj4u_rdx3LCXP4ac5E/view?usp=share_link





# kaizou正方形 √2変更 000 中心 円錐頂点 square_object.location = (0, - math.sqrt(2), 0)


import bpy

import math


# Side length of square

a = 2 * math.sqrt(2)


# Create mesh data and object

mesh_data = bpy.data.meshes.new("Square")

square_object = bpy.data.objects.new("Square", mesh_data)


# Create vertices of square

vertices = [(a/2, 0, a/2), (-a/2, 0, a/2), (-a/2, 0, -a/2), (a/2, 0, -a/2)]


# Create faces of square

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


# Assign vertices and faces to mesh data

mesh_data.from_pydata(vertices, [], faces)

mesh_data.update()


# Move square to center

square_object.location = (0, - math.sqrt(2)


, 0)


# Link square to scene

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




aaaaaaaaaaaaaaaaaaaaaaa



# obj_name = "half_sphere"




import bpy


import bmesh


from mathutils import Vector, Matrix


import math




zion_name ="半球 r=2 segmentes"






# 半径2の球体を作成 segments=180, ring_count=180


bpy.ops.mesh.primitive_uv_sphere_add(radius=2.0, enter_editmode=False, location=(0,0,0), segments=180, ring_count=180)




# オブジェクトを取得


obj = bpy.context.object




# オブジェクトのメッシュを取得し、bmeshを作成


me = obj.data


bm = bmesh.new()


bm.from_mesh(me)




# 円周の方程式 y^2 + z^2 = 2 の y > 0 の部分の面を削除


for f in bm.faces:


    if all([v.co.y > 0 for v in f.verts]):


        bm.faces.remove(f)




# bmeshをメッシュに適用してオブジェクトを更新


bm.to_mesh(me)


me.update()




# オブジェクト名を設定


obj.name = zion_name




# オブジェクトの位置を変更


obj.location = (0, 0, 0)







球体 ポイント



import bpy

import mathutils


# 半径0.1の球体を作成

bpy.ops.mesh.primitive_uv_sphere_add(radius=0.1)


# オブジェクト名を設定

bpy.context.object.name = "x_ball"


# 球体を各x座標に配置

for x in range(-10, 10):

    # 球体を複製して新しいオブジェクトを作成

    bpy.ops.object.duplicate(linked=False)

    new_obj = bpy.context.object

    

    # 新しいオブジェクトのオブジェクト名を設定

    new_obj.name = "x_ball_{0}".format(x)

    

    # 新しいオブジェクトを移動するベクトルを作成

    translate_vec = mathutils.Vector((x, 0, 0))

    

    # 新しいオブジェクトを移動

    new_obj.location = translate_vec




# 半径 2の トーラス


import bpy
from math import radians

# トーラスを作成する
bpy.ops.mesh.primitive_torus_add(major_radius= 2.0, 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
    
else:
    print('Invalid rotation axis selected.')

# トーラスを選択する
bpy.context.view_layer.objects.active = bpy.context.selected_objects[0]



#トーラスの位置を変更する
bpy.context.object.location = (0, 0, 0)

# オブジェクト名

bpy.context.object.name = "torus 2 radius"







# kaizou正方形 120度 正方形 000 中心 円錐頂点 square_object.location = (0, - 1, 0)


import bpy

import math


# Side length of square

a = 2 * math.sqrt(3)


# Create mesh data and object

mesh_data = bpy.data.meshes.new("Square")

square_object = bpy.data.objects.new("Square", mesh_data)


# Create vertices of square

vertices = [(a/2, 0, a/2), (-a/2, 0, a/2), (-a/2, 0, -a/2), (a/2, 0, -a/2)]


# Create faces of square

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


# Assign vertices and faces to mesh data

mesh_data.from_pydata(vertices, [], faces)

mesh_data.update()


# Move square to center

square_object.location = (0, - 1

, 0)


# Link square to scene

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