【发布时间】:2019-05-03 16:54:32
【问题描述】:
所以我有一个形状,我想相对于 y 轴旋转它。我很确定我的旋转矩阵是正确的,这是我们指南中旋转矩阵的样子:
这是我实现的代码:
public static void rotate3Dy(float[] xCoords, float[] yCoords, float[] zCoords, float angle) {
float cosine_angle = (float) Math.cos(angle);
float sine_angle = (float) Math.sin(angle);
for (int i = 0; i < yCoords.length; i++) {
xCoords[i] = (xCoords[i] * cosine_angle) + (zCoords[i] * sine_angle) + 0;
zCoords[i] = (-xCoords[i] * sine_angle) + (zCoords[i] * cosine_angle) + 0;
}
}
单独向上/向下/向左/向右旋转形状看起来不错,但是当我在向上/向下旋转后向左或向右旋转时,它开始倾斜。
我在这里错过了什么/做错了什么?
【问题讨论】:
-
也就是说,不清楚 1)你在说什么数字,2)“倾斜”到底是什么意思,3)你的其他旋转是如何实现的,4)上/下/左/右是什么意思在 x、y 和 z 方面。
-
你为什么认为这里出了问题?
标签: java graphics awt java-2d rotational-matrices