최근 수정 시각 : 2024-11-03 16:43:46

베지에 곡면

1. 개요2. 정의
2.1. (1, 1)차 베지에 곡면2.2. (2, 1)차 베지에 곡면2.3. (2, 2)차 베지에 곡면2.4. (3, 3)차 베지에 곡면2.5. (n, m)차 베지에 곡면
3. 베지에 삼각형
3.1. 1차 베지에 삼각형3.2. 2차 베지에 삼각형3.3. 3차 베지에 삼각형3.4. n차 베지에 삼각형
4. 성질5. 활용6. 도보시오

1. 개요

Bézier Surface

프랑스의 공학자 피에르 베지에(Pierre Bézier)의 이름을 딴 곡면. 영어식으로 베지어 곡면으로 읽기도 한다. 4개 이상의 점으로 정의되는 매개변수 곡면이며, 점 몇개로 곡면을 특정할 수 있는 성질 때문에 CAD, 컴퓨터 그래픽컴퓨터 환경, 특히 벡터 그래픽에서 곡면을 표현하는 데 널리 쓰인다.

2차원 상에서 베지에 곡선을 정의할 수 있는 것처럼, 이를 3차원으로 확장하여 베지에 곡면을 정의할 수 있다.

2. 정의

베지에 곡면 하나를 정의하는 데는 베지에 패치[1]는 4개, 베지에 삼각형은 3개 이상의 점이 필요한데, 이 점을 control point라 한다. 한국어로는 조절점, 조정점, 제어점 등의 여러 번역어가 있는데 여기서는 조절점을 쓰기로 하자.

가로 [math(n)]개와 세로 [math(m)]개의 조절점으로 이루어진 베지에 곡면을 [math((n - 1,\, m - 1))]차 베지에 곡선이라고 한다. 예를 들어 [math(n)]과 [math(m)]이 모두 2인, 점 네 개로 이루어진 베지에 곡면은 (1, 1)차 베지에 곡면이다.

2.1. (1, 1)차 베지에 곡면

가장 기본적인 베지에 곡면이다. 2차원 상에서 1차 베지에 곡선 위의 점을 선형 보간했던 것처럼, 3차원 상에서도 곡면 위에 놓인 점을 가로로 선형 보간하고 세로로도 선형 보간한 것처럼 생각할 수 있다. 혹은 1차 베지에 곡선을 인접한 1차 베지에 곡선으로 선형 보간한 것으로 도 생각할 수 있다. 조절점 [math(P_{00})], [math(P_{01})], [math(P_{10})], [math(P_{11})]가 주어졌을 때 (1, 1)차 베지에 곡면의 매개변수 방정식은 다음과 같다.
[math(
\begin{aligned}
\mathrm{\mathbf p_{1,1}} \left( u, \, v \right)
&= \begin{pmatrix} 1 - u & u \end{pmatrix}
\begin{bmatrix} P_{00} & P_{01} \\ P_{10} & P_{11} \end{bmatrix}
\begin{pmatrix} 1 - v \\ v \end{pmatrix} \\
& \begin{array}{}
= & \left(1 - u \right) & \left(1 - v \right) & P_{00} & + & u & \left(1 - v \right) & P_{10} \\
+ & \left(1 - u \right) & v & P_{01} & + & u & v & P_{11}
\end{array}
\end{aligned}
)]

네 점이 모두 특정 평면 위에 놓여있지 않는 경우를 제외하고 그래프의 개형은 이차곡면선형변환쌍곡포물면이다.

2.2. (2, 1)차 베지에 곡면

조절점 6개 [math( \begin{bmatrix} P_{00} & P_{01} \\ P_{10} & P_{11} \\ P_{20} & P_{21} \end{bmatrix} )]가 주어졌을 때 2차 베지에 곡선은 [math(P_0)]와 [math(P_1)]로 정의된 1차 베지에 곡선 위의 점과, [math(P_1)]과 [math(P_2)]로 정의한 1차 베지에 곡선 위의 점을 선형 보간한 것으로 생각할 수 있다. 식으로 표현하면 다음과 같다.
[math(
\begin{aligned}
\mathrm{\mathbf p_{1,2}} \left( u, \, v \right)
& = \begin{pmatrix} \left( 1 - u \right)^2 & 2 \left( 1 - u \right) u & u^2 \end{pmatrix}
\begin{bmatrix} P_{00} & P_{01} \\ P_{10} & P_{11} \\ P_{20} & P_{21} \end{bmatrix}
\begin{pmatrix} 1 - v \\ v \end{pmatrix} \\
& \begin{array}{}
= & \left( 1 - u \right)^2 & \left( 1 - v \right) & P_{00}
& + & 2 \left( 1 - u \right) u & \left( 1 - v \right) & P_{10}
& + & u^2 & \left( 1 - v \right) & P_{20} \\
+ & \left( 1 - u \right)^2 & v & P_{01}
& + & 2 \left( 1 - u \right) u & v & P_{11}
& + & u^2 & v & P_{21}
\end{array}
\end{aligned}
)]

(1, 2)차 베지에 곡면도 행렬이 전치되고 서로 위치만 바뀌었을 뿐 (2, 1)차 베지어 곡면과 완전히 동일하다.

2.3. (2, 2)차 베지에 곡면

조절점 9개 [math( \begin{bmatrix} P_{00} & P_{01} & P_{02} \\ P_{10} & P_{11} & P_{12} \\ P_{20} & P_{21} & P_{22} \end{bmatrix} )]가 주어졌을 때 2차 베지에 곡선은 [math(P_0)]와 [math(P_1)]로 정의된 1차 베지에 곡선 위의 점과, [math(P_1)]과 [math(P_2)]로 정의한 1차 베지에 곡선 위의 점을 선형 보간한 것으로 생각할 수 있다. 식으로 표현하면 다음과 같다.
[math(
\begin{aligned}
\mathrm{\mathbf p_{2,2}} \left( u, \, v \right)
& = \begin{pmatrix} \left( 1 - u \right)^2 & 2 \left( 1 - u \right) u & u^2 \end{pmatrix}
\begin{bmatrix} P_{00} & P_{01} & P_{02} \\ P_{10} & P_{11} & P_{12} \\ P_{20} & P_{21} & P_{22} \end{bmatrix}
\begin{pmatrix} \left( 1 - v \right)^2 \\ 2 \left( 1 - v \right) v \\ v^2 \end{pmatrix} \\
& \begin{array}{}
= & \left(1 - u \right)^2 & \left(1 - v \right)^2 & P_{00}
& + & 2 \left(1 - u \right) u & \left(1 - v \right)^2 & P_{10}
& + & u^2 & \left(1 - v \right)^2 & P_{20} \\
+ & \left(1 - u \right)^2 & 2 \left(1 - v \right) v & P_{01}
& + & 2 \left(1 - u \right) u & 2 \left(1 - v \right) v & P_{11}
& + & u^2 & 2 \left(1 - v \right) v & P_{21} \\
+ & \left(1 - u \right)^2 & v^2 & P_{02}
& + & 2 \left(1 - u \right) u & v^2 & P_{12}
& + & u^2 & v^2 & P_{22}
\end{array}
\end{aligned}
)]

2.4. (3, 3)차 베지에 곡면

3차 베지어 곡선도 아이디어는 똑같다. 점 4개가 주어졌을 때, 앞의 점 3개를 이용하여 2차 베지에 곡선을 생각하고, 뒤의 점 3개를 이용한 2차 베지에 곡선을 생각해서 선형 보간하면 된다. 물론 1차 베지에 곡선 3개를 생각하여 그것들로부터 2차 베지에 곡선 하나를 생각해도 마찬가지일 것이다. 정리하여 식으로 나타내면 다음과 같다.
[math(
\begin{aligned}
\mathrm{\mathbf p_{3,3}} \left( u, \, v \right)
& = \begin{pmatrix}
\left( 1 - u \right)^3 &
3 \left( 1 - u \right)^2 u &
3 \left( 1 - u \right) u^2 &
u^3\end{pmatrix}
\begin{bmatrix}
P_{00} & P_{01} & P_{02} & P_{03} \\
P_{10} & P_{11} & P_{12} & P_{13} \\
P_{20} & P_{21} & P_{22} & P_{23} \\
P_{30} & P_{31} & P_{32} & P_{33}
\end{bmatrix}
\begin{pmatrix}
\left( 1 - v \right)^3 \\
3 \left( 1 - v \right)^2 v \\
3 \left( 1 - v \right) v^2 \\
v^3
\end{pmatrix} \\
& \begin{array}{}
= & \left(1 - u \right)^3 & \left(1 - v \right)^3 & P_{00}
& + & 3 \left(1 - u \right)^2 u & \left(1 - v \right)^3 & P_{10}
& + & 3 \left(1 - u \right) u^2 & \left(1 - v \right)^3 & P_{20}
& + & u^3 & \left(1 - v \right)^3 & P_{30} \\
+ & \left(1 - u \right)^3 & 3 \left(1 - v \right)^2 v & P_{01}
& + & 3 \left(1 - u \right)^2 u & 3 \left(1 - v \right)^2 v & P_{11}
& + & 3 \left(1 - u \right) u^2 & 3 \left(1 - v \right)^2 v & P_{21}
& + & u^3 & 3 \left(1 - v \right)^2 v & P_{31} \\
+ & \left(1 - u \right)^3 & 3 \left(1 - v \right) v^2 & P_{02}
& + & 3 \left(1 - u \right)^2 u & 3 \left(1 - v \right) v^2 & P_{12}
& + & 3 \left(1 - u \right) u^2 & 3 \left(1 - v \right) v^2 & P_{22}
& + & u^3 & 3 \left(1 - v \right) v^2 & P_{32} \\
+ & \left(1 - u \right)^3 & v^3 & P_{03}
& + & 3 \left(1 - u \right)^2 u & v^3 & P_{13}
& + & 3 \left(1 - u \right) u^2 & v^3 & P_{23}
& + & u^3 & v^3 & P_{33}
\end{array}
\end{aligned}
)]

2.5. (n, m)차 베지에 곡면

이제 대충 감이 왔을 것이다. [math(n)]차 베지에 곡선은 [math([\left( 1 - t \right) + t]^n)] 꼴의 [math(n)]차 완전제곱식을 전개한 형태에 각 항마다 조절점을 곱한 형태로 나타내어지는게 보일 것이다. [math(n)]차 베지에 곡선은 [math(n-1)]차 베지에 곡선으로부터 재귀적으로 나타내거나, 아니면 이항계수를 써서 계수를 구하면 된다.

3. 베지에 삼각형

3.1. 1차 베지에 삼각형

3.2. 2차 베지에 삼각형

3.3. 3차 베지에 삼각형

3.4. n차 베지에 삼각형

4. 성질

  • 첫 조절점에서 시작하고 마지막 조절점에서 끝난다.
  • 모든 n차 베지에 곡선은 n보다 큰 m차 베지에 곡선으로 나타낼 수 있다.
  • 곡선 위의 어떤 점을 기준으로든 새로운 베지에 곡선 둘로 나눌 수 있다.
  • 2차 베지에 곡선은 이차곡선이다.
  • 베지에 곡선은 항상 조절점에 의해 만들어지는 볼록껍질(Convex Hull) 내부에 존재한다.

5. 활용

6. 도보시오



[1] 또는 베지에 사각형


파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 문서의 r34에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r34 (이전 역사)
문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)