Нарисуй окружность по которой передвигается стрелочка

Нарисуй окружность по которой передвигается стрелочка
Дополнительные параметры: codeFlowType: codeWrite codeFlowLang: Python
Создано: 16.03.2025 13:02

Нарисуй окружность по которой передвигается стрелочка

Конечно! Для рисования окружности и анимации стрелочки, которая по ней перемещается, мы можем использовать библиотеку matplotlib. Вот пример кода на Python, который создает такую анимацию:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

# Настройки окружности
radius = 1
angles = np.linspace(0, 2 * np.pi, 100)

# Настройка фигуры
fig, ax = plt.subplots()
ax.set_xlim(-1.5, 1.5)
ax.set_ylim(-1.5, 1.5)
ax.set_aspect('equal', adjustable='box')

# Рисуем окружность
circle = plt.Circle((0, 0), radius, color='b', fill=False)
ax.add_artist(circle)

# Начальная позиция стрелочки
arrow, = ax.plot([], [], 'ro', markersize=10)  # красная стрелочка

def init():
    arrow.set_data([], [])
    return arrow,

def update(frame):
    # Вычисляем позицию стрелочки
    x = radius * np.cos(angles[frame])
    y = radius * np.sin(angles[frame])
    arrow.set_data(x, y)
    return arrow,

# Создаем анимацию
ani = animation.FuncAnimation(fig, update, frames=len(angles), init_func=init, blit=True, interval=50)

# Показываем анимацию
plt.show()

Описание кода:

  • Импортируем необходимые библиотеки numpy и matplotlib.
  • Определяем радиус окружности и углы, на которых будет находиться стрелочка.
  • Устанавливаем параметры графика и добавляем окружность.
  • Создаем функцию init, которая инициализирует начальное положение стрелочки, и функцию update, которая обновляет положение стрелочки на каждом кадре.
  • Используем FuncAnimation для создания анимации, устанавливаем количество кадров и интервал между ними.
  • Запускаем анимацию с помощью plt.show().

Для выполнения этого кода убедитесь, что у вас установлены необходимые библиотеки. Вы можете установить их с помощью pip:

pip install numpy matplotlib

Запустите код, и вы увидите анимацию стрелочки, передвигающейся по окружности.