조건
월드 좌표
x = 좌(-), 우(+)
y = 앞(+), 뒤(-)
z = 위(+), 아래(-)
나 P : v(1,3, 2) , 방향(dir) v(0, 1, 0) 을 바라보느 상황
적 A : v(3, 6, 3)
적 B : v(2, -1, 2)
적 C : v(-1, -1, 2)
적 D : v(-2, 4, 1)
먼저 나를 0,0,0 으로 해서 기준으로해서 계산을 쉽게 하기 위해 좌표를 수정한다.
단,(현재 좌우와 앞뒤를 구분하기 위해 (위아래는 하지 않는다.) 모든 z축을 0으로 둔다. )
나 P = P - P = v( 0, 0, 0 ) , dir( 0, 1, 0) 방향은 그대로 둔다.
적 A = A - P = v( 2, 3, 0)
적 B = B - P = v( 1, -4, 0)
적 C = C - P = v( -2, -4, 0)
적 D = D - P = v( -3, 1, 0)
내적 (Dot) U*V = ( Ux * Vx ) + ( Uy * Vy ) + ( Uz * Vz )
U는 나의 Foward Vector이고, V는 Target을 향한(Target - self) vector이다.
결과값이 0 이면 수직이다.
결과값이 양수면 앞, 음수이면 뒤
외적 (Cross) T = U x V = [ ( Uy * Vz - Uz * Vu ), ( Uz * Vx - Ux * Vz ), ( Ux * Vy - Uy * Vx ) ]
결과값이 0 이면 같은 위치,
결과값이 위를 향하면 왼쪽 아래면 오른쪽
*(현재 높낮이를 구하지 않기 위해 z값을 모두 0으로 하여 위, 아래 방향 수직인 백터만 나온다.)