2023年3月21日火曜日

3軸に 正方形を合体させる

aaa

3軸に 球体を合体させる


円柱 回転 3軸






# Create a cube
bpy.ops.mesh.primitive_cube_add(size=120.0, location=(0.0, 0.0, 0.0))
cube = bpy.context.object

# Set rotation and location for the cube
cube.rotation_euler = (0.0, 0.0, 0.0)
cube.location = (0.0, 0.0, 0.0)


修正点は、bpy.ops.mesh.primitive_cube_add()メソッドを使用して、辺の長さ120の立方体を作成していることです。また、立方体の回転と位置を設定するために、cube.rotation_eulerとcube.locationを使用しています。








import bpy
import math


# Create a cube
bpy.ops.mesh.primitive_cube_add(size=120.0, location=(0.0, 0.0, 0.0))
cube = bpy.context.object

# Set rotation and location for the cube
cube.rotation_euler = (0.0, 0.0, 0.0)
cube.location = (0.0, 0.0, 0.0)

# Set name for the cube object
cube.name = "3軸 立方体"

# Set start and end frames
start_frame = 1
end_frame = start_frame + 200

# Define the start and end positions
start_pos = (-300.0, 0.0, 0.0)
end_pos = (300.0, 0.0, 0.0)

# Calculate the distance between start_pos and end_pos
distance = abs(math.sqrt((end_pos[0]-start_pos[0])**2 + (end_pos[1]-start_pos[1])**2 + (end_pos[2]-start_pos[2])**2))

# Set the speed multiplier
vvv_velocity = 1.0

# Calculate the velocity required to move the cube at a constant speed
velocity = distance / (end_frame - start_frame) * vvv_velocity

# Move the cube from start_pos to end_pos at a constant speed
for i in range(start_frame, end_frame + 1):
    bpy.context.scene.frame_set(i)
    bpy.context.object.location = tuple(s + (e-s)*((i-start_frame)*velocity/distance) for s,e in zip(start_pos, end_pos))
    bpy.context.object.keyframe_insert(data_path="location", index=-1)
    bpy.context.object.keyframe_insert(data_path="scale", index=-1)

# Stop the cube from moving after reaching the end position
bpy.context.scene.frame_set(end_frame)
bpy.context.object.keyframe_insert(data_path="location", index=-1)
bpy.context.object.keyframe_insert(data_path="scale", index=-1)

# Set the waiting period
wait_frames = 40
end_frame += wait_frames

# Set the current frame to the end_frame
current_frame = end_frame

# Keep the cube at the end position and repeat the animation
repeat_frames = end_frame + 200
while True:
    current_frame += 1
    
    # Insert a keyframe at the current frame for the cube's location and scale
    bpy.context.scene.frame_set(current_frame)
    bpy.context.object.location = end_pos
    bpy.context.object.keyframe_insert(data_path="location", index=-1)
    bpy.context.object.keyframe_insert(data_path="scale", index=-1)
    
    # Stop the loop if current_frame reaches repeat_frames
    if current_frame == repeat_frames:
        break





My_Camera = "3軸 立方体"

# Create camera data
MyCam_data = bpy.data.cameras.new('My_Camera')

# Add a camera and set its position
cam = bpy.data.objects.new(My_Camera, MyCam_data)
bpy.context.scene.collection.objects.link(cam)
cam.location = (0.0, -30.0, 0.0)


# Add a track constraint to the camera to follow the sphere
track_constraint = cam.constraints.new(type='TRACK_TO')
track_constraint.target = bpy.context.object
track_constraint.track_axis










import bpy
import math


my_collection_name = "3軸の外装"

# コレクションを作成する
col = bpy.data.collections.new(my_collection_name)
bpy.context.scene.collection.children.link(col)





















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
いいいいいいいい

202304220 thu 1333

aaa 下書き Dürer & 測距儀2022c085 連番 014 正三角形 6つの詳細 aaa ティコ・ブラーエ氏 2023年04月19日 下書き Dürer & 測距儀2022c085 連番 014 正三角形 6つの詳細  ゴルフ場 ...