법선

섬네일|다각형과 두 개의 법선 벡터|alt=
right|섬네일|한 점에서의 곡면의 법선은 같은 점에서의 곡면의 접평면의 법선과 같다.

기하학에서 **법선**(normal)은 주어진 개체에 수직인 개체이다(예: 직선, 반직선, 유클리드 벡터). 예를 들어, 주어진 점에서의 평면 곡선의 **법선**은 그 점에서의 곡선에 대한 접선에 수직인 무한 직선이다.

**법선 벡터**는 특정 지점에서 주어진 개체에 수직인 벡터이다.
길이가 1인 단위 벡터를 **단위 법선 벡터** 또는 **법선 방향**이라고 한다. 곡률 벡터는 길이가 개체의 곡률인 법선 벡터이다.
법선 벡터에 을 곱하면 반대 벡터가 되며, 이는 측면(예: 내부 또는 외부)을 나타내는 데 사용될 수 있다.

3차원에서 점 에서의 곡면의 **곡면 법선** 또는 단순히 **법선**은 에서의 곡면의 접평면에 수직인 벡터이다. 곡면에 대한 법선 방향의 벡터장은 가우스 사상으로 알려져 있다. "법선"이라는 단어는 형용사로도 사용된다. 예를 들어, 평면에 수직인 선, 힘의 법선 성분 등이 있다. 법선의 개념은 직교로 일반화된다(직각).

이 개념은 유클리드 공간에 내장된 임의 차원의 미분 다양체로 일반화되었다. 점 P에서의 다양체의 **법선 벡터 공간** 또는 **법선 공간**은 P에서의 접공간에 직교하는 벡터들의 집합이다.
법선 벡터는 매끄러운 곡선과 매끄러운 곡면의 경우에 특히 중요하다.

법선은 3차원 컴퓨터 그래픽스에서 평면 음영을 위한 광원에 대한 곡면의 방향을 결정하거나 퐁 셰이딩으로 곡선형 곡면을 모방하기 위해 각 곡면 모서리(꼭짓점)의 방향을 결정하는 데 자주 사용된다(법선이 하나만 정의되므로 단수형에 유의).

관심점 Q(수선의 발과 유사)에서의 법선의 **발**은 법선 벡터에 Q를 포함하는 곡면의 점 P에서 정의될 수 있다.
점 Q에서 곡선 또는 곡면까지의 법선 거리는 Q와 그 발 P 사이의 유클리드 거리이다.

## 곡선에 대한 법선

섬네일|left|곡선(검은색)에 대한 법선 방향(빨간색).

공간 곡선에 대한 법선 방향은 다음과 같다.
: \mathbf{N} = R \frac{\mathrm{d} \mathbf{T} }{ \mathrm{d} s } 
여기서  R = \kappa^{-1}는 곡률반지름 (곡률의 역수)이다.
\mathbf{T}는 접선 벡터이고,
곡선 위치 \mathbf{r} 및 호 길이 s로 표현하면 다음과 같다.
: \mathbf{T} = \frac{\mathrm{d} \mathbf{r} }{ \mathrm{d} s } 

## 평면과 다각형에 대한 법선
섬네일|법선 형태의 평면 방정식

볼록 다각형(예: 삼각형)의 경우, 표면 법선은 다각형의 두 (평행하지 않은) 변의 벡터곱으로 계산될 수 있다.

평면 방정식 ax + by + cz + d = 0으로 주어진 평면의 경우, 벡터 \mathbf n = (a, b, c)는 법선이다.

매개변수 형식으로 방정식이 주어진 평면의 경우
\mathbf{r}(s,t) = \mathbf{r}_0 + s \mathbf{p} + t \mathbf{q},
여기서 \mathbf{r}_0는 평면 위의 한 점이고 \mathbf{p}, \mathbf{q}는 평면을 따라 가리키는 평행하지 않은 벡터이다. 이 평면에 대한 법선은 \mathbf{p}와 \mathbf{q} 모두에 수직인 벡터이며, 벡터곱 \mathbf{n}=\mathbf{p}\times\mathbf{q}로 찾을 수 있다.

## 3차원 공간에서 일반 곡면에 대한 법선
섬네일|upright=1.4|곡면 위에서 단위 법선 벡터(파란색 화살표)를 보여주는 곡면

3차원 공간 \R^3에서 (평평하지 않을 수도 있는) 곡면 S가 곡선좌표계 \mathbf{r}(s, t) = (x(s, t), y(s, t), z(s, t))로 매개변수화되어 있고, s와 t는 실수 변수라면, S에 대한 법선은 정의상 접평면에 대한 법선이며, 편미분의 벡터곱으로 주어진다.
\mathbf{n}=\frac{\partial \mathbf{r}}{\partial s} \times \frac{\partial \mathbf{r}}{\partial t}.

곡면 S가 음함수적으로 점 (x, y, z) 집합으로 주어지고 F(x, y, z) = 0을 만족한다면, 곡면 위의 점 (x, y, z)에서의 법선은 기울기로 주어진다.
\mathbf{n} = \nabla F(x, y, z).
이는 어떤 점에서의 기울기든 레벨집합 <math>S</math>에 수직이기 때문이다.

\R^3에서 함수 z = f(x, y)의 그래프로 주어진 곡면 S의 경우, 위쪽을 향하는 법선은 매개변수화 \mathbf{r}(x,y)=(x,y,f(x,y))로부터 찾을 수 있으며, 이는 다음을 제공한다.
\mathbf{n} = \frac{\partial \mathbf{r}}{\partial x} \times \frac{\partial \mathbf{r}}{\partial y}
= \left(1,0,\tfrac{\partial f}{\partial x}\right) \times \left(0,1,\tfrac{\partial f}{\partial y}\right)
= \left(-\tfrac{\partial f}{\partial x},
-\tfrac{\partial f}{\partial y},1\right);
또는 더 간단하게는 음함수 형식 F(x, y, z) = z-f(x,y) = 0으로부터 \mathbf{n} = \nabla F(x, y, z) = \left(-\tfrac{\partial f}{\partial x}, -\tfrac{\partial f}{\partial y}, 1 \right)를 얻을 수 있다.
곡면은 특이점에서 접평면을 갖지 않으므로, 해당 점에서 잘 정의된 법선이 없다. 예를 들어, 원뿔의 꼭짓점이 그렇다. 일반적으로 립시츠 연속인 곡면의 경우 거의 모든 곳에서 법선을 정의할 수 있다.

### 방향
right|섬네일|300px|곡면에 대한 법선 벡터장
(초)곡면에 대한 법선은 일반적으로 단위 길이로 스케일되지만, 그 반대도 단위 법선이므로 고유한 방향을 갖지 않는다. 3차원 집합의 위상적 경계인 곡면의 경우, 두 가지 **법선 방향**을 구별할 수 있다. 즉, **내부 방향 법선**과 **외부 방향 법선**이다. 방향화된 곡면의 경우, 법선은 일반적으로 오른손 법칙 또는 고차원에서의 유사한 규칙으로 결정된다.

법선이 접선 벡터의 벡터곱으로 구성될 경우(위 텍스트에서 설명된 대로), 이는 유사벡터이다.

### 법선 변환

곡면에 변환을 적용할 때, 원래 법선으로부터 결과 곡면에 대한 법선을 도출하는 것이 유용하다.

구체적으로, 3×3 변환 행렬 \mathbf{M}이 주어졌을 때, 접평면 \mathbf{t}에 수직인 벡터 \mathbf{n}을 변환된 접평면 \mathbf{Mt}에 수직인 벡터 \mathbf{n}^{\prime}으로 변환하는 행렬 \mathbf{W}를 다음 논리에 따라 결정할 수 있다.

**n&prime;**을 \mathbf{Wn}으로 쓴다. \mathbf{W}를 찾아야 한다.
\begin{alignat}{5}
W\mathbb n \text{은 } M\mathbb t \text{에 수직이다} \quad \,
&\text{ if and only if } \quad 0 = (W \mathbb n) \cdot (M \mathbb t) \\
&\text{ if and only if } \quad 0 = (W \mathbb{n})^\mathrm{T} (M \mathbb{t}) \\
&\text{ if and only if } \quad 0 = \left(\mathbb{n}^\mathrm{T} W^\mathrm{T}\right) (M \mathbb{t}) \\
&\text{ if and only if } \quad 0 = \mathbb{n}^\mathrm{T} \left(W^\mathrm{T} M\right) \mathbb{t} \\
\end{alignat}

W^\mathrm{T} M = I, 즉 W = (M^{-1})^\mathrm{T}가 되도록 \mathbf{W}를 선택하면 위 방정식이 만족되어 M \mathbb t에 수직인 W \mathbb n, 즉 \mathbf{t}^{\prime}에 수직인 \mathbf{n}^{\prime}을 얻는다.

따라서 곡면 법선을 변환할 때는 선형 변환의 역전치 행렬을 사용해야 한다. 행렬이 정규 직교(즉, 스케일링이나 전단 없이 순수 회전)인 경우 역전치 행렬은 원래 행렬과 같다.

## n차원 공간의 초곡면
<math>n</math>차원 공간 \R^n의 (n-1)차원 초평면의 매개변수 표현이 다음과 같이 주어질 때,
\mathbf{r}\left(t_1, \ldots, t_{n-1}\right) = \mathbf{p}_0 + t_1 \mathbf{v}_1 + \cdots + t_{n-1}\mathbf{v}_{n-1},
여기서 \mathbf{p}_0는 초평면 위의 점이고 \mathbf{v}_i (단 i = 1, \ldots, n - 1)는 초평면을 따라 가리키는 선형 독립 벡터이다. 이 초평면의 법선은 행렬 V = \begin{bmatrix}\mathbf{v}_1 & \cdots &\mathbf{v}_{n-1}\end{bmatrix}의 영공간에 있는 모든 벡터 \mathbf n이다. 이는 를 의미한다. 즉, 평면 내 모든 벡터에 직교하는 모든 벡터는 정의상 표면 법선이다. 다른 방법으로는, 초평면이 단일 선형 방정식 의 해 집합으로 정의되면, 벡터 \mathbf{n} = \left(a_1, \ldots, a_n\right)가 법선이다.

3차원 공간에서 곡면의 법선 정의는 \R^n의 (n - 1)차원 초곡면으로 확장될 수 있다. 초곡면은 방정식 을 만족하는 점 (x_1, x_2, \ldots, x_n)의 집합으로 국소적으로 음함수적으로 정의될 수 있다. 여기서 F는 주어진 스칼라 함수이다. 만약 F가 연속 미분 가능하다면, 기울기가 0이 아닌 점의 근방에서 초곡면은 다양체이다. 이러한 점들에서 법선 벡터는 기울기로 주어진다.
\mathbb n = \nabla F\left(x_1, x_2, \ldots, x_n\right) = \left( \tfrac{\partial F}{\partial x_1}, \tfrac{\partial F}{\partial x_2}, \ldots, \tfrac{\partial F}{\partial x_n} \right)\,.

**법선 직선**은 기저 \{\mathbf{n}\}를 갖는 1차원 부분 공간이다.

선형 독립 벡터 가 이루는 공간에 수직이면서 선형 독립 벡터 가 이루는  공간 안에 있는 벡터는 행렬 의  열로 주어진다. 여기서 행렬 은 개의 열 벡터를 옆으로 붙인 것이다. (증명: 이므로  각각은 의 마지막 열에 수직이다.) 이 공식은 이 유클리드  차원보다 작더라도 작동한다. 이 공식은 일 때 로 단순화된다.

## n차원 공간에서 음함수 방정식으로 정의된 다양체
n차원 공간 \R^n에서 음함수 방정식으로 정의된 **[[해석 다양체|미분 다양체]]**는 n개 변수의 유한 미분 함수 집합의 공통 영점 집합이다.
 f_1\left(x_1, \ldots, x_n\right), \ldots, f_k\left(x_1, \ldots, x_n\right).
다양체의 야코비 행렬은 i번째 행이 f_i의 기울기인 k \times n 행렬이다. 음함수 정리에 따르면, 다양체는 야코비 행렬이 계수 k를 갖는 점의 근방에서 다양체이다. 이러한 점 P에서 **법선 벡터 공간**은 P에서 f_i의 기울기 벡터 값에 의해 생성되는 벡터 공간이다.

다시 말해, 다양체는 k개의 초곡면의 교점으로 정의되며, 한 점에서의 법선 벡터 공간은 그 점에서 초곡면의 법선 벡터에 의해 생성되는 벡터 공간이다.

다양체의 점 P에서의 **법선 (아핀) 공간**은 P를 통과하고 P에서의 법선 벡터 공간에 의해 생성되는 아핀 부분 공간이다.

이러한 정의는 다양체가 다양체가 아닌 점에도  확장될 수 있다.

### 예시
3차원 공간에서 다음 방정식으로 정의된 다양체 V를 고려하자.
x\,y = 0, \quad z = 0.
이 다양체는 x축과 y축의 합집합이다.

점 (a, 0, 0)에서 a \neq 0일 때, 야코비 행렬의 행은 (0, 0, 1)과 (0, a, 0)이다. 따라서 법선 아핀 공간은 방정식 x = a의 평면이다. 유사하게, b \neq 0일 때, 점 (0, b, 0)에서의 법선 평면은 방정식 y = b의 평면이다.

점 (0, 0, 0)에서 야코비 행렬의 행은 (0, 0, 1)과 (0, 0, 0)이다. 따라서 법선 벡터 공간과 법선 아핀 공간은 차원 1을 가지며, 법선 아핀 공간은 z축이다.

## 용도
* 표면 법선은 벡터장의 면적분을 정의하는 데 유용하다.
* 표면 법선은 3차원 컴퓨터 그래픽스에서 조명 계산에 일반적으로 사용되며(람베르트의 코사인 법칙 참조), 종종 법선 매핑을 통해 조정된다.
* 표면 법선 정보를 포함하는 렌더 레이어는 디지털 합성에서 렌더링된 요소의 겉보기 조명을 변경하는 데 사용될 수 있다.
* 컴퓨터 비전에서 3D 객체의 형태는 측광 스테레오를 사용하여 표면 법선으로부터 추정된다.
*법선 벡터는 부호 거리 함수의 기울기로 얻을 수 있다.

## 기하광학에서의 법선

frame|정반사 다이어그램

****은 주어진 지점에서 광학 매질 표면에 수직인 외부로 향하는 광선이다. 빛의 반사에서 입사각과 반사각은 각각 법선과 입사 광선(입사 평면에 있음) 사이의 각도와 법선과 반사 광선 사이의 각도이다.

## 같이 보기
* 
* 
* 
* 
* 
* 

## 각주

## 외부 링크
* 
* 마이크로소프트 MSDN의 [법선 벡터 설명](http://msdn.microsoft.com/en-us/library/bb324491(VS.85).aspx)
* 삼각형 또는 다각형에서 표면 법선을 계산하는 명확한 의사 코드 

분류:곡면
분류:벡터 미적분학
분류:3차원 컴퓨터 그래픽스