import matplotlib.pyplot as plt
import numpy as np


def plot_trajectory(linear_speed=1, angular_speed=0.2, angular_speed_per_s=0, time_step=0.1, max_time=10):
    pos = np.array([0, 0])
    xs, ys = [0], [0]
    angle = 0

    for t in np.arange(0, max_time, time_step):
        angle = angle + (angular_speed + angular_speed_per_s * t) * time_step
        speed_vector = np.array([np.cos(angle), np.sin(angle)]) * linear_speed * time_step
        pos = pos + speed_vector * time_step
        x, y = pos
        xs.append(x)
        ys.append(y)

    plt.plot(xs, ys)
    plt.gca().set_aspect('equal')
    plt.show()



if __name__ == "__main__":
    plot_trajectory(max_time=100)
    plot_trajectory(max_time=100, time_step=0.01, angular_speed_per_s=0.1)
