如果我的开始角度为1.0f,结束角度为6.0f,那么我真正想要插入的不是1和6之间的5,而是较小的部分。这将导致逆时针插值。插值时如何解释?
基本上,当从0到6.283给出2个弧度角时,我怎么知道我是应该顺时针还是逆时针插入基于哪个“更短”?
由于
答案 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;
}