获取矩阵的当前旋转 - 使用库?

时间:2013-10-20 08:42:30

标签: java android matrix rotation

首先我要说很久以前我已经忘记了大部分数学。我不需要深入理解它。问题被问及并回答(见链接),但我不想得出我自己的功能,是否存在?下图显示了我已旋转45度的矩阵。是否有 simple 方式我可以插入0.707数字并获得45回来?目前我正在跟踪我自己的旋转(简单的解决方案),但我更喜欢一个函数来获得45度

question 7291053

Matrix Rotation

2 个答案:

答案 0 :(得分:2)

该功能称为“arcus sinus”或arcsin(x)arcsin(0.707107) = 45有一些舍入错误。

在Java Math库中,您还必须将结果从RAD转换为DEG,如下所示: Math.asin(0.707) * 180d / Math.PI

请注意,如here所述,您会收到介于-90°和+ 90°之间的内容。

如果您想知道实际旋转的轴以及圆的哪个部分(下部,上部),则必须查看所有9个值。请参阅here每个轴的矩阵如何。

答案 1 :(得分:1)

对于每个轴x,y和z的角度

[0][1][2]
[3][4][5]
[6][7][8]


double x = Math.atan2([7], [8]);
double y = Math.atan2(-[6],Math.sqrt((Math.pow([7],2)+Math.pow([8],2)));
double z = Math.atan2([0], [3]);

然后将您选择的那个乘以180 / PI