向量的奇怪算术错误

时间:2012-06-26 08:29:45

标签: c#

我正在使用DirectX在屏幕上绘图。

我想在保持尺寸的同时制作图像,所以我给顶点分配了一些算术:

float boxPosFactorX = (869-3)+(100/100 * (1063 - 869));
float boxPosFactorY = (940-3)+(100/100 * (1038 - 940));



vertexes[0].Position = new Vector4((50 * boxScale) + boxPosFactorX, (50 * boxScale) +     boxPosFactorY, 0, 1.0f);

// other vertexes with same structure just different constants (e.g. 50 above is the constant values of that vertex.

现在这里是非常奇怪的部分,上面的代码按预期工作,但只要将比率“100/100”更改为低于“99/100”或更低的任何值,它就会像代码一样:< / p>

float boxPosFactorX = (869-3)
float boxPosFactorY = (940-3)

1 个答案:

答案 0 :(得分:4)

99/1000(而101/100正好是1)。那是整数运算。如果要进行浮点运算,请使用99F/100