1

首先让我们说我很久以前就忘记了我的大部分数学。我不需要深入了解它。已提出并回答了该问题(请参阅链接),但我不想得出自己的功能,是否存在现有功能?下图显示了我已旋转 45 度的矩阵。有没有简单的办法我可以插入 0.707 数字并获得 45 回来?目前我正在自己跟踪旋转(简单的解决方案),但我更喜欢一个函数来推导 45 度

问题 7291053

矩阵旋转

4

2 回答 2

2

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

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

请注意,您会得到 -90° 和 +90° 之间的值,如此处所述

如果您想知道您实际旋转的是哪个轴以及您在圆的哪个部分(下、上),那么您必须查看所有 9 个值。在此处查看每个轴的矩阵的外观。

于 2013-10-20T09:31:39.090 回答
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

于 2013-10-20T09:59:21.950 回答