컴퓨터 그래픽 곡선

컴퓨터 그래픽에서 우리는 종종 화면에 다양한 유형의 개체를 그려야합니다. 개체는 항상 평평하지 않으며 개체를 그리기 위해 곡선을 여러 번 그려야합니다.

곡선 유형

곡선은 무한히 큰 점 집합입니다. 각 점에는 끝점을 제외하고 두 개의 이웃이 있습니다. 곡선은 크게 세 가지 범주로 분류 할 수 있습니다.explicit, implicit,parametric curves.

암시 적 곡선

암시 적 곡선 표현은 곡선에 점이 있는지 확인하기 위해 테스트 할 수있는 절차를 사용하여 곡선의 점 집합을 정의합니다. 일반적으로 암시 적 곡선은 다음 형식의 암시 적 함수로 정의됩니다.

f (x, y) = 0

다중 값 곡선 (x 값에 대해 여러 y 값)을 나타낼 수 있습니다. 일반적인 예는 암시 적 표현이 다음과 같은 원입니다.

x2 + y2 - R2 = 0

명시 적 곡선

수학 함수 y = f (x)를 곡선으로 그릴 수 있습니다. 이러한 함수는 곡선의 명시 적 표현입니다. 명시 적 표현은 수직선을 나타낼 수없고 단일 값이기 때문에 일반적이지 않습니다. x의 각 값에 대해 함수는 일반적으로 y의 단일 값만 계산합니다.

파라 메트릭 곡선

파라 메트릭 형태의 커브를 파라 메트릭 커브라고합니다. 명시 적 및 암시 적 곡선 표현은 함수가 알려진 경우에만 사용할 수 있습니다. 실제로는 파라 메트릭 곡선이 사용됩니다. 2 차원 파라 메트릭 곡선의 형태는 다음과 같습니다.

P (t) = f (t), g (t) 또는 P (t) = x (t), y (t)

함수 f와 g는 곡선상의 모든 점의 (x, y) 좌표가되며, 매개 변수 t가 일정한 간격 [a, b], 일반적으로 [0, 1]에 걸쳐 변경 될 때 점을 얻습니다.

베 지어 곡선

프랑스 엔지니어가 베 지어 곡선을 발견했습니다. Pierre Bézier. 이러한 곡선은 다른 점의 제어하에 생성 될 수 있습니다. 제어점을 사용한 대략적인 접선은 곡선을 생성하는 데 사용됩니다. 베 지어 곡선은 수학적으로 다음과 같이 나타낼 수 있습니다.

$$ \ sum_ {k = 0} ^ {n} P_ {i} {B_ {i} ^ {n}} (t) $$

$ p_ {i} $는 점의 집합이고 $ {B_ {i} ^ {n}} (t) $는 다음과 같이 주어진 번스타인 다항식을 나타냅니다.

$$ {B_ {i} ^ {n}} (t) = \ binom {n} {i} (1-t) ^ {ni} t ^ {i} $$

어디 n 다항식 차수, i 인덱스이고 t 변수입니다.

가장 간단한 베 지어 곡선은 $ P_ {0} $ 지점에서 $ P_ {1} $까지의 직선입니다. 2 차 베 지어 곡선은 세 개의 제어점으로 결정됩니다. 큐빅 베 지어 곡선은 4 개의 제어점으로 결정됩니다.

베 지어 곡선의 속성

베 지어 곡선에는 다음과 같은 속성이 있습니다.

  • 일반적으로 제어점을 연결하는 세그먼트로 구성된 제어 다각형의 모양을 따릅니다.

  • 그들은 항상 첫 번째와 마지막 제어점을 통과합니다.

  • 그들은 정의하는 제어점의 볼록 껍질에 포함되어 있습니다.

  • 곡선 세그먼트를 정의하는 다항식의 정도는 정의 다각형 점의 수보다 하나 적습니다. 따라서 4 개의 제어점에 대해 다항식의 차수는 3, 즉 3 차 다항식입니다.

  • 베 지어 곡선은 일반적으로 정의하는 다각형의 모양을 따릅니다.

  • 끝점에서 접선 벡터의 방향은 첫 번째 및 마지막 세그먼트로 결정된 벡터의 방향과 동일합니다.

  • 베 지어 곡선의 볼록 껍질 속성은 다항식이 제어점을 부드럽게 따르도록합니다.

  • 제어 다각형을 교차하는 것보다 베 지어 곡선을 더 많이 교차하는 직선은 없습니다.

  • 아핀 변환에서는 변하지 않습니다.

  • 베 지어 곡선은 전역 제어를 나타냅니다. 즉, 제어점을 이동하면 전체 곡선의 모양이 변경됩니다.

  • 주어진 베 지어 곡선은 t = t0 지점에서 매개 변수 값 t = t0에 해당하는 지점에서 함께 연결되는 두 개의 베 지어 세그먼트로 세분화 될 수 있습니다.

B- 스플라인 곡선

번스타인 기저 함수에 의해 생성 된 베 지어 곡선은 유연성이 제한적입니다.

  • 첫째, 지정된 다각형 정점의 수는 곡선을 정의하는 결과 다항식의 순서를 수정합니다.

  • 두 번째 제한 특성은 혼합 함수의 값이 전체 곡선의 모든 매개 변수 값에 대해 0이 아니라는 것입니다.

B- 스플라인 기저에는 특별한 경우로 Bernstein 기저가 포함됩니다. B- 스플라인 기준은 비전 역입니다.

B- 스플라인 곡선은 제어점 Pi와 B- 스플라인 기저 함수 $ N_ {i,} $ k (t)의 선형 조합으로 정의됩니다.

$ C (t) = \ sum_ {i = 0} ^ {n} P_ {i} N_ {i, k} (t), $ $ n \ geq k-1, $ $ t \ : \ epsilon \ : [ tk-1, tn + 1] $

어디,

  • {$ p_ {i} $ : i = 0, 1, 2… .n}은 제어점입니다.

  • k는 B- 스플라인 곡선의 다항식 세그먼트 순서입니다. 차수 k는 곡선이 k-1 차의 조각 별 다항식 세그먼트로 구성됨을 의미합니다.

  • $ N_ {i, k} (t) $는 "정규화 된 B- 스플라인 블렌딩 함수"입니다. 그것들은 순서 k와 일반적으로“매듭 수열”이라고 불리는 감소하지 않는 실수 수열로 설명됩니다.

$$ {t_ {i} : i = 0, ... n + K} $$

N i , k 함수는 다음과 같이 설명됩니다.

$$ N_ {i, 1} (t) = \ left \ {\ begin {matrix} 1, & if \ : u \ : \ epsilon \ : [t_ {i,} t_ {i + 1}) \\ 0 , & 그렇지 않으면 \ end {matrix} \ right. $$

k> 1이면

$$ N_ {i, k} (t) = \ frac {t-t_ {i}} {t_ {i + k-1}} N_ {i, k-1} (t) + \ frac {t_ {i + k} -t} {t_ {i + k}-t_ {i + 1}} N_ {i + 1, k-1} (t) $$

$$ t \ : \ 엡실론 \ : [t_ {k-1}, t_ {n + 1}) $$

B- 스플라인 곡선의 속성

B- 스플라인 곡선에는 다음과 같은 속성이 있습니다.

  • 모든 매개 변수 값에 대한 B- 스플라인 기저 함수의 합은 1입니다.

  • 각 기저 함수는 모든 매개 변수 값에 대해 양수 또는 0입니다.

  • 각 기본 함수에는 k = 1을 제외하고 정확히 하나의 최대 값이 있습니다.

  • 곡선의 최대 순서는 정의 다각형의 정점 수와 같습니다.

  • B- 스플라인 다항식의 정도는 다각형을 정의하는 정점 수에 독립적입니다.

  • B- 스플라인을 사용하면 각 정점이 연관된 기저 함수가 0이 아닌 매개 변수 값 범위에 대해서만 곡선 모양에 영향을주기 때문에 곡선 표면에 대한 로컬 제어가 가능합니다.

  • 곡선은 변동 감소 속성을 나타냅니다.

  • 곡선은 일반적으로 다각형을 정의하는 모양을 따릅니다.

  • 다각형을 정의하는 정점에 적용하여 모든 아핀 변환을 곡선에 적용 할 수 있습니다.

  • 정의 다각형의 볼록 껍질 내에있는 곡선 선입니다.