벡터(vector)란?
그래픽스에 선형대수가 많이 사용된다고 하셔서 .. 이미 수강했지만 정말 다까먹었으므로 좋은 유튜브 강의를 보면서
다시 공부하고 기억을 다시 떠올리는 의도로
벡터란 무엇인가?
여기에는
- 물리적 관점
- 컴퓨터과학적 관점
- 수학적 관점
이렇게 3가지가 존재한다.
- 물리적 관점(Physics perspective)
크기와 방향으로 정의되는 값이며, 크기와 방향이 같다면 어디에 존재하든 같은 벡터이다.
- 컴퓨터과학적 관점(Computer Science perspective)
순서가 존재하는 숫자의 리스트(list) , 순서가 같지 않으면 같은 벡터가 아님
다음 그림과 같이 순서가 만약 list의 순서가 달라진다면 ,
길이가 0.01, 무게가 1.5 인 레고 와 길이가 1.5, 무게가 0.01인 레고는 같지 않으므로 순서가 중요하다
- 수학적 관점(mathmatical perspective)
" 두 벡터의 합 / 벡터와 숫자의 곱 " 두가지 개념(operation) 을 잘 만족할 수 있다면 (물리적/컴퓨터 과학적 관점 중)무엇이든 될 수 있다.
선형대수학에서의 벡터
기하학적으로 벡터를 표현해 보면 화살표 일 것이다.
벡터를 하나의 화살표(arrow)로 표현하는 것은 벡터의 이해를 돕는다.
기하학(Geometry) : 공간에 있는 도형의 성질(모양, 위치)등을 연구하는 학문 ,점/선/면/공간/도형등을 다룸
* 벡터는 3차원도 가능하지만 일단 2차원 벡터로부터 시작한다.
선형대수학에서는 기본적으로 벡터를 화살표로 표현할 때는 물리적 관점과는 다르게, 화살표의 시작 부분을 원점(0,0)에 맞춘다.
우리는 좌표평면 상에 벡터를 기하학적 관점(arrow)과 숫자-리스트적 관점(list of number) 두가지로 표현해 볼 수 있다
다음 그림에서 볼 수 있 듯, 둘은 짝을 이룰 수 있으며,
위와 같은 두가지 관점을 오갈 수 있다는 것을 알 수 있습니다.
이 두가지 관점을 오가는 과정속에서 선형대수학에서 중요한 것들을 알 수 있습니다.
벡터의 표현
- 2차원
숫자-리스트적 관점에서 벡터의 표현 방식은 다음과 같고 의미또한 다음과 같다
좌표점과의 구분을 위하여 []를 사용하며,
2차원상에서 [] 내부의 윗쪽 숫자는 x축을 따라 이동한 정도를 의미하고, 아랫쪽 숫자는 y축을 따라 이동한 정도를 의미한다.
- 3차원
2차원, 3차원 모두 상관없이
모든 숫자 리스트(숫자쌍)은 각각 하나의 벡터와 대응되고, 반대로 모든 벡터는 각각 대응되는 숫자쌍이 존재한다. -> one and only
( 기하학적 관점과 숫자 리스트적 관점의 벡터가 1대1로 대응되며 이 두가지를 오가는 것이 가능)
이제부터,
항상 벡터에 대해 이야기 할때는 시작 부분이 원점인 화살표로 떠올리는 것과 위에서 언급한 숫자-리스트 형식 표현법을 함께 떠올리며 진행하도록 한다.
벡터의 Main Operation
선형대수학의 모든 주제(Topic)은 다음 두가지 연산을 중심으로 작동한다
- 두 벡터의 합(Vector Addition)
- 벡터와 숫자의 곱(Multiplication by Number)
- 두 벡터의 합
두 벡터의 합은 기본적으로 두 번째 벡터의 꼬리를 첫번째 벡터의 화살표 끝으로 옮기는 것이다.
다음그림에서 v를 첫번째 벡터라고 하고, 두 번째 벡터를 w라고 하면, w의 시작을 v의 끝으로 옮기면 다음그림과 같다.
그리고 이와같은 상황이 벡터의 끝을 원점에서 이탈시키는 거의 유일한 순간이다.
그렇다면, 왜 이 방법이 두 벡터의 합과 같은 것일까?
이유는 2가지로 설명할 수 있다.
1. 벡터를 움직임의 단계(방향)로 나누어 생각하기
2. 수선 더하기 확장의 개념 (Numerically)
수선 더하기로 2+5를 표현하면 다음과 같다
이를 2차원으로 확장하면
다음과 같이 표현할 수 있다.
첫번째 벡터의 방향과 크기를 따라 움직인후 두번째 벡터의 방향과 크기를 따라 움직인 것과
두 벡터의 첫번째, 두번째 항목을 각각 더한 후 한번에 그 방향과 크기를 따라 이동한 것과 최종적 위치가 같다
- 벡터와 숫자의 곱 (Multiplication by Number)
말 그대로 벡터에 (벡터가 아닌) 숫자를 곱하는 것이다.
벡터에 음수를 곱하는 경우, 벡터의 방향이 바뀐다
벡터에 1보다 큰 수를 곱하는 경우, 벡터의 크기가 커진다
벡터에 1보다 작은 수를 곱하는 경우, 벡터의 크기가 작아진다.
이렇게 벡터에 어떤 "숫자"를 곱하면 벡터의 scale(크기/규모)가 달라진다.
이와같은 행위를 vector의 scaling이라고 하고, 벡터를 scaling하는 숫자를 scalar라고 한다
(이래서 이름이 스칼라였음 처음 알았다)
list의 각각의 원소에 scalar값을 곱하는 방식을 사용한다.
실제 응용
선형대수학에서의 두가지 벡터의 표현법은
데이터 분석가에게 벡터는
가상공간에서의 개념화에 도움을 주고, 데이터 패턴을 파악하게 해주며, 연산에 대한 global view를 보여준다
컴퓨터 엔지니어에게는 공간 조작을 숫자로 표혆여 컴퓨터의 움직임을 이해하는데 도움을 준다
공간에 무슨일이 일어나는지를 수치적으로 표현하여, 화면의 픽셀을 어디에 두어야하는지 알 수 있게 해준다.
<참고영상>
3Blue1Brown - Essence of linear algebra
3Blue1Brown - Vectors, what even are they? | Essence of linear algerbra, chapter 1