我正在使用学位,我需要一个单独的值才能保持在特定范围内。
我正在使用的学位是0到180,我需要单独的变量来解释它:
- 0.0f度= 0.0f
- 90.0f度= 1.0f
- 180.0f度= 0.0f
目前,我有0.0f到1.0f的度数0.0f到90.0f:
float unit = 1.0f / 90.0f; // equivalent of 1 degree
value = unit * maths::toDegrees(angle);
我想弄清楚的是,当值越接近180度时,它的数值会减少到0。
答案 0 :(得分:1)
使用差异的绝对值90:
value = 1.0 - unit * math :: Abs (90 - maths :: toDegrees(angle));
P.S。如果你想要顺利依赖,请考虑
value = maths :: Sin (角度);
在0中等于零,在Pi / 2 = 90时达到最大值1,在Pi = 180时减小到零