我目前正在使用HTML5 / JavaScript创建的飞机上进行一些翻译。 我有一个矩阵类,我的飞机类和主类。 到目前为止,我已经获得了我的规模并转化为工作,但我正在努力让轮换工作。
以下是矩阵类中创建旋转的代码:
Matrix.createRotation = function (rotation) {
return new Matrix(Math.cos(rotation), -Math.sin(rotation), 0,
Math.sin(rotation), Math.cos(rotation), 0,
0, 0, 1);
};
和矩阵类中的Transform:
Matrix.prototype.transform = function (pContext) {
pContext.transform(this.getElement(0, 0), this.getElement(1, 0), this.getElement(0, 1),
this.getElement(1, 1), this.getElement(0, 2), this.getElement(1, 2));
};
我知道他们没有任何问题,因为它通过了单元测试。
以下是用于旋转对象的方法
function rotate() {
var matrix = Matrix.createRotation(Math.PI);
matrix.setTransform(mainContext);
};
这就是我所说的:
initialiseCanvasContext();
scale(new Vector(1, 1));
drawPlane(new Vector(0, 0));
rotate();
对不起,如果这令人困惑,请告诉我。如果有的话。