← Home/matter

구슬이 경사로를 따라 굴러내립니다 — 구슬 0

이 실험에 대해

5개의 경사 ramp와 4개의 탄성 bumper로 지그재그 트랙을 구성했다. 매 40프레임마다 새 구슬이 상단에서 떨어지고, 최대 40개를 유지한다. 경사 각도와 마찰을 조합해 구슬이 자연스럽게 흘러내리면서도 좌우로 튀도록 설계했다.

핵심 코드

// 경사로: 각도를 라디안으로 변환
Bodies.rectangle(x, y, length, 10, {
  isStatic: true,
  friction: 0.3,
  restitution: 0.15,
  angle: (angleDeg * Math.PI) / 180,
})

// 탄성 bumper
Bodies.circle(x, y, 12, {
  isStatic: true,
  restitution: 0.7,  // 높은 반발
  friction: 0.1,
})

// 주기적 구슬 생성
if (frame % SPAWN_INTERVAL === 0) spawnMarble()