TGViewer
Wild Mathing Wild Mathing @wildmathing · 5.57K subscribers
Post #115 7.29K
💾 В двух свежих вертикальных роликах (1, 2) программировал физику в Manim. Это делается несложно, хотя и неочевидно из-за отсутствия документации. Используются dt-апдейтеры, как показывал в математических бильярдах, либо alpha-апдейтеры — делюсь кодом ниже. Его можно оформить в 10-15 строк, но добавил больше переменных для гибкости, а также цикл for i in range(40) для красоты: отражает жёлтые шлейфы. Также любителям Manim рекомендую посмотреть код симпатичной анимации додекаэдра и другие посты по тегу #manim

from manim import *


class HomeworkGravity(Scene):
def construct(self):
g = 9.8
v = 15
run_time = 3
theta = 55
notes = Tex(f"$v_0={v}$ m/s", rf"$\theta={theta}^\circ$")
theta *= DEGREES
self.add(notes.arrange(DOWN))
ball = Circle(0.3).set_fill(WHITE, 1).to_edge(DL, -1)
ball.set_stroke(YELLOW, 1)
ball.start = ball.get_center()
tails = VGroup()
for i in range(40):
def get_traced_point(i=i):
return ball.point_from_proportion(i / 40)
length = np.random.uniform(0.25, 1)
tail = TracedPath(get_traced_point, dissipating_time=length)
tail.set_stroke(YELLOW, 1, [1,0])
tails.add(tail)

def apply_gravity(mob, alpha):
x_0, y_0 = ball.start[:2]
t = run_time * alpha
x = x_0 + v * np.cos(theta) * t
y = y_0 + v * np.sin(theta) * t - 0.5 * g * t ** 2
pos = np.array((x, y, 0))
mob.move_to(pos)

self.add(ball, tails)
self.play(
UpdateFromAlphaFunc(ball, apply_gravity),
rate_func=linear,
run_time=run_time,
)
  • 🔥 34
  • ❤ 19
  • 😍 8
More from @wildmathing
  1. Sep 26, 2026🎙 Самое интересное математическое интервью, которое послушал в последнее время — беседа с…
  2. Sep 25, 2026💔 У меня есть любимый YouTube-канал по математическому анализу — Hmath. Недавно узнал, чт…
  3. Sep 24, 2026Post #199
  4. Sep 19, 2026🧩 В августе на канале 3B1B был симпатичный пазл месяца про три булавки в вершинах квадрат…
  5. Sep 18, 2026Каждый имеет достаточно сил, чтобы достойно прожить жизнь. А все эти разговоры о том, како…
  6. Sep 16, 2026🎬 Вчера выпустил Shorts с красивой задачей. Многим понравилась, так что поделюсь и здесь.…
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 →