안녕하세요. 김철승 과학전문가입니다.
베지어 곡선은 n차 베지어 기저 함수의 선형
결합으로 표현되는 매끄러운 곡선입니다.
n차 베지어 곡선은 n+1개의 제어점을 가지며
각 제어점은 곡선의 모양을 결정하는 데
중요한 역할을 합니다.
n차 베지어 기저 함수는 (1-t)^n t(1-t)^(n-1) ... t^n으로 정의되는 다항 함수입니다.
각 기저 함수는 제어점과 연결된 곡선의 부분을 나타냅니다.
베지어 곡선의 특정 점 P(t)의 좌표는
다음 공식으로 계산됩니다.
P(t) = Σ(Bin * P_i)
Bin: n차 베지어 기저 함수
P_i: i번째 제어점의 좌표
t: 곡선 상의 점의 위치를 나타내는 매개변수 (0 ≤ t ≤ 1)
낮은 차수의 베지어 곡선은 계산이 비교적 간단합니다.
베지어 곡선은 매끄럽고 미분 가능합니다.
각 제어점은 곡선의 국부적인 모양만을 변형합니다.
다양한 형태의 곡선을 만들 수 있습니다.
B-스플라인은 피팅 함수의 조합으로 표현되는
매끄러운 곡선입니다.
B-스플라인은 베지어 곡선과 유사하지만
더 많은 제어점을 사용하여 더 복잡한 곡선을 만들 수 있습니다.
B-스플라인 곡선의 특정 점 P(t)의 좌표는 다음 공식으로 계산됩니다.
P(t) = Σ(N_ik * P_i)
N_ik: k차 B-스플라인 기저 함수
P_i: i번째 제어점의 좌표
t: 곡선 상의 점의 위치를 나타내는 매개변수
2.3 B-스플라인 기저 함수
B-스플라인 기저 함수는 재귀적인 방식으로 정의됩니다.
0차 B-스플라인 기저 함수는 단위 계단 함수이며
k차 B-스플라인 기저 함수는 다음 공식으로 계산됩니다.
N_ik(t) = ((t - t_i) / (t_(i+k) - t_i)) * N_ik-1(t) + ((t_(i+k+1) - t) / (t_(i+k+1) - t_(i+1))) * N_(i+1)k-1(t)
t_i: 노트 벡터(knot vector)의 i번째 요소
다양한 형태의 곡선을 만들 수 있습니다.
각 제어점은 곡선의 국부적인 모양만을 변형합니다.
B-스플라인 곡선은 매끄럽고 미분 가능합니다.
답변이 마음에 드신다면 좋아요와 추천을 부탁드립니다.