为什么使用(360*16)而不是360度?

KK.*_*KK. 4 graphics qt

我在使用Qt时注意到这一点,通过代码示例.

当他们试图设置存储角度的变量的范围(在这种情况下是角度)时,为什么需要将360 乘以 16而不是360?

代码(来自hellogl示例)是

static void qNormalizeAngle(int &angle)
{
    while (angle < 0)
        angle += 360 * 16;
    while (angle > 360 * 16)
        angle -= 360 * 16;
}
Run Code Online (Sandbox Code Playgroud)

colloidingmice示例中的另一个示例:

Mouse::Mouse()
    : angle(0), speed(0), mouseEyeDirection(0),
      color(qrand() % 256, qrand() % 256, qrand() % 256)
{
    setRotation(qrand() % (360 * 16));
}
Run Code Online (Sandbox Code Playgroud)

承认我在Qt和图形编程方面几乎没有经验,也告诉我这是否在所有地方或仅在Qt中是常见的.

Mat*_*vis 5

埋在这篇文章中:

这些值乘以16,因为QPainter将角度表示为度数的十六分之一.