피드로 돌아가기
同樣是 50 行程式碼,為什麼做出來的東西像藝術品?
Dev.toDev.to
Frontend

同樣是 50 行程式碼,為什麼做出來的東西像藝術品?

3D Noise와 Ease-out 곡선 설계를 통한 유기적 인터랙션 구현

張旭豐2026년 6월 28일5intermediate

Context

단순 함수 호출 위주의 선형적 애니메이션은 기계적인 느낌을 주어 사용자 경험의 몰입도를 저하시킴. 특히 시간 축이 결여된 2D Noise 기반 렌더링은 정적인 패턴에 그치는 한계가 존재함.

Technical Solution

  • Perlin Noise의 차원을 2D에서 3D(x, y, time)로 확장하여 시간에 따라 변화하는 유기적 Flow Field 구현
  • 선형 보간법 대신 Ease-out Quad(t * (2 - t)) 공식을 적용하여 물리 세계의 가감속을 모사한 자연스러운 움직임 설계
  • 300개 이상의 독립적 Particle 개체를 배치하여 개별 데이터 포인트를 하나의 거대한 유기적 구조로 인식하게 만드는 視覺幻覺(Visual Illusion) 유도
  • 저대비(Low Contrast) 기반의 muted color 셋업과 Alpha 채널 조절을 통한 시각적 피로도 감소 및 공간감 형성
  • mouseMoved 이벤트를 활용한 거리 기반 벡터 계산으로 단순 클릭이 아닌 공간적 상호작용(Spatial Interaction) 로직 구축

- 정적인 패턴에 frameCount 기반의 시간 차원을 추가하여 동적 생명력 부여 여부 검토 - UI/UX 애니메이션 설계 시 Linear 값 대신 Ease-out/in 곡선을 적용하여 물리적 현실성 확보 - 데이터 시각화 시 고채도 색상 대신 저대비 톤을 사용하여 사용자의 체류 시간 및 몰입도 개선 - 대량의 단순 객체를 비동기적으로 움직이게 하여 시스템 전체가 하나의 유기체처럼 보이게 하는 군집 설계 적용

원문 읽기