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