2012-02-25 2 views
0

3D 속도 벡터는 어떻게 찾을 수 있습니까? 나는 발사체의 시작 위치, 끝 위치 및 속도를 가지고있다.3D 속도 벡터 찾기

또한 대상이 움직이는 경우 어떻게 속도 벡터를 찾을 수 있습니까?

도움을 주시면 감사하겠습니다.

+4

객체가 직선을 따라 이동 한 후 방향 벡터 (끝 위치에서 시작 위치 빼기)를 얻고 속도로 정규화하고 크기를 조정합니다. –

+1

두 번째 부분에 대해 자세히 설명해야합니다. 목표가 정확히 무엇인지, 우리는 그것에 대해 어떤 정보를 가지고 있습니까? – Irfy

+0

대상에 위치, 속도 등의 모든 정보가 있습니다 – Djokovic

답변

5

위치의 구성 요소가 x, yz 경우, 당신은 미사일의 움직임을 분해 할 수 있습니다 다음

d = sqrt(dx*dx + dy*dy + dz*dz) 

:

dx = endPosition.x - startPosition.x 
dy = endPosition.y - startPosition.y 
dz = endPosition.z - startPosition.z 

당신은 전체의 움직임을 찾을 수 있습니다 속도 벡터를 계산할 수 있습니다 :

vx = dx/d * missileSpeed 
vy = dy/d * missileSpeed 
vz = dz/d * missileSpeed 
+0

고마워요! 움직이는 표적은 어때? 나는 목표의 잠정 위치를 찾고 미사일이 목표를 공격할지 결정해야한다. 대상이 자신의 속도로 움직이며 발사체가 일정 속도로 발사됩니다. – Djokovic

+0

동일한 기술을 사용하십시오 : x, y 및 z 방향으로 대상의 움직임을 계산하십시오. 'x0 + t * vx'에서'x0'가 축의 시작 위치이고'vx'가 축을 따른 속도입니다. x, y 및 z 축을 따라 위치를 계산하십시오. 그런 다음 미사일에 대해서도 똑같이하십시오. 두 물체가 동시에 같은 장소에 있다면, 미사일이 목표물을 때린다. –