Pythonで放物線のアニメーション

放物運動のPythonコード

放物運動をシミュレーションするコードを作ってもらいました。

import math
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

# 放物運動をシミュレートする関数
def 放物運動(v, theta, g):
    theta_rad = math.radians(theta)
    vx = v * math.cos(theta_rad)
    vy = v * math.sin(theta_rad)
    t_flight = (2 * vy) / g
    dt = 0.01
    t = np.arange(0, t_flight, dt)
    x = vx * t
    y = vy * t - 0.5 * g * t ** 2
    return x, y

# 入力パラメータ
v0 = 20  # 初速度(m/s)
角度 = 45  # 射角(度)
g = 9.81  # 重力加速度(m/s^2)

# 放物運動をシミュレート
x, y = 放物運動(v0, 角度, g)

# グラフと軸を作成
fig, ax = plt.subplots()
ax.set_xlim(0, max(x) + 5)
ax.set_ylim(0, max(y) + 5)
line, = ax.plot([], [], lw=2)

# アニメーション関数
def アニメーション(i):
    line.set_data(x[:i], y[:i])
    return line,

# アニメーションを作成
ani = animation.FuncAnimation(fig, アニメーション, frames=len(x), interval=10, blit=True)

# アニメーションをHTML5ビデオとして保存して表示
HTML(ani.to_html5_video())

入力パラメータのところの数値を変えれば、他のシミュレーションができます。

放物運動のアニメーション

実際に作成されるアニメーションです!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です