图形:为什么浮动坐标?

时间:2011-04-15 21:49:06

标签: graphics screen coordinates

在许多图形库中,我看到坐标存储为floatsdoubles。我的问题是,为什么不将它们存储为简单的整数?你可以获得更高的精度,双点仍然必须在某个时刻转换为整数(你不能在屏幕上从像素45.8开始显示图像,例如:P)。

1 个答案:

答案 0 :(得分:1)

理论上,你可以从45.8开始渲染图像。它更多地是关于图形库使用的坐标系,以及它们如何管理图形的转换和转换等。通过矢量移动图像就是一个很好的例子......

即。极坐标,或与2D坐标系相关的笛卡尔坐标系......

例如,您希望球形图形在窗体周围随机弹跳。实现这一目标的直观方法是:

  • 首先,以规范的方式反弹 (dx = -dx或dy = -dy取决于 碰撞)

  • 然后将dx和dy转换为极坐标(theta和r)

  • 少量抖动(+或 - 几度,根据您的口味)

  • 确保theta不会撞到你刚刚弹开的​​墙上

  • 将theta和r转换回dx(x)和dy(y)坐标(它们是整数数据类型)......

获得漂移?

可以找到useful