Numerik Praktikum 6¶
Aufgaben:
Template für Roboterarm Movie¶
# Python Template fuer Movie
#
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
from matplotlib.animation import FuncAnimation
fig = plt.figure(figsize=(6,6))
l1, = plt.plot([], [])
l2, = plt.plot([], [],'o')
# p: Funktion zur Berechnung der Punkte auf der Trajektorie
# ti: wird auch für die Berechnung der Winkel benutzt
ti = np.linspace(0,4,int(4/.01+1))
plt.plot(*np.array([p(tii) for tii in ti]).T)
plt.xlim(-3,3)
plt.ylim(-3,3)
plt.gca().set_aspect(1)
plt.gca().add_patch(mpatches.Circle((0,0), 2-1,alpha=0.1))
plt.gca().add_patch(mpatches.Circle((0,0), 2+1,alpha=0.1))
plt.grid()
plt.xlabel('x')
plt.ylabel('y')
# si: Liste der Winkel fuer die Trajektorie
# PG: liefert Drehpunkte und Endpunkt des Roboters. Bsp:
# array([[0. , 0. ],
# [0.58856217, 1.91143783],
# [1. , 1. ]])
def animate(i):
l1.set_data(*PG(*si[i]).T)
l2.set_data(*PG(*si[i]).T)
return l1,l2
ani = FuncAnimation(fig, animate, blit=True, frames=len(si))
ani.save('Trajektorie.gif', writer='pillow', fps=50)
- Downloads:
PDF-Dokumentation: