插值辐射角

Interpolating Radian Angles?

本文关键字:辐射 插值      更新时间:2023-10-16

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

本质上,当给定从0到6.283的2个弧度时,我怎么知道我应该根据哪个"更短"进行顺时针或逆时针插值?

感谢

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

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

任意角度θ的倒数;是θ-π。

那么为什么不计算你的θ呢;,以及θ-π,看看哪一个小?

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

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

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