← Home/pretext

이 실험에 대해

layoutWithLines() + measureText()로 각 글자의 초기 위치를 계산한 뒤, 물리 엔진을 적용한다. 매 프레임마다 중력을 누적하고, 바닥 충돌 시 반발 계수(0.24)와 마찰(0.76)을 적용해 자연스럽게 쌓인다. 캔버스를 좌우로 드래그하면 마우스 속도가 모든 글자에 힘으로 전달된다.

핵심 코드

// 매 프레임: 중력 누적 + 충돌
c.vy += GRAVITY        // 중력 가속

if (c.y >= floor) {
  c.y = floor
  c.vy *= -BOUNCE      // 바닥 반발
  c.vx *= FRICTION     // 마찰
}

// 드래그 → 흔들기
const shakeVX = mouseX - prevMouseX
c.vx += shakeVX * 0.35
c.vy -= Math.abs(shakeVX) * 0.06  // 위로 살짝 튀어오름