如何解决图形:为什么浮动坐标?
| 在许多图形库中,我看到的坐标存储为floats
或doubles
。我的问题是,为什么不将它们存储为简单的整数?您可以获得更高的精度,在某些时候,仍然必须将double转换为整数(您不能从像素45.8开始对屏幕上的图像进行盲处理,例如:P)。
解决方法
从理论上讲,您可以从45.8镜像。它更多地涉及图形库在其中使用的坐标系,以及它们如何管理图形的平移和变换等。通过Vectors移动图像是一个很好的例子...
即极坐标或与2D坐标系有关的笛卡尔坐标系...
例如,您希望球图形在Windows窗体周围随机反弹。实现此目的的直观方法是:
首先,以经典方式反弹
(dx = -dx或dy = -dy取决于
碰撞)
然后将dx和dy转换为极坐标(θ和r)
少量抖动(根据您的口味,+或-几度)
确保theta不会进入刚反弹的墙壁
将theta和r转换回dx(x)和dy(y)坐标(属于整数数据类型)...
得到漂移?
可能会发现这很有用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。