2009-09-20 33 views
2

我想更好地理解這段代碼在做什麼。它用Objective-C編寫,但對於任何具有C背景的人都應該熟悉。 sin/cos數學究竟在這裏做什麼?此外,有沒有人有這樣的遊戲概念學習觸發的良好建議?遊戲中的數學邏輯(基本觸發),這個代碼在做什麼?

for (int i = 0; i < GAME_CIRCLES; i++) 
{ 
    point.x = center.x - sin (degree) * RADIUS; 
    point.y = center.y + cos (degree) * RADIUS; 
    mPieRect[i] = CGRectMakeWithCenter (point, RADIUS - 4); 
    degree += PI/3.0; 
} 

回答

7

這是一個圓的參數方程(見wikipedia

我猜「度」變量實際上是radians而非度雖然。圓周有360度,或2 * Pi弧度。

通過推進由π/ 3度變量,它的步進一圈

+0

感謝保羅的1/6!說得通。儘管如此,快速的問題是,x/y座標是如何計算出來的,究竟是什麼center.x - sin(度)?RADIUS和後續行? – randombits 2009-09-20 20:00:27

+0

,計算從角度'度'和半徑'RADIUS'的中心點的位置。如果您要以小增量循環顯示0 ... 2PI的度數並繪製結果點,則會出現一個圓圈。 – 2009-09-20 20:03:52

+0

此外,我猜GAME_CIRCLES是6使六角形周圍的6個點的循環步驟,所以它存儲一個矩形集中在mPieRect數組中的每個點。 – 2009-09-20 20:07:04