반대 방향으로 흐르는 두 파동이 중앙에서 만나 서로를 마주본다. 경계는 벽이 아니라 간섭이다.
구현
- Canvas 2D, 160×100 격자에 높이장 누적 렌더
- 왼바다:
sin(x * λ_L + t * c_L - y * 0.006)· smoothStep으로 왼쪽 가중치 - 오른바다:
sin(x * λ_R + t * c_R + y * 0.006)· 반대 방향 · 오른쪽 가중치 - 두 가중치가 중앙 ±20%에서 겹쳐 간섭 패턴 생성
- 음/양 높이에 따른 색 분리: 양은 primary 계열, 음은 어두운 accent
- 파문: pointerdown 시
Drop생성,exp(-dist/90) * lifeK가우시안 감쇠로 원형 파문 추가
컨트롤
- 왼/오른 파장 0.008-0.05 (표시는
1/λ픽셀 주기) - 왼/오른 속도 0-0.12 (오른은 내부적으로 음수)
- 진폭 0.2-1.2 (강할수록 간섭 대비 선명)
성능
- IntersectionObserver + visibilitychange로 뷰포트·탭 전환 시 rAF 정지
dprclamp 2, 드롭 최대 6개 ·DROP_LIFE2.6s 후 제거prefers-reduced-motion에서 전체 정지