作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前要使用“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/
我是一名优秀的程序员,十分优秀!