SniKuz 2024. 3. 15. 16:08

목차

 

Surfaces

Parameterized Surface

연속 곡면(Surface) s ⊂ R³ 는 다음과 같은 매개화(parameterized)된 형태로 표현할 수 있습니다.

$$ X(u, v) = \begin{pmatrix}
x(u, v) \\
y(u, v) \\
z(u, v)
\end{pmatrix},(u,v)\in \Omega \subset R^{2} $$

x(u,v), y(u,v), z(u,v)는 미분 가능한 함수
Ω는 매개 변수의 정의역(parametric domain)
u, v는 매개변수의 좌표(coordinate)
u, v상 좌표를 x로 매핑해 곡면을 만듭니다.

 

- 구면 (Sphere Surface)

 

● 곡면의 특성

곡면의 한 점 X(u, v)에서 순간적인 v방향 기울기 ∂X / ∂  , u방향 기울기 ∂X / ∂u를 구하고 이 두개를 외적해서 나오는 새로운 벡터가 Surface에 순간적인 빛 반사 등 여러 곳에 많이 쓰인다고 합니다.

 

 

 

Surface method used in Geometric modeling

Bilinear Patch

b₀₀, b₀₁, b₁₀, b₁₁ 의 네 점으로 b₀₀, b₀₁을 선형 보간(p₀₀), b₁₀, b₁₁을 선형 보간(p₀₁) , 그렇게 만들어지는 p₀₀, p₀₁ 사이점을 선형보간 하면 생기는 곡면입니다.

X(u,v) = (1-u)(1-v) b₀₀ + (1-u) v b₀₁ + u(1-v) b₁₀ + uv b₁₁  { (u,v) : 0 ≤ u, v ≤ 1 }

$$ => X(u,v) = [1-u]\begin{bmatrix}
b_{00} &b_{01}  \\
b_{10} &b_{11}  \\
\end{bmatrix}\begin{bmatrix}
1-v \\
v
\end{bmatrix} $$

Bilinear Patch

Ruled Surface

두 곡선 a(t)와 b(t)가 있을 때 다음의 곡면을 생성합니다.
X(u,v) = v a(u) + (1-v) b(u)

a(u)와 b(u)가 만드는 곡선이 b₀₀, b₀₁, b₁₀, b₁₁ 네 점이 만드는 곡선과 같고 선형보간 되면 Bilinear Patch와 동일합니다.

Surface of Revolution (회전)

한 단면을 그리고 특정 지정 축으로 회전시켜 생성합니다. 모델링 툴에서도 자주 보이는 기능입니다.

B(t) = (Bx(t), 0, Bz(t)) 형태의 커브가 있고 Z축을 기준으로 회전시키면
x(u, v) = Bx(u)cos(v)
y(u, v) = Bx(u)sin(v)
z(u,v) = Bz(u)
수식이 됩니다.

Extrusion Surface

Extrusion(밀어내다, 분출, 돌출) 방식으로 평면 곡선을 선형적인 방향으로 돌출시킵니다.
평면 곡서늘 B(t), 돌출 방향을 V라 할때 X(u, v) = B(u) + vV 곡면을 생성합니다.

 

Curves to Surfaces

곡선(Curve)은 제어점과 basis function들의 내적으로 표현됩니다.(함수 + 제어점)

곡면(Surface)은 Curve 들의 Curve로 표현할 수 있습니다. 이렇게 만든 Surface는 tensor product surface라고 정의합니다.

Bezier Surface

● Bezier Curve 표현

● Bezier Surface 표현

● Bilinear Pacth와 관계 
Bilinear Patch는 가장 간단한 Bezier Surface이기도 합니다. 1X1 Bezier Surface

● m차 x n차 Bezier patch 표현

$$ S(u, v) = [B_{0}^{m}(u) \cdots  B_{m}^{m}(u)]\begin{bmatrix}
P_{0,0} &\cdots   &P_{0,n}  \\
 \vdots &  &\vdots  \\ 
P_{m,0} &\cdots   &P_{m,n}  \\
\end{bmatrix}
\begin{bmatrix}
B_{0}^{n}(v) \\
 \vdots \\
 B_{n}^{n}(v)\\
\end{bmatrix} $$

* 문제예시

● Bezier Patch 특성

 

 

Bezier Surface Derivatives

곡면의 미분(derivative) : 곡면 상의 한 점을 지나는 두 isocurve들의 접선

u - partial derivative at S(u₀,v₀) : S(u, v₀)의 접선 = Su(u,v) = ∂S(u,v) / ∂u
v - partial derivative at S(u₀,v₀) : S(u₀, v)의 접선 = Sv(u,v) = ∂S(u,v) / ∂v

위 문제 예시에서 Sv(0.5, 0.5)는?

● Surface Normal