42Seoul/Cub3D

[Cub3D] vector의 덧셈과 뺄셈

  • -
728x90

벡터의 덧셈은 각 성분을 더해주는 것이다.

말보다는 아래 그림으로 이해는게 빠를 것이다.

위 그림을 보면 벡터AB = 벡터OA, 벡터BC = 벡터OB라고 했을 때 같은 결과임을 알 수 있는데,

기하학적인 의미에서 벡터는 시점에 관계없이 벡터는 방향과 크기가 같으면 같은 벡터라고 말할수있다.

하지만, 같은 벡터라고 해서 좌표까지 같은 것은 아니다.

 

왼쪽의 방법이 삼각형법, 증가된 좌표만큼 이동한다는 것이다.

오른쪽의 방법이 평행사변형법, 시점을 기준으로 두 벡터와 평행한 선을 그려 얻어내는 방법이다.

 

벡터의 뺄셈은 마이너스 부호가 붙은 벡터의 반대 방향으로 연산을 해주면 된다.

그림에는 나오지 않지만, 왼쪽그림에서 OA - OB에서 OB벡터의 반대방향이 OC라고할 때

OA + OC의 결과의 벡터와 BA벡터는 크기와 방향이 같으므로 같은 벡터라고 할 수 있다.

하지만 위의 방법으로 이해하고 넘어가자.

왜냐하면 위와 같은 방식의 벡터의 뺄셈을 이용하면 캐릭터가 다른 오브젝트를 바라보는 방향을 얻을 수 있다.

 

우선 벡터의 덧셈과 뺄셈을 해주는 함수를 만들어보자.

위와 같이 벡터의 뺄셈을 하면 앞서 설명한 그림처럼 계산이 되는 것이 아니라,

반대방향 벡터를 더해서 구한 결과와 같아진다.

 

그렇다면, 위 그림에서처럼 연산을 하려면 어떻게해야 할까? 

우선은 위의 방식대로 하고 좀 더 공부해서 나중에 포스팅 하겠다.

 

728x90
300x250
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.