2014-01-29 111 views
1

我不擅長數學和改寫的方式來編寫下面的公式。Unity3D數學計算問題

40x^2 + 360x 

結果應該是如下

X = 1的結果應該是400
x = 2時的結果應該是900
X = 3的結果應該是1600
X = 4結果應該是2100
X = 5結果應該是2800

result = 40 * (int)Mathf.Pow((float)x, 2f) + (360 * x) 

X = 1 I得到400
x = 2時,我得到880
X = 3,我得到1440
...等

什麼我錯在這裏做什麼?

+0

而不是使用'Mathf.Pow()',你應該使用'x * x'作爲x平方......我會擔心浮點版本中的浮點精度/截斷問題。 – comingstorm

回答

4

看來你從代碼中得到的答案是正確的。

作爲一個例子,在頂級答案中,其中x = 2,900作爲答案是不可能的。因爲; 360 * 2 = 720.要獲得900,你需要添加180,這不是40的任何倍數,最接近的將是160.這增加到720等於880,例如在代碼的答案中。

+0

謝謝,我用我需要的不同路線走了。我只是創建了一個字典作爲查找,而不是做計算。 – Tsukasa