배지어 곡선과 B스플라인에 대한 설명과 만들어진 이유를 알고 싶어요?
어쩌다보니 기본 지식이 부족한 상태에서 관련공식들을 알아야 될 상황이 와버렸는데요.
배지어 곡선과 B스플라인에 대한 계산 설명과
이러한 공식들이 만들어진 이유에 대해서 알고 싶어요?
안녕하세요. 김철승 과학전문가입니다.
베지어 곡선은 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-스플라인 곡선은 매끄럽고 미분 가능합니다.
답변이 마음에 드신다면 좋아요와 추천을 부탁드립니다.
만족스러운 답변이었나요?간단한 별점을 통해 의견을 알려주세요.