插值弧度角?

时间:2011-05-26 19:27:13

标签: c++ math

如果我的开始角度为1.0f,结束角度为6.0f,那么我真正想要插入的不是1和6之间的5,而是较小的部分。这将导致逆时针插值。插值时如何解释?

基本上,当从0到6.283给出2个弧度角时,我怎么知道我是应该顺时针还是逆时针插入基于哪个“更短”?

由于

3 个答案:

答案 0 :(得分:7)

获取目标角度减去起始角度。如果它大于PI,则逆时针方向。

如果值为负,则反转逻辑。

答案 1 :(得分:0)

任何角度θ的倒数是θ-π。

那么为什么不只计算你的θ和θ-π,看看哪一个更小?

BTW:这似乎与数学有关,与编程无关。

答案 2 :(得分:0)

为这个数学问题提供编程解决方案:

Direction WhichDirection(double start, double finish) {
    return ( std::fmod( (finish - start +2*PI), 2*PI) > PI) ? COUNTER : CLOCK;
}