画图里用到浮点坐标,请问这个浮点坐标有意义吗?--典型的不转弯思考

来源:互联网 发布:ubuntu 怎么安装php 编辑:程序博客网 时间:2024/05/16 09:47

  作者:liguisen

 blog:http://blog.csdn.net/liguisen/

有一部分人有疑问如下:
画图里用到浮点坐标,请问这个浮点坐标有意义吗?因为像素点都是整数,如果是LCD的话,我觉得浮点坐标没什么意义,CRT的话,点阵比较密集,显示精度可能高一点,不知道我说得对不对?
 
上述说法是错误的!所谓的“浮点坐标”,也就是说,带小数点的这些坐标,不过是一个逻辑坐标,它是需要通过某种映射关系才能够与我们的实际设备对应起来的。例如我说一个正方形边长100米,那你是不是就告诉我这个正方形不能在显示器里显示出来?我们完全可以缩小一下嘛,这个时候在显示器里一个象素点可能就表示10米了,显示器还能显示出来一个地球呢。
再回到“浮点坐标”本身,例如我们通过计算,得到一个点的坐标在(4,5.12),那是不是意味着我们只能在屏幕上的(4,5)这个点把它显示出来呢(还好你知道像素点都是整数,需要四舍五入处理)?当然不是,我们可以这样处理,在屏幕上画一个坐标系统,每个象素点代表的距离是1,那么我们的x轴长度可以达到800以上(除非你的分辨率还达不到800×600),y轴可以达到600以上,于是我们可以在(400,512)这个点显示我们所需要的点,你完全可以说它的坐标是(4,5.12),只要你喜欢,因为只要你在坐标轴上每隔100个点写上1、2、3、4......就可以了,在512个点处它的坐标难道不是5.12??其实,对于这个点,我还可以说它的坐标是(3.12456,1000.654123)呢,它的逻辑坐标是多少,完全取决于我们是怎么看待它的。这下,你明白了没有?
 
 
 
产生上述问题的根本原因有3个:1,不愿意动脑筋进行深入的思考;2,对于数学与计算机的关系没有深刻的理解,另一个十分典型的问题就是浮点数;3,思考了,但太死板,想法不能转一下弯
实际当中,有上述错误想法的人还真不少,记录下来,下次就不用费这么多时间解释了。