1
Fork 0

generic animation implementation

This commit is contained in:
Julian Gaal 2019-04-17 15:22:04 +02:00
parent 7bb1a2ef2d
commit 0bccf22202

View file

@ -2,9 +2,31 @@ import numpy as np
import math
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import random
import time
fig = plt.figure()
ax = plt.subplot(111)
ax.set_ylim([0, 5]) # set the bounds to be 10, 10
ax.set_xlim([0, 5])
def plot_line(angle: float, length: int):
class RegrMagic(object):
"""Mock for function Regr_magic()
"""
def __init__(self):
self.x = 0.0
def __call__(self) -> float:
self.x += random.randint(-1, 1)
return self.x
regr_magic = RegrMagic()
def frames():
while True:
yield regr_magic()
def plot_line(angle: float):
'''
angle - Angle you want your end point at in degrees.
length - Length of the line you want to plot.
@ -14,6 +36,7 @@ def plot_line(angle: float, length: int):
# unpack the first point
x, y = (2.5, 2.5)
length = 20.0
# find the end point
endx = x + length * math.cos(math.radians(angle))
@ -22,14 +45,10 @@ def plot_line(angle: float, length: int):
# find the start point
startx = x - length * math.cos(math.radians(angle))
starty = y - length * math.sin(math.radians(angle))
fig = plt.figure()
ax = plt.subplot(111)
ax.set_ylim([0, 5]) # set the bounds to be 10, 10
ax.set_xlim([0, 5])
ax.clear()
# plot the points
ax.plot([startx, endx], [starty, endy])
plt.show()
return ax.plot([startx, endx], [starty, endy])
plot_line(-0.9, 20)
ani = animation.FuncAnimation(fig, plot_line, frames=frames, interval=10)
plt.show()