x自乗2
y ** 2 + z**2 = 90000 になるように
yと zの 組み合わせを ランダムに10個 計算し
以下の y と z の形式で
10個 書いて
loc_a_start = (0 ,y ,z)
の y**2 + z**2 =90000 になる
ランダムな yと zを
loc_a_start = (0, y, z)
の形で
10個 書いて
loc_a_start = (0, -189, -366)
loc_a_start = (0, -258, -120)
loc_a_start = (0, 186, 342)
loc_a_start = (0, 290, -58)
loc_a_start = (0, -88, -422)
loc_a_start = (0, 327, 13)
loc_a_start = (0, -231, 244)
loc_a_start = (0, -315, -27)
loc_a_start = (0, 205, -318)
これを使って
以下のスクリプトに 数値を入れて
球体 10個 作って
import bpy
import random
for i in range(10):
z = random.uniform(-300, 300)
y = (90000 - z**2) ** 0.5
loc_a_start = (0, y, z)
print(loc_a_start)
# 球体の半径を設定
radius = 5.0
# 球体Aの初期位置と移動先の位置を設定
loc_a_start = (0 ,y ,z)
loc_a_end = (0 ,0 ,0)
# 球体Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
obj_a = bpy.context.object
# コレクションを作成し、タグ名を設定する
col = bpy.data.collections.new("photon all")
bpy.context.scene.collection.children.link(col)
# オブジェクトをコレクションに追加する
col.objects.link(obj_a)
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame_a = int(20 * bpy.context.scene.render.fps) # 球体Aの移動が終わるフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame_a # アニメーションの終了フレームを設定
# キーフレームを設定する
obj_a.location = loc_a_start # 球体Aの開始位置を設定
obj_a.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj_a.location = loc_a_end # 球体Aの終了位置を設定
obj_a.keyframe_insert(data_path="location", frame=end_frame_a) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
以下は、ランダムに生成された10個の y と z の組み合わせです。ただし、y の値は y ** 2 z = 300 を満たすように計算されています。
y = 10, z = 0.9 -> loc_a_start = (0, 10, 0.9)
y = 6, z = 8.33 -> loc_a_start = (0, 6, 8.33)
y = 5, z = 12 -> loc_a_start = (0, 5, 12)
y = 8, z = 4.69 -> loc_a_start = (0, 8, 4.69)
y = 12, z = 0.69 -> loc_a_start = (0, 12, 0.69)
y = 3, z = 33.33 -> loc_a_start = (0, 3, 33.33)
y = 20, z = 0.1875 -> loc_a_start = (0, 20, 0.1875)
y = 2, z = 75 -> loc_a_start = (0, 2, 75)
y = 15, z = 0.4 -> loc_a_start = (0, 15, 0.4)
y = 7, z = 6.12 -> loc_a_start = (0, 7, 6.12)
# 移動量 300 の 光子たくさん 球体 半径 5 end 480 int20
import bpy
# 球体の半径を設定
radius = 5.0
# 球体Aの初期位置と移動先の位置を設定
loc_a_start = (0 ,0 ,300)
loc_a_end = (0 ,0 ,0)
# 球体Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
obj_a = bpy.context.object
# コレクションを作成し、タグ名を設定する
col = bpy.data.collections.new("photon all")
bpy.context.scene.collection.children.link(col)
# オブジェクトをコレクションに追加する
col.objects.link(obj_a)
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame_a = int(20 * bpy.context.scene.render.fps) # 球体Aの移動が終わるフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame_a # アニメーションの終了フレームを設定
# キーフレームを設定する
obj_a.location = loc_a_start # 球体Aの開始位置を設定
obj_a.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj_a.location = loc_a_end # 球体Aの終了位置を設定
obj_a.keyframe_insert(data_path="location", frame=end_frame_a) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
# 移動量 300 の 光子たくさん 球体 半径 5 end 480 int20
import bpy
# 球体の半径を設定
radius = 5.0
# 球体Aの初期位置と移動先の位置を設定
loc_a_start = (0 ,0 ,300)
loc_a_end = (0 ,0 ,0)
# 球体Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
obj_a = bpy.context.object
# コレクションを作成し、タグ名を設定する
col = bpy.data.collections.new("photon all")
bpy.context.scene.collection.children.link(col)
# オブジェクトをコレクションに追加する
col.objects.link(obj_a)
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame_a = int(20 * bpy.context.scene.render.fps) # 球体Aの移動が終わるフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame_a # アニメーションの終了フレームを設定
# キーフレームを設定する
obj_a.location = loc_a_start # 球体Aの開始位置を設定
obj_a.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj_a.location = loc_a_end # 球体Aの終了位置を設定
obj_a.keyframe_insert(data_path="location", frame=end_frame_a) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
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
いいいいいいいい