Bezier곡선에 유연성을 제공하기 위해서는 차수를 높이거나 분할하는 방법밖에 없었습니다.
Bezier 곡선을 분할했다면 연속성을 유지하기 위해 연결되는 두 곡선 중 첫 번째 곡선의 제일 마지막 제어점에서의 기울기와 두 번째 곡선의 첫 번째 제어점에서의 기울기가 서로 같아야 했습니다.
어쨌던 차수를 높이거나 분할하는 방법은 가중 곡선의 형태를 유지하거나 계산상의 부담을 가중시키게 되는데,
B-Spline 곡선에서는 차수를 높이지 않아도 $C1$연속성을 유지하기 위한 고려도 하지 않아도 됩니다.
임의의 제어점을 Bezier곡선으로 표현을 하면 차수가 제어점 개수보다 하나 작은 다항식이 생깁니다.
B-Spline곡선은 Bezier곡선보다 더 낮은 차수의 식으로 곡선의 표현이 가능합니다.
낮은 차수의 식으로 곡선을 표현하려면 결과적으로 여러 개의 식이 필요하게 됩니다.
각각의 식이 곡선의 일부분을 표현하므로 곡선을 식의 개수만큼 분할하는 것과 같이 됩니다.
앞에서 우리는 Bezier곡선에 대해서 살펴보았습니다.
Bezier곡선이 어떤 복잡한 모양을 띄게 되더라도 처음에는 단순한 직선에서부터 시작되었습니다.
마치 어떤 풍성한 나무라도 그것은 뿌리로부터 시작된 것 처럼.
B-Spline곡선도 그것이 복잡한 모양을 띄어도 단순한 영역에서부터 시작되었습니다.
그것은 이 단순한 영역 밖에서는 존재하지 않고 오로지 그 영역 상에서만 존재합니다.
이 영역을 뿌리로 하여 곡선이 뻗어 나가게 됩니다.
B-Spline곡선은 차수를 낮추면 여러 개의 식(각각의 식은B-spline곡선의 일부분을 표현한다)이 생기며 이 식들은 그것의 뿌리가 되는 영역의 일부분 상에 존재하게 됩니다.
이 영역을 여러 개의 조각으로 나누는 점들을 knot이라고 합니다.
4차의 bspline을 그리는 프로그램을 첨부합니다.
Bezier 곡선을 분할했다면 연속성을 유지하기 위해 연결되는 두 곡선 중 첫 번째 곡선의 제일 마지막 제어점에서의 기울기와 두 번째 곡선의 첫 번째 제어점에서의 기울기가 서로 같아야 했습니다.
어쨌던 차수를 높이거나 분할하는 방법은 가중 곡선의 형태를 유지하거나 계산상의 부담을 가중시키게 되는데,
B-Spline 곡선에서는 차수를 높이지 않아도 $C1$연속성을 유지하기 위한 고려도 하지 않아도 됩니다.
임의의 제어점을 Bezier곡선으로 표현을 하면 차수가 제어점 개수보다 하나 작은 다항식이 생깁니다.
B-Spline곡선은 Bezier곡선보다 더 낮은 차수의 식으로 곡선의 표현이 가능합니다.
낮은 차수의 식으로 곡선을 표현하려면 결과적으로 여러 개의 식이 필요하게 됩니다.
각각의 식이 곡선의 일부분을 표현하므로 곡선을 식의 개수만큼 분할하는 것과 같이 됩니다.
앞에서 우리는 Bezier곡선에 대해서 살펴보았습니다.
Bezier곡선이 어떤 복잡한 모양을 띄게 되더라도 처음에는 단순한 직선에서부터 시작되었습니다.
마치 어떤 풍성한 나무라도 그것은 뿌리로부터 시작된 것 처럼.
B-Spline곡선도 그것이 복잡한 모양을 띄어도 단순한 영역에서부터 시작되었습니다.
그것은 이 단순한 영역 밖에서는 존재하지 않고 오로지 그 영역 상에서만 존재합니다.
이 영역을 뿌리로 하여 곡선이 뻗어 나가게 됩니다.
B-Spline곡선은 차수를 낮추면 여러 개의 식(각각의 식은B-spline곡선의 일부분을 표현한다)이 생기며 이 식들은 그것의 뿌리가 되는 영역의 일부분 상에 존재하게 됩니다.
이 영역을 여러 개의 조각으로 나누는 점들을 knot이라고 합니다.
4차의 bspline을 그리는 프로그램을 첨부합니다.
댓글
댓글 쓰기