kooysung.log
로그인
kooysung.log
로그인
[게임 수학] 벡터의 기본 연산 (Vector Operations)
구교승
·
2025년 2월 18일
팔로우
0
게임 수학
단위 벡터
덧셈
벡터
벡터의 이동
뺄셈
스칼라 곱셈
[게임 수학]
목록 보기
4/9
Vector Multiplication by a Scalar (벡터의 스칼라 곱셈)
벡터와 스칼라는 기본적으로 더할 수 없으나 곱할 수는 있음
벡터와 스칼라 곱셈을 통해
벡터의 길이, 방향
을 바꿀 수 있음
벡터와 스칼라의 곱셈은 각 벡터의 요소에 스칼라 값을 곱하면 됨
ex) 3D vector : k[x, y, z] = [kx, ky, kz]
스칼라와 벡터의 순서는 상관 없으나 대부분 스칼라 k값을 앞부분에 명시
또한 벡터는 스칼라 값으로 나누어질 수 있음
ex) v/k = (1/k)v = [x/k, y/k, z/k]
벡터의 스칼라 곱셈 예시
벡터를 스칼라로 곱할때 주의할 점
벡터와 스칼라를 곱할때 일반적인 곱셈 기호 "X"를 사용하지 않고 두 수를 나열 (일반적으로 오른쪽에 벡터)
벡터의 스칼라 곱셈, 나눗셈은 모두 덧셈과 뺄셈 전에 발생
스칼라는 벡터로 나눌 수 없으며, 벡터는 다른 벡터로 나눌 수 없음
벡터의 음수화는 벡터에 스칼라 -1을 곱하는 연산으로도 볼 수 있음
Vector Addition and Substraction (벡터의 덧셈과 뺄셈)
두개의 벡터를 더하고 뺄 수 있음
단 해당 연산은 동일한 공간(2D, 3D)에서 사용 가능
덧셈과 뺄셈은 각 벡터의 해당 구성 요소를 각각 더해주거나 빼주면 가능
ex) [a1, a2, a3] + [b1, b2, b3] = [a1+b1, a2+b2, a3+b3]
벡터는 스칼라와 덧셈, 뺄셈 불가
벡터의 덧셈은 순서와 상관없이 방향이 같은 벡터 출력
벡터의 뺏셈은 순서에 따라 방향이 달라짐
벡터의 덧셈은 a+b 또는 b+a에 상관 없이 방향 동일
뺄셈에서는 c-d, d-c를 비교하면 반대 방향 벡터 생성
벡터의 덧셈과 뺄셈은 삼각형을 이룸
Displacement Vector from One Point to Another (한 점에서 다른 점으로의 이동을 표현하는 벡터)
통상적으로 한 점에서 다른 점으로의 이동을 표현할때 사용하는 계산 방법
한 벡터에서 다른 벡터로의 이동을 표현하는 벡터 생성
벡터의 뺄셈 이용
a벡터와 b벡터를 원점에서 시작시킴
벡터의 뺄셈 (b-a)는 a에서 b까지의 벡터를 표현
반대로 (a-b)는 b에서 a까지의 벡터를 표현
Vector Magnitude (Length) (벡터의 길이)
벡터는 크기와 방향을 갖고 있음
하지만 크기나 방향을 명시적으로 값을 활용해 표현하고 있지 않음
따라서 벡터의 크기가 필요할때 이를 계산해줘야 함
벡터의 크기는 벡터 구성 요소의 제곱의 합들의 제곱근
2차원 벡터의 경우 빗변을 사용해 직각삼각형을 만들어 피타고라스의 정리를 활용할 수 있음
3D에서는 피타고라스의 정리 2번 활용
Unit Vector (단위 벡터)
대부분의 경우 벡터의 길이보단 방향이 중요
단위 벡터 : 방향 정보만 남긴 크기가 1인 벡터
normalized(정규화) 벡터라고도 함
일반적인 벡터를 단위 벡터로 만드는 방법은 각 벡터의 요소를 벡터의 길이로 나누어 주면 됨
단, 영벡터는 정규화 불가
1보다 큰 벡터를 단위 벡터로 변경하면 길이 감소, 1보다 작은 벡터를 단위 벡터로 변경하면 길이 증가
기하학에서 거리를 구하는 공식
ex)
참고 및 출처:
게임 개발을 위한 수학
벡터의 길이와 활용
구교승
Face the fear, Build the future
팔로우
이전 포스트
[게임 수학] 벡터와 위치의 상관관계 (Vectors and Points)
다음 포스트
[게임 수학] 벡터의 내적, 외적 (Dot Product, Cross Product)
0개의 댓글
댓글 작성