2012-02-25 113 views
0

如何查找3D速度矢量?我有射彈的起始位置,結束位置和速度。查找3D速度矢量

此外,如果目標正在移動,如何找到速度矢量?

任何幫助,非常感謝。

+4

如果th e物體沿着一條直線行進,然後得到方向矢量(結束位置減去開始位置),通過速度進行歸一化和縮放。 – 2012-02-25 20:34:05

+1

您應該詳細說明第二部分,例如目標是什麼,我們對此有什麼信息。 – Irfy 2012-02-25 20:38:16

+0

Target擁有諸如Location,Velocity等所有信息 – Djokovic 2012-02-25 20:41:49

回答

5

如果位置的部件是xy,並且z,那麼你就可以分解導彈的運動:

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

您可以找到總運動:

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

然後你可以計算速度矢量:

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

謝謝!移動目標如何?我必須找到目標的暫定位置,並確定導彈是否會擊中目標。目標正在以自己的速度移動,並且射彈以一定的速度射擊。 – Djokovic 2012-02-25 21:04:09

+0

使用相同的技術:計算在x,y和z方向上的目標運動。您可以在時間t'沿軸計算目標的位置爲'x0 + t * vx',其中'x0'是其軸上的起始位置,'vx'是它沿軸的速度。計算沿x,y和z軸的位置;然後爲導彈做同樣的事情。如果兩個物體同時在同一地點,則導彈擊中目標。 – 2012-02-25 21:13:11