두 벡터 사이의 거리와 각도
1. 두 벡터 사이의 거리
벡터의 뺄셈을 이용
두 벡터 $x$ , $y$의 거리는 두 벡터의 뺄셈 $x-y$의 norm과 같다
2. 두 벡터 사이의 각도
L2 norm 에서만 정의됨
2-1) n차원에서 정의한 the law of cosines
위 그림에서 아래 등식이 성립하는데 코사인 법칙이라고 부른다.
참고로 우리나라만 제1,2코사인법칙을 나눈다
세계적으로는 위와 같은 등식을 코사인법칙이라 한다
2-2) 두 벡터의 내적(dot product)
대응하는 성분의 곱의 합
cosine을 이용하여 구할 수도 있다.
그림2에서 c의 값은 두 벡터 a와 b의 뺄셈 a-b의 norm으로 구할 수 있고
코사인법칙과 \[a\cdot b = \left\| a \right\|\left\| b \right\|cos\theta \]를 이용하여
우리는 다음과 같은 식을 얻는다.
따라서 두 벡터 사이의 각도에 대한 cosine값은 일반적으로
2-3) 두 벡터 사이의 각도
arccosine을 적용하여 두 벡터 사이의 각도를 구할 수 있다.
numpy를 이용하여 구현하면
import numpy as np
def norm(x):
return np.sqrt(np.sum(x*x))
def angle(x,y):
v = np.inner(x,y)/(norm(x)*norm(y))
theta = np.arccos(v)
return theta
a = np.array([1,2])
b = np.array([3,4])
angle(a,b)
0.17985349979247847
3. 참고
https://en.wikipedia.org/wiki/Law_of_cosines#Using_vectors
https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=mindo1103&logNo=90103350914
'선형대수학' 카테고리의 다른 글
행렬의 기하학적 의미 (0) | 2022.01.10 |
---|---|
벡터의 내적의 기하학적 의미 (0) | 2022.01.07 |
벡터 사이의 거리 norm (0) | 2022.01.03 |
벡터(vector)의 정의와 기본 연산 (0) | 2021.12.25 |
선형대수학 기본 용어 -상급자편 5- (0) | 2021.11.17 |