-2
ボックスを指定したトラック上で動かすアニメーションを作成したいと思います。Pythonで2Dオブジェクトをプロットする方法は?
このタスクをPythonで実行する方法はありますか? matplotlibにブールプロット関数があり、明示的にピクセルを描くことができますか?
ボックスを指定したトラック上で動かすアニメーションを作成したいと思います。Pythonで2Dオブジェクトをプロットする方法は?
このタスクをPythonで実行する方法はありますか? matplotlibにブールプロット関数があり、明示的にピクセルを描くことができますか?
this answer(from @unutbu)から適応する予定です。あなたの他については
:結果は、この(まあちょうどスクリーンショット、その実際のアニメーション)で、
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as patches
from matplotlib import animation
# Building a possible trajectory
x = np.hstack((np.linspace(-5, 5, 50), np.ones(50)*5, np.linspace(5, -5, 50), np.ones(50)*-5))
y = np.hstack((np.ones(50)*-5, np.linspace(-5, 5, 50), np.ones(50)*5, np.linspace(5, -5, 50)))
yaw = [0.0, 0.5, 1.3]
fig = plt.figure()
plt.axis('equal')
plt.grid()
ax = fig.add_subplot(111)
# Adding a simple plot for trajectory (initial coordinate of rectangle)
ax.plot([-5, 5, 5, -5, -5], [-5, -5, 5, 5, -5], color="grey", linestyle="--")
ax.set_xlim(-10, 10)
ax.set_ylim(-10, 10)
patch = patches.Rectangle((0, 0), 0, 0, fc='y')
def init():
ax.add_patch(patch)
return patch,
def animate(i):
patch.set_width(1.2)
patch.set_height(1.0)
patch.set_xy([x[i], y[i]])
return patch,
anim = animation.FuncAnimation(fig, animate,
init_func=init,
frames=len(x),
interval=50,
blit=True)
plt.show()
:次のコードは、正方形の軌道を構築し、それを持つ矩形を移動しますmatplotlibはピクセルベースではないので、1つのピクセルだけを描画する(簡単な)方法はないと思います。目的に応じて、matplotlibでよくサポートされているimage apiを使用して、カスタマイズされた背景を提供することを検討してください。したがって、あなたはmatplotlibによって画面に解析される配列を描画します。
try 'pygame'パッケージ。 –