내적과 외적
# 내적과 외적은 벡터끼리의 곱셈이라고 볼 수 있다.
# 하지만 내적이나 외적이나 역원을 정의할 수 없기 때문에 벡터끼리의 나눗셈은 정의되어 있지 않다.
+ 추가 : 나눗셈을 정의할 수 없는 건 우리가 지금 좌표계 기반 벡터를 다루고 있기 때문이다.
벡터의 연산(2) : 내적 혹은 스칼라곱
# 원래 내적은 두 벡터 사이에 점을 찍는데 마땅한게 없으므로 ●을 내적을 나타내는 기호로 사용했다.
# 벡터의 내적은 결과가 스칼라값으로 나온다. 그래서 내적을 스칼라곱이라고도 한다.
# 그러므로 <a>●<b>●<c>와 같이 연속해서 내적하는 것은 불가능하다.
# 내적은 두 벡터의 크기를 서로 곱하는 것이다.
# 이를 이해하기위해 벡터가 아니라 두개의 1차원의 스칼라 값의 곱을 생각해보자. (결국 그냥 한개의 숫자다.)
# 1차원의 값이므로 두 값은 같은 선상에 있을 것이다. 이 두 값을 곱하는 것을 이미지로 표현하면 아래와 같다.
# 같은 선상에 있으므로 값 하나를 수직으로 세워서 사각형을 만들어 그 넓이를 구하면 곱셈이 된다. 이를 방향이 같은 벡터에 적용해보면 아래와 같다.
# 똑같이 할 수 있다. 이제 문제는 두 벡터의 방향이 다를때 어찌 할 것인가이다. 아래와 같이 하면 된다.
# 두 벡터 중 하나를 다른 벡터와 평행한 성분과 수직인 성분으로 분해할 수 있고, 평행한 성분인 ⓑ'의 값은 ⓑ*cosX와 같다. (X는 두벡터의 사이각)
# 만약 두 벡터가 수직이라면 cos90º는 0이므로 결과는 0이 나온다. 이는 평행한 성분이 0이라 그렇다고 생각할 수 있다.
# 이를 삼각형 하나로 나타내면 옆의 그림과 같다. 두 벡터 중 어느 벡터를 분해해도 결과가 같다. 이는 내적은 교환법칙이 성립함을 의미한다.
# 이를 정리해서 벡터의 내적을 정의하면, 내적은 <a>와 <b>가 이루는 각이 x일 때, <a>●<b>=|<a>|*|<b>|*cosX로 정의할 수 있다.
# 아래와 같이 두 벡터를 모두 분해해서 곱하는 걸로도 내적을 계산할 수 있다.
# 그러므로 2차원이면 <a>●<b> = a.x*b.x + a.y*b.y, 3차원이면 <a>●<b> = a.x*b*x + a.y*b.y + a.z*b.z라는 식이 성립한다.
# 위의 내용은 내적을 최대한 쉽게 풀어본 것이고, 일반적인 유도는 다음과 같다.
|<a>-<b>|2 = |<a>|2 + |<b>|2 - 2|<a>|*|<b>|*cosθ ∵ 코사인제2법칙에 의함.
2|<a>|*|<b>|*cosθ = |<a>|2 + |<b>|2 - |<a>-<b>|2
2|<a>|*|<b>|*cosθ = (a.x-b.x)2 + (a.y-by)2 - ((a.x)2 + (a.y)2) - ((b.x)2 + (b.y)2)
2|<a>|*|<b>|*cosθ = 2*a.x*b.x - 2*a.y*b.y
∴ |<a>|*|<b>|*cosθ = a.x*b.x - a.y*b.y
내적의 성질
1) <a>●<b> = <b>●<a> - 내적에 대한교환 법칙 성립
2) (k는 실수) (k*<a>)●<b> = <a>●(k*<b>) = k*(<a>●<b>) - 실수배는 자유롭게 이동 가능. 주의! 마지막에 분배되는 것이 아니다!
3) (복부호동순) <a>●(<b>±<c>) = (<a>●<b>)±(<a>●<c>) - 벡터의 합차에 대해 분배법칙 성립
1)의 증명은 위의 그림으로 대체.
2)의 증명 : (k*<a>)●<b> = (k*a.x)*b.x + (k*a.y)*b.y , <a>●(k*<b>) = a.x*(k*b.x) + a.y*(k*b.y), k*(<a>●<b>) = k*(a.x*b*x + a.y*b.y) //∴ 같다.
3)의 증명 : <a>●(<b>+<c>) = a.x*(b.x+c.x) + a.y*(b.y+c.y), (<a>●<b>)+(<a>●<c>) = a.x*b.x+a.x*c.x + a.y*b.y+a.y*c.y // ∴ 같다.
내적의 활용
1) 두 벡터가 직교하는지 확인 :
<a>●<b>=0이면 <A>⊥<B>
2) 두 벡터의 사이각 구하기 :
|<a>|*|<b>|*cosX = a.x*b.x + a.y*b.y = <a>●<b>
∴ cosX = (<a>●<b>/ |<a>|*|<b>|).
∴ 각X = acos( <a>●<b>/ |<a>|*|<b>|)
3) 어떤 물체가 다른 물체 앞에 있는지 뒤에 있는지 확인하기.
물체에 설정된 정규벡터를 <a>,<b>일 때
<a>와 <b>사이의 각을 θ라 하면
<a>●<b><0 이면 θ>90º (둔각, 물체 뒤에 있음), <a>●<b>>0 이면 θ<90º (예각, 물체 앞에 있음)
빨간색 벡터는 A의 앞에 있는 점들과의 벡터.
파란색 벡터는 A의 뒤에 있는 점들과의 벡터.
초록색 벡터는 A의 노멀벡터와 직교하는 위치에 있는 점과의 벡터를 의미한다.
4) 두 벡터 중 한 벡터에서 다른 벡터와 평행한 성분 구하기. (벡터의 투영)
두 벡터를 내적하면 |<a>|*|<b>|*cosX
<a>벡터에서 <b>벡터와 평행한 성분의 길이는 <a>●<b>/|<B>|
5) 직선과 한 점과의 거리 구하기.
이는 위의 그림에 나오는 수선의 발의 길이를 구하는 것과 같다. <a>●(<a>●<b>/|<B>|)