베지어 곡선

Bézier curve
4개의 관리점이 있는 입방 베지어 곡선
입방체 베지어 곡선의 경우 [0,1]범위 t에서 기본 함수는 파란색: y = (1 - t), 녹색: y = 3(1 - t) t, 빨간색: y = 3(1 - t) t 및 청록색: y = t입니다.

베지어 곡선(/ ˈb ɛz.i.e ɪ/ BEH-zee-ay)은 컴퓨터 그래픽스 및 관련 분야에서 사용되는 매개 변수 곡선입니다. 이산 "관리점" 집합은 공식을 통해 매끄럽고 연속적인 곡선을 정의합니다. 일반적으로 곡선은 수학적 표현이 없거나 표현이 알려지지 않거나 너무 복잡한 실제 모양에 근접하도록 설계됩니다. 베지어 곡선은 1960년대에 르노 자동차의 차체를 위한 곡선을 디자인하기 위해 사용했던 프랑스 엔지니어 피에르 베지어(Pierre Bézier, 1910-1999)의 이름을 따서 명명되었습니다.[3] 다른 용도로는 컴퓨터 글꼴 및 애니메이션 디자인이 있습니다.[3] 베지어 곡선을 결합하여 베지어 스플라인을 형성하거나 더 높은 차원으로 일반화하여 베지어 표면을 형성할 수 있습니다.[3] 베지어 삼각형은 후자의 특별한 경우입니다.

벡터 그래픽에서 베지어 곡선은 무한히 확장될 수 있는 매끄러운 곡선을 모델링하는 데 사용됩니다. "[note 1]경로"는 이미지 조작 프로그램에서 일반적으로 언급되는 것처럼 연결된 베지어 곡선의 조합입니다. 경로는 래스터화된 이미지의 제한에 구속되지 않으며 수정하기에 직관적입니다.

베지어 곡선은 특히 애니메이션,[4][note 2] 사용자 인터페이스 설계 및 눈 시선 제어 인터페이스의 평활 커서 궤적에서 시간 영역에서도 사용됩니다.[5] 예를 들어, 베지어 곡선을 사용하여 단순히 단계당 고정된 픽셀 수로 이동하는 것이 아니라 A에서 B로 이동하는 아이콘과 같은 객체의 시간에 따른 속도를 지정할 수 있습니다. 애니메이터 또는 인터페이스 디자이너가 작업의 "물리적" 또는 "느낌"에 대해 이야기할 때, 그들은 문제의 이동 시간에 따른 속도를 제어하기 위해 사용되는 특정 베지어 곡선을 언급할 수 있습니다.

이는 예를 들어 용접 암의 움직임이 매끄러워야 불필요한 마모를 피할 수 있는 로봇공학에도 적용됩니다.

발명.

베지어 곡선의 수학적 기초인 번스타인 다항식은 1912년에 확립되었지만, 그 다항식은 50년 정도가 지난 1959년 수학자 폴 드 카스텔자우가 곡선을 평가하는 수치적으로 안정된 방법인 드 카스텔자우의 알고리즘을 개발할 때까지 그래픽에 적용되지 않았습니다. 프랑스 자동차 회사인 시트로 ë에서 처음으로 컴퓨터 지원 설계에 적용했습니다. De Casteljau의 방법은 프랑스에서 특허를 받았지만 1980년대까지[7] 발표되지 않았고, 1960년대에 프랑스 엔지니어 Pierre Bézier에 의해 널리 발표되었습니다. Pierre Bézier는 그 다항식들을 독립적으로 발견하고 르노에서 자동차 차체를 디자인하는 데 사용했습니다.

구체적인 경우

베지어 곡선은 관리점 P에서 P까지의 집합으로 정의되며, 여기서 n은 곡선의 순서(선형의 경우 n = 1, 2차의 경우 2, 3 등)라고 합니다. 첫 번째 및 마지막 관리점은 항상 곡선의 끝점이지만 중간 관리점은 일반적으로 곡선 위에 놓이지 않습니다. 다음 절의 합계는 아핀 조합, 즉 계수의 합계가 1인 것으로 이해됩니다.

선형 베지어 곡선

서로 다른 점 P0 P1 주어졌을 때, 선형 베지어 곡선은 이 두 점 사이의 선일 뿐입니다. 곡선은 다음과 같습니다.

이것은 가장 단순하고 선형 보간에 해당합니다.[8] 수량 - P } -은 시작점에서 종료점까지의 변위 벡터를 나타냅니다.

이차 베지어 곡선

현악에서의 사차 베지어: 끝점(•)과 관리점(x)은 2차 베지어 곡선(⋯)을 정의합니다.

2차 베지에 곡선은 주어진0P1, P2, P에 의해 함수 B(t)에 의해 추적되는 경로입니다.

() =( 1- ) [ ( - t ) P 0 + t P 1 ] + t [ ( 1 - t ) P 1 + t P 2 ], 0 ≤ t ≤ 1 {\displaystyle \mathbf {B} t) = (1-t) [ (1-t)\mathbf {P} _{0} + t\mathbf {P} _{1} + t [ (1-t)\mathbf {P} _{1} + t\mathbf {P} _{2}, 0\leq t\leq 1}

이는 각각 P에서0 P까지의1 선형 베지어1 곡선2 P에서 P까지의 선형 곡선에서 대응하는 점들의 선형 보간으로 해석될 수 있습니다. 앞의 방정식을 재배열하면 다음과 같은 결과가 나옵니다.

이는 P1 대한 대칭성을 강조하는 방식으로 작성할 수 있습니다.

이는 t에 대한 베지어 곡선의 도함수를 즉시 제공합니다.

이로부터 P0 P에서2 곡선에 대한 접선은 P에서1 교차한다고 결론지을 수 있습니다. t가 0에서 1로 증가함에 따라 곡선은 P에서0 P1 방향으로 출발한 다음 휘어져서1 P 방향에서 P2 도달합니다.

t에 대한 베지어 곡선의 두 번째 도함수는

큐빅 베지어 곡선

평면 또는 고차원 공간에 있는 네 0 1 P, P, P2, P3 입방 베지어 곡선을 정의합니다. 곡선은 P1 향해 가는 P에서0 시작하여 P2 방향에서 P3 도달합니다. 일반적으로 P1 또는 P2 통과하지 않으며, 이 점들은 방향 정보를 제공하기 위한 것일 뿐입니다. P1 P2 사이의 거리는 곡선이 P2 방향으로 향하기 1 P 방향으로 이동하는 "거리"와 "속도"를 결정합니다.

Pi, Pj, Pk 정의되는 이차 베지어 곡선에 대해 BPi,Pj,Pk(t)를 쓰면, 이차 베지어 곡선은 두 이차 베지어 곡선의 아핀 조합으로 정의할 수 있습니다.

곡선의 명시적인 형태는 다음과 같습니다.

일부1 P2 P 선택의 경우 곡선이 교차하거나 첨자를 포함할 수 있습니다.

4개의 구별되는 점들로 이루어진 어떤 급수도 4개의 점들을 모두 순서대로 통과하는 3차 베지에 곡선으로 변환될 수 있습니다. 어떤 입방체 베지어 곡선의 시작점과 끝점, 그리고 곡선을 따라 t = 1/3, t = 2/3에 해당하는 점들이 주어지면, 원래 베지어 곡선에 대한 통제점들을 복구할 수 있습니다.

t에 대한 입방체 베지어 곡선의 도함수는

t에 대한 베지어 곡선의 두 번째 도함수는

일반적 정의

베지어 곡선은 어떤 차수 n에 대해서도 정의될 수 있습니다.

재귀적 정의

n도의 베지어 곡선에 대한 재귀적 정의는 n도 - 1도의 두 베지어 곡선에서 대응하는 한 쌍의 점 대 점 선형 조합(선형 보간)으로 표현합니다.

0 {}임의0P1, P, ..., Pk 의해 결정되는 베지어 곡선을 나타냅니다. 그런 다음 시작하려면,

이 재귀는 아래 애니메이션에 설명되어 있습니다.

명시적 정의

공식은 다음과 같이 명시적으로 표현할 수 있습니다(여기서 t와0 (1-t)0는 [0,1] 전체에 걸쳐 연속적으로 1이 되도록 확장됩니다).

여기서( i 이항 계수입니다.

예를 들어, n = 5일 때:

용어.

일부 용어는 이러한 모수 곡선과 관련이 있습니다. 우리는 가지고 있다.

여기서 다항식들은

n차의 번스타인 기저 다항식으로 알려져 있습니다.

t = 1, (1 - ) = 1 이항 계수인 (n i) {\displaystyle \scriptstyle {n \choose i}}는 다음과 같습니다.

Pi 베지어 곡선의 관리점이라고 합니다. 베지어 점을 으로0 연결하여 P로 시작하여 Pn 끝나는 다각형베지어 다각형(또는 제어 다각형)이라고 합니다. 베지어 다각형의 볼록한 선체는 베지어 곡선을 포함합니다.

다항식

베지어 곡선을 덜 단순한 번스타인 다항식의 합 대신 다항식으로 표현하는 것이 바람직하기도 합니다. 곡선의 정의에 이항 정리를 적용한 후 약간의 재배열을 수행하면 다음과 같은 결과를 얻을 수 있습니다.

어디에

( 의 많은 평가 전에 계산할 수 있다면 이는 실용적일 수 있습니다 그러나 고차 곡선에는 숫자 안정성이 부족할 수 있으므로 주의해야 합니다(이 경우 de Casteljau의 알고리즘을 사용해야 함).