TGViewer
Репетитор IT men Репетитор IT men @mentor_it · 14.4K subscribers
Post #1281 4.42K
📱 Анимация параметрической кривой в 3D декартовой системе координат с помощью Python:

# импортируем пакеты
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import animation

# Временной массив
t = np.linspace(0, 60, 500)

# Позиционные массивы и данные для них
x0 = 0
y0 = 0
z0 = -20
R = 10
a = 1
h = 1
x = x0 + R * np.cos(0.1*a*t) * np.cos(2*a*t)
y = y0 + R * np.cos(0.1*a*t) * np.sin(2*a*t)
z = z0 + h * t

# Задаем набор данных для анимации
dataSet = np.array([x, y, z]) # комбинирум наши позицонные координаты
numDataPoints = len(t)

def animate_func(num):
ax.clear() # очищаем фигуру для обновления линии, точки, заголовка и осей

# Обновление линии траектории
ax.plot3D( dataSet[0, :num + 1], dataSet[1, :num + 1], dataSet[2, :num + 1], c = 'blue')

# Обновляем локацию точки
ax.scatter(dataSet[0, num], dataSet[1, num], dataSet[2, num], c = 'blue', marker = 'o')

# Добавляем постоянную начальную точку
ax.plot3D(dataSet[0, 0], dataSet[1, 0], dataSet[2, 0], c = 'blue', marker = 'o')

# Задаем пределы для осей
ax.set_xlim3d([-20, 20])
ax.set_ylim3d([-20, 20])
ax.set_zlim3d([-20, 20])

# Добавляем метки
ax.set_title('Траектория: время: ' + str(np.round(t[num], decimals = 2)) + ' сек')

fig = plt.figure() # создаем объект
ax = plt.axes(projection = '3d')
line_ani = animation.FuncAnimation( fig, animate_func, interval = 100, frames = numDataPoints)

plt.show() # включить показ графики, отображения созданных объектов

# Сохранить анимацию
f = r"animation.gif"
writergif = animation.PillowWriter(fps = numDataPoints/6)
line_ani.save(f, writer = writergif)


💡 Репетитор IT mentor // @mentor_it
  • 👍 18
  • 🔥 6
  • ❤ 5
  • ✍ 1
  • 🤯 1
  • 😱 1
More from @mentor_it
  1. Oct 16, 2026🎮 Задача про шестиугольник и немного математической истории Интерес к правильным многоуго…
  2. Oct 15, 2026📝 Наткнулся на интересную задачку по теме факториалов. Попробуйте решить самостоятельно.…
  3. Oct 15, 2026💸Заметка о математике и трейдинге [Часть 3] Сегодня меня ликвидировало и я потерял - 458…
  4. Oct 13, 2026🥺 Сфоткал недавний сильный туман в городе. Похоже на кадр из Silent Hill ? С физической т…
  5. Oct 9, 2026📝Интеграл ∫x⋅ln(x²+1)⋅dx : сможете посчитать? Сегодня расскажу вам о задачке из математич…
  6. Sep 26, 2026⚡️Рассмотрим физику процесса фотографии. Вчера ночью у нас была гроза и был отличный шанс…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →