길이가 다른 15개의 진자 — 주기 차이가 파동 패턴을 만든다
이 실험에 대해
단진자의 주기는 T = 2π√(L/g)로 길이에만 의존한다.15개의 진자가 각기 다른 길이(80px ~ 276px)를 가지면 출발은 같지만 각자 다른 속도로 진동한다. 파동, 수렴, 분산 패턴이 주기적으로 나타난다.
핵심 코드
// 진자마다 다른 길이
const len = BASE_LENGTH + i * LENGTH_STEP
// 같은 시작 각도로 출발
const angle = -Math.PI / 5
const bx = pivotX + Math.sin(angle) * len
const by = pivotY + Math.cos(angle) * len
Constraint.create({
pointA: { x: pivotX, y: pivotY },
bodyB: ball,
length: len, // 주기를 결정하는 핵심 값
stiffness: 1,
damping: 0.0, // 에너지 손실 없음
})