본문 바로가기

Algorithm/G. Geometry

94. Geometry Intro

카테고리 G에서는 기하에 관한 내용을 다룬다.

앞에서 선형대수학에 대한 글을 작성하면서 벡터에 대한 설명을 미뤄두었는데, 이제 벡터를 설명할 때가 되었다. 벡터의 넓은 의미는 선형대수적 관점에서 이해할 수 있는데, 이에 따르면 벡터(Vector)벡터 공간(Vector Space)의 원소이며, 벡터 공간은 벡터에서 성립하는 연산 법칙이 정의된 공간이다. 이때의 연산 법칙은 벡터의 덧셈 및 스칼라곱이 정의되어 있으며 덧셈에 대한 항등원(이 항등원을 영벡터(Zero Vector)라고 한다) 및 역원이 존재한다는 것과 덧셈의 결합법칙 및 교환법칙이 성립한다는 것을 의미한다. 표기는 일반적으로 볼드체를 사용한다. 실제로는 변칙적인(?) 표기가 매우 많이 존재하지만, 여기서는 수학적 벡터를 볼드체로 표기하였다.

 

벡터에 대한 기본적인 개념은 다음과 같다. 벡터의 차원에 대한 내용은 여기를 참고하면 된다.

  • 벡터 $\mathbf{v}$의 크기를 ${\color{#FF8C00}{\left\vert v \right\vert}}$ 또는 ${\color{#FF8C00}{\lVert v \rVert}}$로 나타낸다. 이 블로그에서는 $\left\vert v \right\vert$를 사용하였다.
  • 영벡터를 ${\color{#FF8C00}{\mathbf{0}}}$으로 나타낸다.
  • 크기가 $1$인 벡터를 단위벡터(Unit Vector)라고 하고 ${\color{#FF8C00}{\hat{\mathbf{v}}}}$ 등으로 나타낸다.
  • 차원이 같은 두 벡터는 서로 더할 수 있다. 두 $n$차원 벡터 $\mathbf{a} = (a_1, a_2, \ldots, a_n), \mathbf{b} = (b_1, b_2, \ldots, b_n)$에 대해 $\mathbf{a} + \mathbf{b} = (a_1+b_1, a_2+b_2, \ldots, a_n+b_n)$이다.
  • 벡터에 상수(스칼라량)를 곱할 수 있다. 벡터 $\mathbf{a}$에 상수 $k$를 곱한 것을 $k\mathbf{a}$로 표기한다. $k\mathbf{a} = (ka_1, ka_2, \ldots, ka_n)$이다. $k = -1$일 때 $k\mathbf{a} = -\mathbf{a}$를 $\mathbf{a}$의 역벡터(Inverse Vector)라고 한다. 두 벡터 $\mathbf{a}, k\mathbf{a}$는 서로 평행하다.
  • 차원이 같은 두 벡터 $\mathbf{a}, \mathbf{b}$에 대해 $(a_1b_1 + a_2b_2 + \ldots +a_nb_n)$을 $\mathbf{a}$와 $\mathbf{b}$의 내적(Dot Product)이라고 하고 ${\color{#FF8C00}{\mathbf{a} \cdot \mathbf{b}}}$ 또는 ${\color{#FF8C00}{\left\langle \mathbf{a}, \mathbf{b} \right\rangle}}$로 나타낸다. $\mathbf{a} \cdot \mathbf{a} = \left\vert a \right\vert^2$이고, $\mathbf{a} \cdot \mathbf{b} = \left\vert a \right\vert \left\vert b \right\vert \cos \theta$이며 이때의 $\theta$가 두 벡터 $\mathbf{a}$와 $\mathbf{b}$가 이루는 각이 된다. $\mathbf{a} \cdot \mathbf{b} = \mathbf{b} \cdot \mathbf{a}$이다.
  • $3$차원[각주:1] 벡터 $\mathbf{a}, \mathbf{b}$에 대해 $\hat{\mathbf{n}} \left\vert \mathbf{a} \right\vert \left\vert \mathbf{b} \right\vert \sin \theta$를 $\mathbf{a}$와 $\mathbf{b}$의 외적(Cross Product, Vector Product)이라고 하고 ${\color{#FF8C00}{\mathbf{a} \times \mathbf{b}}}$로 나타낸다. 여기서 $\hat{\mathbf{n}}$은 $\mathbf{a}$와 $\mathbf{b}$에 모두 수직인 단위벡터를 의미한다. 일반적인 경우 $\hat{\mathbf{n}}$은 두 개 존재하는데, 어떤 쪽을 선택할지는 벡터 공간의 방향에 따라 달라진다. $\mathbf{a} \times \mathbf{a} = \mathbf{0}$이며 $\mathbf{a} \times \mathbf{b}$ = $-\mathbf{b} \times \mathbf{a}$이다. 벡터의 텐서곱(Outer Product, Tensor Product, Kronecker Product)도 외적이라고 하는 경우가 있는데 서로 다른 개념이므로 혼동하지 않아야 한다.

기하학에서 다루는 벡터(Euclidean Vector)는 수학적 벡터의 일종으로, 크기와 방향을 포함하는 기하학적 대상으로 정의된다. 이때 기하학의 범위는 유클리드 기하학으로 한정된다. 기하적 벡터는 수학적 벡터의 성질 대부분을 가지지만 주된 표기가 약간 다르다. 기하적 벡터는 주로 윗화살표를 사용해서 $\color{#FF8C00}{\vec{v}}$로 표기하며 시작점 $\text{A}$, 끝점 $\text{B}$가 존재하는 경우 $\color{#FF8C00}{\overset{\longrightarrow}{\text{AB}}}$로 표기하기도 한다.

 

→ solved.ac tag: geometry


  1. 7차원 공간에서도 정의할 수 있다. 비슷하게 15차원 이상으로 확장이 가능하나 15차원 이상의 외적은 정의하지 않는다. [본문으로]

'Algorithm > G. Geometry' 카테고리의 다른 글

99. Andrew's Algorithm  (2) 2021.08.31
98. Graham Scan  (0) 2021.08.31
97. Convex Hull  (0) 2021.08.31
96. Line Intersection  (4) 2021.08.30
95. Counterclockwise Function  (0) 2021.08.30