2023年3月12日日曜日

てすt

aaa


球体Aを 
10,0,0 から 0,10,0 へ 動かす
この移動を8*1.41秒で行う


球体Bを 
0,0,0 から 0,10,0 へ 動かす
この移動を8秒で行う

同時に 出発する

どちらも到着したら
繰り返す


球体Bを 
0,0,0 から 0,10,0 へ 動かす
 この移動を8秒で行う速度

 
以下を 参考に  python スクリプトを作る

球体半径は 0.2
球体Aを 
0,0,0 から 10,0,0 へ
この移動を8秒で行う

10,0,0 に 到着したら
10,0,0 から0,10,0 へ 移動を 8*1.41 秒 で移動させる




 0,10,0 に球体が 到着したら
アニメを繰り返す




import bpy
import math

# 半径0.1の球体を作成し、初期位置を設定する
radius = 0.2
location = (10, 0, 0)
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=location)

# アニメーションのフレーム設定を行う
start_frame = 1  # アニメーションの最初のフレーム
end_frame = 400  # アニメーションの最後のフレーム
bpy.context.scene.frame_start = start_frame  # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame  # アニメーションの終了フレームを設定

# キーフレームを設定する
obj = bpy.context.object  # オブジェクトを選択
obj.location = (0, 0, 0)  # 開始位置を設定
obj.keyframe_insert(data_path="location", frame=start_frame)  # 開始フレームでキーフレームを設定
obj.location = (10, 0, 0)  # 終了位置を設定
obj.keyframe_insert(data_path="location", frame=end_frame)  # 終了フレームでキーフレームを設定


# アニメーション再生
bpy.ops.screen.animation_play()  # アニメーションを再生












import bpy
import math

# 半径0.2の球体を作成し、初期位置を設定する
radius = 0.2
location = (0, 0, 0)
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=location)
obj = bpy.context.object  # オブジェクトを選択

# アニメーションのフレーム設定を行う
start_frame = 1  # アニメーションの最初のフレーム
end_frame = 400  # アニメーションの最後のフレーム
bpy.context.scene.frame_start = start_frame  # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame  # アニメーションの終了フレームを設定

# 最初の移動
frame_count = 8 * bpy.context.scene.render.fps
end_location = (10, 0, 0)
for i in range(start_frame, start_frame + frame_count):
    frame_ratio = (i - start_frame) / frame_count
    obj.location = tuple((1 - frame_ratio) * x + frame_ratio * y for x, y in zip(location, end_location))
    obj.keyframe_insert(data_path="location", frame=i)

# 2つ目の移動
frame_count = int(8 * 1.41 * bpy.context.scene.render.fps)
start_location = end_location
end_location = (0,10, 0)
for i in range(start_frame + frame_count, start_frame + 2 * frame_count):
    frame_ratio = (i - start_frame - frame_count) / frame_count
    obj.location = tuple((1 - frame_ratio) * x + frame_ratio * y for x, y in zip(start_location, end_location))
    obj.keyframe_insert(data_path="location", frame=i)

# 繰り返しアニメーション
bpy.ops.action.copy()  # アクションをコピー
for i in range(2):
    start_frame = end_frame + 1  # 前回の最終フレームから再開
    end_frame = start_frame + 2 * frame_count - 1  # 2つ目の移動と同じ時間で再生
    bpy.ops.action.paste(frame=start_frame)  # アクションを貼り付け




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 #...