seegongsik
내 단어장
공업수학

보간은 점 사이를 매끄럽게 잇는다

점들을 지나는 함수로 빈칸을 메우기, 라그랑주 기저와 룽게 현상, 체비쇼프 노드와 스플라인

우리 손에 들어오는 건 늘 띄엄띄엄한 점들이다. 센서가 1초마다 잰 온도, 표에 적힌 몇 개의 값, 애니메이션의 키프레임 몇 장. 그 사이사이가 궁금할 때 점들을 지나는 매끄러운 함수 하나를 세워 빈칸을 메우는 게 보간이에요. 테일러가 한 점의 미분 정보로 곡선을 흉내냈다면, 보간은 여러 점의 위치 정보로 곡선을 세운다. N개의 점은 차수 N-1 다항식 하나를 유일하게 정한다. 그런데 점을 무작정 늘리면 오히려 곡선이 미쳐 날뛰는 룽게 현상이라는 함정이 있어요. 그래서 실전에서는 점을 영리하게 배치하거나, 구간마다 낮은 차수로 이어 붙이는 스플라인을 쓴다. 보간은 그래픽, 애니메이션, 데이터 분석, 수치적분의 바탕이다.

점들의 높이를 끌면 어떻게 옮겨도 다섯 점을 모두 정확히 지나는 매끄러운 곡선 하나가 따라와요. 이게 보간 다항식이다. 두 점은 1차인 직선 하나, 세 점은 2차인 포물선 하나, 다섯 점은 4차 하나다. N개의 점이 차수 N-1 다항식을 유일하게 정하고 더도 덜도 아니다. 점 사이를 잇는 곡선은 무수히 많지만, 차수 N-1 다항식이라는 조건을 걸면 답은 딱 하나로 못 박혀요. 보간의 출발점이다.

그 유일한 다항식을 어떻게 적을까. 라그랑주의 방법이 우아하다. 각 노드마다 기저 함수 Lᵢ 를 하나씩 만드는데, Lᵢ 는 자기 노드에서는 값이 1, 다른 모든 노드에서는 0 이 되도록 설계된 다항식이에요. 세그먼트를 누르면 하나씩 살펴볼 수 있다. 그러면 보간 다항식은 그냥 이 기저들을 높이 yᵢ 로 가중합한 것이다. P(x) = Σ yᵢ Lᵢ(x). 어떤 노드 xk 에 넣어 보면 Lk 만 1 이고 나머지는 0 이라 P(xk) = yk 가 된다. 모든 점을 정확히 지나는 게 공짜로 보장돼요. 연립방정식을 풀 필요도 없이.

점이 많을수록 더 정확하겠지 싶지만 함정이다. 종 모양의 룽게 함수를 등간격 점들로 보간해 본다. 점 개수를 늘릴수록 가운데는 좋아지는데 양 끝에서 곡선이 위아래로 미친 듯이 출렁여요. 차수 15쯤 가면 끝의 오차가 함수 값보다 몇 배나 커진다. 이게 룽게 현상이다. 고차 다항식은 노드 사이에서 자유롭게 휘려는 성질이 있어서, 점을 촘촘히 박을수록 그 사이에서 더 크게 출렁여요. 교훈은 분명하다. 보간에서 차수를 무작정 올리는 건 답이 아니다.

그럼 답은 무엇일까. 놀랍게도 보간 방법은 그대로 두고 점을 어디 두느냐만 바꾸면 된다. 등간격 대신 체비쇼프 배치로 토글하면, 이건 점들을 양 끝으로 갈수록 더 촘촘하게 모으는 배치예요. 같은 개수, 같은 라그랑주 보간인데 끝의 폭발이 거짓말처럼 가라앉는다. 직관은 이렇다. 다항식이 끝에서 출렁이려 하니까 끝에 점을 더 많이 박아 그 출렁임을 미리 눌러 두는 것이다. 망원경 거울 설계나 함수 근사에서 체비쇼프가 황금 표준인 이유예요. 문제는 보간이 아니라 점의 배치였다.

점의 위치를 내가 못 고르고 주어진 그대로 써야 할 때도 많다. 그럴 때는 아예 전략을 바꾼다. 곡선 전체를 하나의 고차 다항식으로 덮는 대신, 이웃한 두 점씩만 보는 낮은 3차 조각들을 매끄럽게 이어 붙이는 3차 스플라인이에요. 점을 늘려 보면 금색 다항식은 끝에서 출렁이는데 파란 스플라인은 참값에 딱 붙는다. 한 조각이 멀리 있는 점의 영향을 안 받는 국소성 덕분에, 한 군데 출렁임이 전체로 번지지 않는다. 글꼴의 곡선, 자동차 차체 설계(CAD), 애니메이션 경로가 다 스플라인이에요. 보간은 점을 잇는 일을 넘어 어떻게 이을지를 고르는 일이다.

빠른 적용보간은 띄엄띄엄한 점들 사이를, 그 점들을 모두 지나는 함수로 메우는 일이다. N개의 점은 차수 N-1 다항식 하나를 유일하게 정하고, 자기 노드에서 1, 나머지에서 0 인 라그랑주 기저로 깔끔하게 적혀요. 하지만 등간격 점으로 차수를 무작정 올리면 끝에서 폭발하는 룽게 현상에 빠진다. 해법은 둘이다. 점을 양 끝에 촘촘히 두는 체비쇼프 배치, 또는 구간마다 낮은 차수로 매끄럽게 잇는 스플라인. 테일러가 한 점의 미분으로 근사했다면 보간은 여러 점의 위치로 근사해요. 둘 다 복잡한 함수를 다루기 쉬운 다항식으로 바꾸는 같은 꿈을 꾼다. 그래픽, CAD, 데이터 분석, 그리고 다음에 볼 수치적분까지 보간 위에 서 있다.
공업수학
이 페이지가 도움 됐다면 후원하기