보간법(interpolation)은 이미 아는 값들 사이의 값을 구하는 방법이다. 두 점을 직선으로 잇는 선형 보간은 그 사이의 변화가 일정하다고 놓고 값을 계산한다. ([NumPy의 interp 안내](https://numpy.org/doc/stable/reference/generated/numpy.interp.html)) ## 사이를 계산하기 - 시작값이 `a`, 끝값이 `b`라면 선형 보간의 값은 `a + (b - a) × t`로 쓸 수 있다. 이때 `t`를 0에서 1까지 움직인다. - 10과 30의 중간을 계산하는 예시에서 `t = 0.5`를 넣으면 20이 나온다. 이 계산은 중간값을 실제로 관측했다는 뜻이 아니다. - [[전환 효과]]에서 위치를 움직이거나 [[그레이디언트]]의 중간 색을 정할 때도 어떤 방식으로 사이를 채울지 선택한다. 같은 양 끝값을 써도 보간 방식과 계산하는 공간에 따라 중간 결과가 달라질 수 있다. - 곡선을 쓸 때는 값이 원래 범위를 넘어서는지도 살핀다. SciPy의 PCHIP는 자료의 단조성을 보존하고, 중간 곡선이 자료의 값을 넘어 튀지 않도록 하는 보간법이다. ([SciPy의 PchipInterpolator 안내](https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.PchipInterpolator.html)) - 주어진 범위 밖을 계산하는 [[외삽]]은 별도로 구분한다. NumPy의 `interp`는 기본 설정에서 범위 밖을 계속 직선으로 연장하지 않고 양 끝값을 반환한다. ([NumPy의 interp 안내](https://numpy.org/doc/stable/reference/generated/numpy.interp.html)) ## 기타 등등 - NumPy의 `interp`에는 주기를 지정하는 `period`가 있다. 각도처럼 한 바퀴 뒤에 같은 위치로 돌아오는 좌표를 보간할 때 쓴다. [출처](https://numpy.org/doc/stable/reference/generated/numpy.interp.html) - PCHIP 곡선은 첫 번째 미분값이 이어져도 두 번째 미분값은 연결 지점에서 불연속일 수 있다. ‘매끄럽다’에도 확인하는 차수가 있다. [출처](https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.PchipInterpolator.html) #수학 #프로그래밍 #디자인