抽点和浮动问题
drawpoint and float issue
我想在函数 y = x^2 中逐点递增并在音阶上播放。
所以我先绘制点 2.00-4.00,然后绘制点 2.01-4.0401,等等...
我疯了,因为 x 在循环中保持在 2.0,并且在调试中得到的值总是 2.0。
int x = 2;
int y = 4;
int scale = 100;
float xx = (float) x;
float yy = (float) y;
for(int k=0;k<scale;k++) {
canvas.drawPoint((float) (xx*scale) , (float) (yy*scale), paint);
xx = xx + (1/scale);
yy = xx * xx;
}
我在做什么蠢事?
非常感谢!
那是因为scale
是整数,1/scale为零。尝试将其替换为 1/(float)scale
我想在函数 y = x^2 中逐点递增并在音阶上播放。 所以我先绘制点 2.00-4.00,然后绘制点 2.01-4.0401,等等... 我疯了,因为 x 在循环中保持在 2.0,并且在调试中得到的值总是 2.0。
int x = 2;
int y = 4;
int scale = 100;
float xx = (float) x;
float yy = (float) y;
for(int k=0;k<scale;k++) {
canvas.drawPoint((float) (xx*scale) , (float) (yy*scale), paint);
xx = xx + (1/scale);
yy = xx * xx;
}
我在做什么蠢事? 非常感谢!
那是因为scale
是整数,1/scale为零。尝试将其替换为 1/(float)scale