핵심 요약
- 푸리에 변환 원리를 활용해 서로 다른 크기와 속도로 회전하는 원들을 이어 붙여 그림을 그리는 시각화 프로젝트가 공개되었습니다.
- 원을 2~3개만 쓰면 사각형이나 물고기를 그리지만, 1024개의 원을 연결하자 복잡한 라마의 외곽선까지 완벽하게 재현했습니다.
- 회전 속도(주파수), 반지름, 위상을 복소수와 선형대수학 벡터로 표현해 신호 처리 수학을 직관적으로 보여줍니다.
요약 수학에서 신호를 시간 영역에서 주파수 영역으로 변환하는 푸리에 변환(Fourier Transform)을 이용해 회전하는 원만으로 복잡한 라마 그림을 그리는 시각화 튜토리얼이 개발자 커뮤니티에서 관심을 모았습니다. 푸리에 변환은 원래 오디오 엔지니어가 음원 속 불필요한 주파수를 제거하거나, 이미지 압축(JPEG), 가우시안 블러 같은 디지털 필터링에 주로 사용되는 수학 기법입니다.
이번 글에서는 한 번 연필을 댄 뒤 떼지 않고 그리는 연속된 경로(폐곡선)를 서로 다른 속도와 반지름, 시작 각도를 가진 여러 개의 회전 벡터(주전원, Epicycles)로 분해하는 원리를 설명합니다. 기본적으로 회전하는 원 두 개만 연결해도 직선이나 사각형을 그릴 수 있고, 세 번째 원을 추가하면 물고기 같은 곡선 형태를 그릴 수 있게 됩니다.
더 나아가 원 1024개를 꼬리에 꼬리를 물 듯 연결하면 라마 형태의 정교한 외곽선까지 그대로 재현해낼 수 있습니다. 회전하는 원의 개수가 늘어날수록 원래 입력한 그림에 가깝게 정밀해지며, 각 원의 회전 속도(주파수), 크기(반지름), 시작 각도(위상)라는 3가지 요소는 하나의 복소수로 깔끔하게 표현됩니다. 복소수 평면과 선형대수학의 기저 벡터 개념을 활용해 복잡한 수학 공식이 어떻게 직관적인 애니메이션 그림으로 구현되는지 보여줍니다.
Sponsored · 광고