3차 스플라인 보간 계산기
점 목록을 자연(natural) 3차 스플라인으로 잇습니다. 구간마다 낮은 차수의 3차식을 써서 절점에서 값·기울기·곡률이 매끄럽게 이어지고, 점을 늘려도 라그랑주처럼 가장자리가 요동치지 않습니다.
쉼표·탭·공백 아무거나 구분자로 씁니다. x는 오름차순이어야 하고 중복될 수 없습니다. #로 시작하는 줄은 주석입니다.
x = 25에서의 S(x)
4.3534
점 7개 · 자료 범위 0 ~ 60
절점의 곡률 M — 삼중대각 방정식의 해
| x | y | M (S″) |
|---|---|---|
| 0 | 0 | 0 (경계) |
| 10 | 3.2 | -0.012231 |
| 20 | 4.8 | -0.047077 |
| 30 | 4.1 | 0.062538 |
| 40 | 5.6 | -0.071077 |
| 50 | 3.4 | -0.000231 |
| 60 | 0 | 0 (경계) |
자연(natural) 경계 조건이라 양 끝 절점의 곡률은 항상 0입니다. 내부 절점의 M은 삼중대각 연립방정식을 풀어 구했습니다.
계산 방법
- 1점 목록을 한 줄에 x, y씩 넣습니다(x는 오름차순, 중복 없이).
- 2값을 구하려는 x를 넣습니다.
- 3구간별 3차식 계수와 절점의 2계 도함수(곡률)를 함께 확인합니다.
자주 묻는 질문
점과 점 사이 구간마다 다른 3차식을 쓰되, 이웃한 구간이 만나는 절점에서 값·1계 도함수(기울기)·2계 도함수(곡률)가 매끄럽게 이어지도록 맞춘 곡선입니다. 전 구간을 하나의 고차 다항식으로 맞추는 라그랑주·뉴턴 보간과 달리 각 구간은 항상 3차라, 점이 늘어도 차수가 올라가지 않습니다.
edu/interpolation의 라그랑주·뉴턴은 n개의 점을 지나는 n−1차 다항식 하나를 만드는데, 점이 늘수록 차수가 같이 올라가 가장자리에서 크게 요동치는 룽게(Runge) 현상이 생깁니다. 3차 스플라인은 구간마다 낮은 차수(3차)를 유지해 점을 늘려도 요동치지 않는 것이 핵심 차이입니다.
스플라인 조건만으로는 미지수보다 식이 2개 모자라 양 끝에 조건을 하나씩 더 걸어야 합니다. 자연 경계는 양 끝점에서 2계 도함수(곡률)를 0으로 두는 것으로, 가장 흔히 쓰는 방식입니다. 끝에서 곡선이 더 이상 휘지 않고 거의 직선처럼 빠져나갑니다.
내부 절점마다 "1계 도함수가 좌우 구간에서 같다"는 조건을 세우면, 미지수(절점의 2계 도함수)가 이웃한 절점 셋(자기 자신과 양옆)에만 걸리는 연립방정식이 됩니다. 그래서 계수행렬이 대각선 주변 세 칸에만 값이 있는 삼중대각 꼴이 되고, Thomas 알고리즘으로 O(n)에 빠르게 풀립니다.
계산은 되지만 외삽입니다. 스플라인은 데이터 구간 안에서만 곡률 조건을 걸어 뒀기 때문에, 범위를 벗어나면 마지막 구간의 3차식을 그대로 연장할 뿐이고 실제 곡선의 모양과는 무관합니다.
알아두면 좋은 점
- 점의 x값은 오름차순이어야 하고 중복될 수 없습니다 — 같은 x에 값이 둘이면 지나는 곡선이 없습니다.
- 경계 조건은 자연(natural) 스플라인 하나만 지원합니다. 절편(clamped)·주기(periodic) 등 다른 경계 조건은 값이 달라질 수 있습니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 3일 · 결과는 참고용 추정치입니다.