-
벡터의 외적(Cross product)Algorithm with C/Math 2020. 9. 11. 00:48
1. 외적의 기하학적 정의
벡터의 외적을 한 결과값은 벡터이다.
벡터는 크기와 방향을 갖는다고 하였으므로 벡터의 외적을 한 결과 또한 크기와 방향을 갖는다.
이 방향은 벡터v1과 v2에 동시에 수직인 방향인데
오른손 법칙에 의해서 엄지손가락이 가리키는 방향이 선택된다.
[그림 1]
v1과 v2의 외적의 크기와 방향 [그림 2]
v1과 v2의 외적의 크기와 방향 2. 벡터의 성분에 대하여 외적을 정의
벡터의 외적은 결과값이 벡터이므로 성분에 대해서 나타낼 수 있다.
아래는 벡터의 성분에 대해서 외적을 정의한 것이다.
[그림 3]
아래의 두 그림에 대해서는 약간의 설명이 필요한데, 점 A,B,C가 xy평면에 대해서 정의되어 있다고 가정하자.
(점A,B,C의 좌표에서 z성분은 0이라고 생각하자.)
왼쪽 그림과 같이 우리 눈 쪽으로 오는 수직축을 z축의 음의 방향,
오른쪽 그림과 같이 우리 눈 쪽에서 멀어져 가는 방향을 z축의 양의 방향이라 생각하자.
벡터v1을 A에서 B로의 벡터라 하고 벡터v2를 A에서 C로의 벡터라 하자.
왼쪽 그림은 시계 방향(+)을 오른쪽 그림은 반시계 방향(-)을 나타낸 그림 위의 외적의 정의 식을 이용해서 벡터v1과 v2의 외적을 구해보자.
(O는 원점을 의미한다.)
위의 외적의 결과를 보면, x와 y 성분이 모두 0이고 z성분만 있을을 알 수 있다.
위의 식에 성분을 대입해서 계산한 z성분이 음이면 시계 방향, 양이면 반시계 방향이 된다.
2. 외적 구현 함수
3. 나머지 부분 구현
프로그램 실행결과1
프로그램 실행결과2
4. 소스 파일
'Algorithm with C > Math' 카테고리의 다른 글
Graham Scan (0) 2020.09.11 세 점의 방향 판단 (0) 2020.09.11 점과 점의 각도(삼각함수의 역함수를 이용) (0) 2020.09.10 API를 활용해서 삼각비를 통한 각도 구하기 (0) 2020.09.10 각도와 호도법의 변환 (0) 2020.09.10