Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
首先让我们说我很久以前就忘记了我的大部分数学。我不需要深入了解它。已提出并回答了该问题(请参阅链接),但我不想得出自己的功能,是否存在现有功能?下图显示了我已旋转 45 度的矩阵。有没有办法我可以插入 0.707 数字并获得 45 回来?目前我正在自己跟踪旋转(简单的解决方案),但我更喜欢一个函数来推导 45 度
问题 7291053
矩阵旋转
该功能称为“arcus sinus”或arcsin(x)。因为arcsin(0.707107) = 45有一点舍入误差。
arcsin(x)
arcsin(0.707107) = 45
在 Java 数学库中,您必须另外将结果从 RAD 转换为 DEG,如下所示: Math.asin(0.707) * 180d / Math.PI
Math.asin(0.707) * 180d / Math.PI
请注意,您会得到 -90° 和 +90° 之间的值,如此处所述。
如果您想知道您实际旋转的是哪个轴以及您在圆的哪个部分(下、上),那么您必须查看所有 9 个值。在此处查看每个轴的矩阵的外观。
对于每个轴 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