-2
상자를 지정된 트랙 위로 움직이는 애니메이션을 만들고 싶습니다.파이썬에서 2D 오브젝트를 그리는 방법은 무엇입니까?
파이썬에서이 작업을 수행하는 방법이 있습니까? matplotlib에 부울 값 플롯 기능이있어 픽셀을 명시 적으로 그릴 수 있습니까?
상자를 지정된 트랙 위로 움직이는 애니메이션을 만들고 싶습니다.파이썬에서 2D 오브젝트를 그리는 방법은 무엇입니까?
파이썬에서이 작업을 수행하는 방법이 있습니까? matplotlib에 부울 값 플롯 기능이있어 픽셀을 명시 적으로 그릴 수 있습니까?
this answer (@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는 픽셀 기반이 아니므로 한 픽셀을 그리는 (쉬운) 방법은 없다고 생각합니다. 목표에 따라 matplotlib에 잘 지원되는 image API를 사용하여 사용자 정의 된 배경을 제공하는 것이 좋습니다. 그래서 당신은 matplotlib에 의해 화면에 파싱 될 배열을 그릴 것입니다.
'파이 게임'패키지를 사용해보십시오. –