Math Unity3D数学计算问题

Math Unity3D数学计算问题,math,unity3d,Math,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我得到400 x=2我得到880 x=3我得到1440 …等等 我做错了什么?看来您从代码中得到的答案是正确的 例如,在最上面的答案中,x=2900不可能作为答案。因为360 *

我不太擅长数学,也不太擅长写下面的公式

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我得到400
x=2我得到880
x=3我得到1440
…等等


我做错了什么?

看来您从代码中得到的答案是正确的


例如,在最上面的答案中,x=2900不可能作为答案。因为360 * 2 = 720. 要得到900,你需要加上180,这不是40的任何倍数,最接近的是160。加上720等于880,比如代码中的答案。

看来您从代码中得到的答案是正确的


例如,在最上面的答案中,x=2900不可能作为答案。因为360 * 2 = 720. 要得到900,你需要加上180,这不是40的任何倍数,最接近的是160。加上720等于880,比如在代码的答案中。

而不是使用
Mathf.Pow()
,你可能应该使用
x*x
来表示x平方。。。我会担心浮点版本中的浮点精度/截断问题。与其使用
Mathf.Pow()
,不如使用
x*x
进行x平方运算。。。我会担心浮点版本中的浮点精度/截断问题。谢谢,我用了我需要的另一种方法。我没有做计算,只是创建了一个字典作为查找。谢谢,我用我需要的东西走了一条不同的路线。我没有做计算,只是创建了一个字典作为查找。