當使用Vector2.Normalize功能(在XNA專門)Vector2.Normalize功能,困惑的對角線輸出
這也可能是我的矢量數學不好理解,但據我所知,正火給你一個方向我的問題是,或者是一個漸變。
如果你在一個方向上應用一個速度,比如向左和向右,它會針對特定的軸和方向返回正值或負值1,這對我來說是有意義的。
但是,如果我要求對角線移動的vector2進行歸一化,比方說每1單位右下降1個單位。它返回這個。
{X:0.7071068 Y:0.7071068}
這讓我吃驚,因爲我會一直以爲它會一直更喜歡[X:0.5 Y:0.5]
我的推理呢?如果一個方向的絕對值爲1,而另一個方向的絕對值爲1,則不應該以45度角移動產生類似0.5的中點?
並不會0.5和0.5添加產生的幅度1我認爲規範化的向量應該堅持?
我不知道我是否可以使用類似DYDX的東西看到自己的答案,因爲它只是一個方向,而不是某條已知終點的線。
正常化矢量保持方向,但將其長度設置爲1,所以我不明白爲什麼這是錯誤的。 0.707是1/sqrt(2)。因此,長度爲sqrt(1/sqrt(2)** 2 + 1/sqrt(2)** 2)= 1. – Dirk 2014-08-30 14:07:20
這裏的編程問題在哪裏?如果你對未規範的方向向量存在一些問題,那麼你最好閱讀一些相關的信息,並在math.stackexchange上提出一個問題。如果你有一些程序問題是由矢量的當前表示引起的 - 用代碼,期望和當前結果來描述它。 – 2014-08-30 14:24:45
道歉,現在我明白它背後的數學更好一點,我意識到它更適合像你說的數學交換。我之前沒有找到合適的資源。我不確定Vector2.Normalize方法處理規範化的方式是否與標準數學中的方式不同,直到我理解它給出的答案。 – 2014-08-30 16:17:45