从距离和矢量创建矢量

时间:2014-06-17 15:51:23

标签: c# vector xna distance

如何从另一个矢量和距离创建矢量?

例如,使用vector3d(1,1,2)和距离12,创建另一个具有相同方向但长度超过12个单位的向量。

2 个答案:

答案 0 :(得分:1)

您希望找到所需方向的unit vector;在XNA中,这由Vector3.Normalize给出。然后你可以scalar multiply该单位向量(根据定义,长度= 1)到最终距离。

例:

var originalVector = new Vector3(1, 1, 2);
var finalLength = originalVector.Length + 12; // "longer by 12", this could be whatever you want
originalVector.Normalize(); // make it a unit vector
var finalVector = originalVector * finalLength;

答案 1 :(得分:0)

从数学的角度来看,阿斯克的回答是100%正确的。如果您希望放大的矢量使用原始矢量

var originalVector = originalVector * finalLength;