Bézier Surface프랑스의 공학자 피에르 베지에(Pierre Bézier)의 이름을 딴
곡면. 영어식으로 베지어 곡면으로 읽기도 한다. 4개 이상의 점으로 정의되는
매개변수 곡면이며, 점 몇개로 곡면을 특정할 수 있는 성질 때문에
CAD,
컴퓨터 그래픽 등
컴퓨터 환경, 특히
벡터 그래픽에서 곡면을 표현하는 데 널리 쓰인다.
2차원 상에서
베지에 곡선을 정의할 수 있는 것처럼, 이를
3차원으로 확장하여 베지에 곡면을 정의할 수 있다.
베지에 곡면 하나를 정의하는 데는 베지에 패치
[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)]차 베지에 곡선으로부터
재귀적으로 나타내거나, 아니면
이항계수를 써서 계수를 구하면 된다.
- 첫 조절점에서 시작하고 마지막 조절점에서 끝난다.
- 모든 n차 베지에 곡선은 n보다 큰 m차 베지에 곡선으로 나타낼 수 있다.
- 곡선 위의 어떤 점을 기준으로든 새로운 베지에 곡선 둘로 나눌 수 있다.
- 2차 베지에 곡선은 이차곡선이다.
- 베지에 곡선은 항상 조절점에 의해 만들어지는 볼록껍질(Convex Hull) 내부에 존재한다.
이 문서의 내용 중 전체 또는 일부는
문서의
r34 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}}에서 가져왔습니다.
이전 역사 보러 가기 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
- [ 펼치기 · 접기 ]
문서의
r34 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
문서의
r 판{{{#!wiki style="display: inline; display: none;"
,
번 문단}}} (
이전 역사)
이 문서의 내용 중 전체 또는 일부는 2024-03-12 23:57:20에 나무위키
베지에 곡면 문서에서 가져왔습니다.