2023年3月16日木曜日

半径30のトーラス 太さ0,2

aaa






import bpy
import math

# トーラスの半径と太さ
major_radius = 30.0
minor_radius = 0.2

# トーラスを作成するための頂点と面のリスト
verts = []
faces = []

# トーラスの頂点を作成する
num_major_segments = 64
num_minor_segments = 32
major_angle_step = 2 * math.pi / num_major_segments
minor_angle_step = 2 * math.pi / num_minor_segments
for i in range(num_major_segments):
    for j in range(num_minor_segments):
        x = (major_radius + minor_radius * math.cos(minor_angle_step * j)) * math.cos(major_angle_step * i)
        y = (major_radius + minor_radius * math.cos(minor_angle_step * j)) * math.sin(major_angle_step * i)
        z = minor_radius * math.sin(minor_angle_step * j)
        verts.append((x, y, z))

# トーラスの面を作成する
for i in range(num_major_segments):
    for j in range(num_minor_segments):
        a = i * num_minor_segments + j
        b = (i + 1) % num_major_segments * num_minor_segments + j
        c = (i + 1) % num_major_segments * num_minor_segments + (j + 1) % num_minor_segments
        d = i * num_minor_segments + (j + 1) % num_minor_segments
        faces.append((a, b, c, d))

# メッシュオブジェクトを作成する
mesh = bpy.data.meshes.new('torus_mesh')
mesh.from_pydata(verts, [], faces)

# オブジェクトを作成して、メッシュを割り当てる
obj = bpy.data.objects.new('torus_object', mesh)
bpy.context.scene.collection.objects.link(obj)

# 3Dビューポートを更新する
bpy.context.view_layer.update()









import bpy

# Create torus
bpy.ops.mesh.primitive_torus_add(major_radius=30, minor_radius=30-0.2, location=(0, 0, 0))
























bbb

連番 007 未来光円錐 過去光円錐 円周中心からの球体放出

aaa 参考 2023年3月26日日曜日 製作 002b 未来光円錐の方向 線路レールで https://ia2023sha.blogspot.com/2023/03/002b.html import bpy import math zion_co...