2023年3月10日金曜日

anime 3 torus

aaa
import bpy
import math

R = 10  # トーラス半径(チューブの中心からトーラスの中心までの距離)
r = 0.2  # チューブ半径(断面半径)

# トーラスのメッシュを定義する
vertices = []
edges = []
faces = []

for u in range(0, 21):
    theta = u * 2*math.pi / 20
    for v in range(0, 21):
        phi = v * 2*math.pi / 20
        x = (R + r*math.cos(phi)) * math.cos(theta)
        y = (R + r*math.cos(phi)) * math.sin(theta)
        z = r*math.sin(phi)
        vertices.append((x, y, z))

        if u < 20 and v < 20:
            a = u*21 + v
            b = u*21 + v + 1
            c = (u+1)*21 + v
            d = (u+1)*21 + v + 1
            faces.append((a, b, d, c))
            
# メッシュオブジェクトを作成してシーンに追加する
mesh = bpy.data.meshes.new(name="Torus")
mesh.from_pydata(vertices, edges, faces)
object = bpy.data.objects.new(name="Torus", object_data=mesh)
bpy.context.scene.collection.objects.link(object)












import bpy
import math

# 球体を作成
bpy.ops.mesh.primitive_uv_sphere_add(radius=1)

# アニメーション用にオブジェクトを取得
obj = bpy.context.active_object

# 1回転あたりのフレーム数を計算
frames_per_rotation = bpy.context.scene.render.fps * 10

# アニメーションを作成
for i in range(frames_per_rotation):
    angle = 2 * math.pi * i / frames_per_rotation
    x = 10 * math.cos(angle)
    y = 10 * math.sin(angle)
    z = 0
    obj.location = (x, y, z)
    obj.keyframe_insert(data_path="location", frame=i+1)
    
# アニメーションを繰り返す設定
animation = obj.animation_data.action
animation.use_cyclic_offset = True
animation.frame_range = (1, frames_per_rotation)




bbb
togetter.com/t/c2022meetzionad
togetter.com/t/b2022meetzionad




twitter 新着検索 Dürer & 測距儀


aaa









bbb
twitter zionadchat
twitter に追い出されたら 連絡先は Gettr https://gettr.com/user/zionadchat
twitter サブアカウント https://twitter.com/2022zionad

old page いいい
new page いいい

目次 2022の目次 単純トリック hatena zionadchat
いいいいいいいい

伊勢丹 建物広告 球体群 配置 20240323_001

aaa y軸に 球体半径0.1を等間隔に配置して 球体の名前は Sphere_x_y_z で 小数1桁で 座標位置で 名前を作る y=+1から ー1までで 21個の球体で 作る コレクションだけを作って "y軸の球体群" import bpy #...