2014-06-17 186 views

回答

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; 
+0

但我沒有兩個向量。我只有一個矢量和一個距離 – user3741996

+0

然後你可以簡單地將'originalVector * finalLength'的結果賦給'originalVector'。我用單獨的變量來說明,但你可以做任何你想要的,數學是一樣的。 – Asik

+0

好吧,擰我......這裏是我在我的遊戲中與我的「複雜」pytagore數學計算所有動作......我想這是當你在一個域中沒有課程開始時會發生什麼...... –

0

阿西克的答案是從數學的角度來看100%正確。如果你想放大的矢量是在原來的使用

var originalVector = originalVector * finalLength;