math - Y 轴反射角

标签 math trigonometry angle

我目前要使用“Pi - angle”在 Y 轴上反射(reflect)一个角度。我使用的角度系统以弧度为单位,0 为东,-Pi/2 为北,Pi/2 为南,+/- Pi 为西,当我尝试使用上述方法反射(reflect)角度时,它经常返回高于 Pi、超出范围的值。我怎样才能防止这种情况发生?

谢谢,

DLiKS

最佳答案

关于 x 轴的反射:只需使用 -angle

关于y轴的反射:使用

   if (angle >= 0)
      return pi - angle
   else
      return -pi - angle

这会在 0 处创建分支切割:3° 映射到 177°,而 -3° 映射到 -177°。 0 映射到 pi。 (如果您需要 [-pi,pi) 区间内不包括 +pi 的角度,请将“>=”更改为“>”。

这还假设输入角度在 [-pi,pi] 范围内,正如您的问题陈述所暗示的那样。如果不是,您需要首先使用对称模 2*pi(其中 smod(x,M) = mod(x+M/2,M) - M/2)进行归一化。

关于math - Y 轴反射角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4556690/

相关文章:

android - 从垂直轴旋转的角度

c - c 中的负对数结果

c - 旋转二维数组 -> 反转循环

javascript - 用 Angular 计算坐标

java - 使用 Traci4j 在 SUMO 中获取车辆的角度

math - 向量数学,在两个向量之间的平面上找到坐标

javascript - 从另一个 JavaScript 中减去一次时前导零

c++ - 使用正弦或余弦函数在 C/C++ 中实现 3D 烟花效果

actionscript-3 - 如何将非直线分成偶数段?

iphone - 2 个 GPS 坐标之间的角度