어떻게 그리는가
해안선을 따라 같은 간격으로 점 N개를 찍고, 각 점을 복소수 zn = xn + i·yn로 봅니다. 이 점들을 이산 푸리에 변환(DFT)하면 주파수 k마다 복소 계수 ck가 하나씩 나옵니다.
ck = (1/N) Σn=0N−1 zn · e−2πi·kn/N
z(t) ≈ Σk ck · e2πi·k·t (0 ≤ t < 1)
z(t) ≈ Σk ck · e2πi·k·t (0 ≤ t < 1)
두 번째 식의 각 항 cke2πikt가 원 하나입니다. 반지름은 |ck|, 시작 각도는 ck의 편각이고, 한 바퀴 그리는 동안 k번 돕니다(k가 음수면 반대 방향). 원을 반지름이 큰 순서로 이어 붙이면 앞의 큰 원이 대략적인 모양을, 뒤의 작은 원이 세부를 맡습니다.
섬은 따로 그린다
푸리에 급수 하나는 닫힌 곡선 하나만 그릴 수 있습니다. 그래서 한반도 본토(2048점), 제주도(256점), 울릉도(128점), 독도(64점)를 각각 따로 변환해 차례로 그립니다. 섬은 점이 적어서, 슬라이더 값이 그 섬의 점 수보다 크면 가능한 최대 개수만 씁니다.
해안선 데이터: Natural Earth 1:10m Admin 0 Countries (퍼블릭 도메인). 본토는 남한·북한 본토 다각형을 합쳐 휴전선 경계를 지운 한반도 해안선입니다. 경도에 cos 36°를 곱해 위도 36° 부근의 가로세로 비율을 맞췄습니다. 영감: YouTube “Italy through fourier” (Everything Math).