← Home/matter

공을 잡아 당겼다 놓으세요 — 운동량이 전달됩니다

이 실험에 대해

뉴턴의 요람. 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,
})