我正在阅读“Beginning Java Game Programming 2/e”,这本书非常强调使用 AffineTransform。
只有一个问题,它根本没有解释它是什么,它做了什么,以及 AffineTransform 的目的。
我做了一些谷歌搜索,但他们只是向我展示了矩阵数学......有人能指出我正确的方向吗?
我正在阅读“Beginning Java Game Programming 2/e”,这本书非常强调使用 AffineTransform。
只有一个问题,它根本没有解释它是什么,它做了什么,以及 AffineTransform 的目的。
我做了一些谷歌搜索,但他们只是向我展示了矩阵数学......有人能指出我正确的方向吗?
那是因为仿射变换是矩阵数学。它是从一个图像到另一个图像的任何类型的映射,您可以通过移动、缩放、旋转、反射和/或剪切图像来构建。JavaAffineTransform
类允许您指定这些类型的转换,然后使用它们来生成图像的修改版本。
答案已经晚了好几年,但如果其他人为此苦苦挣扎,那么我建议您阅读 Frank Luna 的 DirectX 11 3D 游戏编程简介。这是一本非常好的书。虽然这本书是关于 DirectX 11 的,但前三章只是关于图形所需的数学概念。这些章节很好地解释了数学,并在章节末尾提供了大量练习来练习主题。(你可能会做 2D 游戏,但数学是一样的,向量和矩阵只有少一维。)