선형 보간법

위키백과, 우리 모두의 백과사전.
둘러보기로 가기 검색하러 가기

선형 보간법(線型補間法, linear interpolation)은 끝점의 값이 주어졌을 때 그 사이에 위치한 값을 추정하기 위하여 직선 거리에 따라 선형적으로 계산하는 방법이다.

두 빨강색 점 사이에 있는 파랑색 점의 위치를 추정하기 위하여 선형 보간법을 사용할 수 있다.

예시[편집]

예를 들어, 오른쪽 그림과 같이, 두 끝점 가 주어져 있을 때, 그 사이에 위치한 의 값을 추정하기 위해 두 점 사이에 직선을 긋고 다음과 같은 비례식을 구성할 수 있다.

이 수식을 풀면, 어떤 주어진 값 에 대한 값을 다음과 같이 구할 수 있다.

일반화[편집]

p1과 p2 사이에 있는 점 p의 값을 추정하기 위해 선형 보간법을 사용할 수 있다.

일반적으로 두 지점 에서의 데이터 값이 각각 일 때, 사이의 임의의 지점 에서의 데이터 값 는 다음과 같이 계산할 수 있다.

단, 에서 까지의 거리, 에서 까지의 거리를 말한다.

만일 거리의 비를 합이 1이 되도록 정규화하면 () 위 식은 다음과 같이 단순화될 수 있다.

확장[편집]

선형 보간법은 1차원 직선상에서 이루어지는 보간법이다. 이를 2차원으로 확장하여 평면에 적용한 것이 이중 선형 보간법(bilinear interpolation)이고, 이를 3차원으로 확장하여 입방체에 적용한 것이 삼중 선형 보간법(trilinear interpolation)이다.

프로그래밍[편집]

선형 보간법은 다음과 같은 방법으로 프로그래밍을 할 수 있다.

// p1,p2를 d1:d2로 분할하는 p를 리턴한다. (단, d1+d2=1)
float lerp(float p1, float p2, float d1) {
  return (1-d1)*p1 + d1*p2;
}

p1, p2사이의 임의의 지점 p에서의 데이터값 f(p)는 다음과 같다.

따라서,

같이 보기[편집]

외부 링크[편집]