Quick Reference
벡터는 크기와 방향을 가진 양을 좌표로 표현할 때 사용합니다. 이동량은 위치의 차이, 단위 방향은 길이가 1인 벡터입니다. 다음은 같은 정규직교 좌표계의 실수 벡터입니다.
a = (3, 4), b = (-1, 2)
a + b = (2, 6)
2a = (6, 8)
|a| = √(3² + 4²) = 5
normalize(a) = a / |a| = (0.6, 0.8) [a ≠ 0]성분별 연산과 의미
스칼라는 실수 하나이고, 스칼라 곱은 벡터의 각 성분에 그 수를 곱합니다. 양수를 곱하면 방향을 유지하며 길이가 변하고, 음수를 곱하면 방향이 반대가 됩니다. 0을 곱하면 영벡터입니다.
| 연산 | 2차원 형태 | 기하학적 의미 |
|---|---|---|
| 덧셈 | (ax + bx, ay + by) | a의 끝에서 b만큼 더 이동 |
| 뺄셈 | (ax - bx, ay - by) | 같은 시작점에서 b의 끝을 a의 끝으로 연결 |
| 스칼라 곱 | (kax, kay) | 길이를 절댓값 k배, 부호에 따라 방향 변경 |
| 선형결합 | αa + βb | 두 방향을 각 계수만큼 조합 |
같은 길이의 좌표 목록이라도 기준 공간과 의미가 달라지면 바로 더할 수 없습니다. 2차원과 3차원 벡터도 성분 수를 먼저 맞춰야 합니다. 일반적인 벡터끼리의 나눗셈은 스칼라 나눗셈과 같은 기본 연산으로 정의되지 않습니다.
점의 차이와 이동량
점 P가 (1,2), 점 Q가 (4,6)이라면 P에서 Q까지의 이동량은 (3,4)입니다.
d = Q - P = (4 - 1, 6 - 2) = (3, 4)
P + d = (1, 2) + (3, 4) = Q
Q - P = -(P - Q)위치 좌표는 원점과 기준 축을 정해야 의미가 생깁니다. 두 위치의 차이는 상대 이동량이므로 공통 원점의 이동은 상쇄됩니다. 같은 벡터 화살표를 다른 위치에 그려도 크기와 방향이 같으면 동일한 이동량을 표현할 수 있습니다.
위치 P를 정규화하면 목적지 Q로 향하는 방향이 아니라 선택한 원점에서 P로 향하는 단위 방향을 얻습니다. 목표 방향을 구할 때는 먼저 Q−P를 계산합니다.
길이와 단위 벡터
정규직교 좌표계에서 길이는 피타고라스 관계로 계산합니다. 3차원에서는 |v| = √(vx² + vy² + vz²)이고, 제곱 길이는 v·v입니다. 길이가 0이 아닌 벡터를 자신의 길이로 나누면 방향은 같고 길이는 1이 됩니다.
길이가 1인 것은 속도가 1이라는 뜻이 아닙니다. 단위 방향 u에 초당 이동 속도 s를 곱하면 속도 벡터 su가 되고, 시간 Δt 동안 이동량은 suΔt입니다.
u = (0.6, 0.8), s = 10 단위/초, Δt = 0.2초
속도 = su = (6, 8) 단위/초
이동량 = suΔt = (1.2, 1.6) 단위거리 비교만 필요하면 제곱 길이를 사용해 |d|² < r²로 비교할 수 있습니다. 제곱 길이에 거리 r을 그대로 비교하면 단위가 맞지 않습니다.
영벡터와 계산 경계
영벡터는 길이 0이므로 정규화가 정의되지 않습니다. 아주 작은 벡터를 부동소수점으로 나눌 때도 오차가 커질 수 있어 앱의 단위·크기에 맞는 기준으로 처리합니다. 모든 프로젝트에 같은 임계값을 넣는 대신 “방향이 없을 때 기존 방향 유지, 이동 생략” 등의 정책을 정합니다.
길이 공식은 정규직교 축을 전제로 합니다. 기울어진 기저의 좌표를 그대로 제곱합하면 실제 길이와 다를 수 있으며, 기저와 좌표 표현에서 이 차이를 계산합니다.
그래픽스에서 위치·속도·법선을 구분하는 사용 사례는 벡터로 위치·방향·속도 구분하기에 연결됩니다. 방향의 각도와 수직 관계는 내적·외적을 사용합니다.
벡터를 여러 개 조합해 만들 수 있는 범위와 중복 방향은 생성 공간·선형독립에서 구분합니다.
참고 링크
2 sources