Самый простой способ повернуть изображение на определенной частоте - PullRequest
0 голосов
/ 21 сентября 2019

Я рассчитываю построить функцию, а затем вращать ее с определенной частотой (т. Е. 15 оборотов в секунду).

Какой самый простой способ сделать это в python?

Я открыт для того, чтобы просто нарисовать функцию в desmos и затем вращать PNG на определенной частоте.

Спасибо

1 Ответ

0 голосов
/ 21 сентября 2019

Вот один из способов с matplotlib: FuncAnimation

# set up data
data = pd.DataFrame({0:np.linspace(-1,1,101)})

# function values
data[1] = data[0]**2

# rotation matrix
alpha = np.deg2rad(15)
rot_mat = np.array([[np.cos(alpha), -np.sin(alpha)],[np.sin(alpha), np.cos(alpha)]])

# set up plots
fig, ax = plt.subplots(figsize=(6,6))
ln, = plt.plot([],[], 'r')

# set up animation
def init():
    ax.set_xlim(-1,1)
    ax.set_ylim(-1,1)
    return ln,

def update(frame):
    global data
    data = (rot_mat @ data.T).T
    ln.set_data(data[0], data[1])

    return ln,

# init animation
anim = FuncAnimation(fig, update, frames=np.arange(100),
                    init_func=init, blit=True)

plt.plot()

Вывод:

enter image description here

...