고리를 돌려도 왜 아무것도 바뀌지 않을까
공들이 점점 넓어지는 틈이 있는 회전 고리 안에서 튀어요. 회전은 틈을 실어 나를 뿐이에요.
클릭하면 YouTube에서 재생돼요.
왜 이렇게 될까
공들이 틈이 있는 고리 안에서 중력을 받으며 튀고, 고리는 돌아요. 회전이 공을 휘둘러 던질 것 같지만, 마찰 없는 회전 고리는 정지한 고리와 똑같이 공을 튕겨요. 회전이 하는 일은 틈을 공 옆으로 지나가게 하는 것뿐이에요.
튕김: v → v − 2·(v · n)·n벽은 t ⊥ n 방향으로 움직이므로 (v · n)은 회전과 무관
직접 만들기
Python 3 · numpy · matplotlib중력을 받는 공 하나가, 18° 틈이 4초에 한 바퀴씩 도는 고리 안에서 빠져나갈 때까지.
"""A ball under gravity in a ring with a gap that spins; the bounces are elastic and without friction.
Run: python spinning-ring.py (needs: pip install numpy matplotlib)
"""
import numpy as np
import matplotlib.pyplot as plt
plt.style.use("dark_background")
R, ball, g = 1.0, 0.05, 9.81 # ring radius (m), ball radius, gravity
gap, spin = np.radians(18), 2 * np.pi / 4 # an 18 degree gap, one turn every 4 seconds
p, v = np.array([0.3, 0.2]), np.array([1.8, 0.7])
dt, t, track = 0.0005, 0.0, []
while t < 60:
v[1] -= g * dt
p = p + v * dt
t += dt
track.append(p.copy())
r = np.linalg.norm(p)
if r > R - ball: # the ball touches the wall, or is at the gap
angle = np.arctan2(p[1], p[0])
centre = -np.pi / 2 + spin * t # where the gap is now
off = abs((angle - centre + np.pi) % (2 * np.pi) - np.pi)
if off < gap / 2 - ball / R: # all of the ball fits through: out
break
normal = p / r
v = v - 2 * np.dot(v, normal) * normal # the bounce: the spin plays no part in it
p = normal * (R - ball)
track = np.array(track)
print(f"escaped after {t:.1f} s" if t < 60 else "still inside after 60 s")
plt.figure(figsize=(6, 6))
plt.plot(track[:, 0], track[:, 1], color="#5eead4", linewidth=0.4)
plt.gca().add_patch(plt.Circle((0, 0), R, fill=False, color="white"))
plt.axis("equal")
plt.axis("off")
plt.show()
# Try: spin = 0 and centre = -np.pi / 2 (a still gap at the bottom): the bounces stay the same
해 보기: spin = 0으로 바꾸고 틈을 바닥으로 옮겨 보세요. 튕김은 그대로이고, 빠져나가는 길만 바뀌어요.
영상이 들려주는 수학
영상 노트 보기 (YouTube에서, 영어)
Two balls bounce under gravity inside a circle that spins once every four bars of the music. Every bounce is perfectly elastic — no energy is lost, so the balls never calm down. One thing may surprise you: the spinning changes nothing about the bounces.
The wall of a rotating circle only ever moves sideways, along itself, so it cannot push a ball in or out; a frictionless spinning ring bounces exactly like a still one. The only thing the rotation does is carry the hole around — and because gravity keeps the balls near the bottom, their chances come each time the hole sweeps past the floor, once per revolution. The hole widens at the start of each round (8°, 12°, then 18°), and a ball only gets out if the whole of it fits through the gap at the moment it arrives.
The run you are watching was chosen from 500 simulated starting conditions for one reason: the first escape lands in the final seconds, and the other ball is still inside when the music ends.
출처: 다음 영상의 설명 Bouncing Balls in a Spinning Circle (영어).