공을 잡아 당겼다 놓으세요 — 운동량이 전달됩니다
이 실험에 대해
뉴턴의 요람. 5개의 강철 공이 실로 매달려 있고, 한쪽 끝 공의 운동량이 순간적으로 반대편 끝으로 전달된다. 높은 restitution(0.99)과 낮은 마찰로 에너지 손실을 최소화한다. 마우스로 공을 잡아 원하는 높이까지 끌어올렸다 놓으면 실제 뉴턴의 요람처럼 반응한다.
핵심 코드
// 각 공: 고정점에서 단진자 Constraint
Constraint.create({
pointA: { x: pivotX, y: pivotY }, // 천장 고정점
bodyB: ball,
length: STRING_LENGTH,
stiffness: 1,
damping: 0.001, // 에너지 손실 최소
})
// 공 물성
Bodies.circle(x, y, R, {
restitution: 0.99, // 거의 완전 탄성 충돌
friction: 0.0,
frictionAir: 0.001,
})