2011-06-07 151 views
4

在使用Qt時,我注意到了這一點,通過代碼示例。爲什麼使用(360 * 16)而不是360度?

當他們嘗試設置存儲角度(角度在這種情況下)的可變範圍,爲什麼它必須以360 乘以16,而不是僅僅360?

代碼(從hellogl例子)是

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

從colloidingmice例子另一個例子:

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

承認我在Qt和圖形編程幾乎爲零的經驗,也告訴我們,如果這在各地或Qt中都很常見。

回答

5

this文章:

的值由16 乘以因爲QPainter表達角度爲一定程度的十六分之 。

+0

非常感謝。 – 2011-06-07 12:54:05