为什么转换中有奇怪的数字,-90 到 -89.9801
Why is there weird number in transform, -90 to -89.9801
有没有发现,有时候transform中的数字很奇怪。喜欢:
- -90 到 -89.9801
- 270 为 271.00001
- 或者像这样
即使你原来设置的是90或270
为什么会这样?它与统一的机制有什么联系吗?
显示的值是四元数值的转换。
https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles
浮动总是会带来一些不准确。
Why Are Floating Point Numbers Inaccurate?
但主要是第一部分。显示的内容只是为了让您了解,但这不是 Unity 使用的内容。当您旋转所有轴时,您还会注意到从 180 度到 -90 度或 360 度到 -180 度的一些跳跃。这又是由于四元数只是一个方向,与 3 轴无关(四元数实际上有 4 个维度),而是基于角度和三角学。
我认为原因是 Unity 确实使用四元数计算其变换。欧拉角必须计算成四元数,所以有一点不准确。
有没有发现,有时候transform中的数字很奇怪。喜欢:
- -90 到 -89.9801
- 270 为 271.00001
- 或者像这样
即使你原来设置的是90或270
为什么会这样?它与统一的机制有什么联系吗?
显示的值是四元数值的转换。
https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles
浮动总是会带来一些不准确。
Why Are Floating Point Numbers Inaccurate?
但主要是第一部分。显示的内容只是为了让您了解,但这不是 Unity 使用的内容。当您旋转所有轴时,您还会注意到从 180 度到 -90 度或 360 度到 -180 度的一些跳跃。这又是由于四元数只是一个方向,与 3 轴无关(四元数实际上有 4 个维度),而是基于角度和三角学。
我认为原因是 Unity 确实使用四元数计算其变换。欧拉角必须计算成四元数,所以有一点不准确。