2011-12-01 15 views
1

任何一個熟悉trig的人都可以解釋一下這段代碼中的數學應該做什麼?爲什麼使用罪而不是cos或tan?爲什麼使用cos而不是罪惡或棕褐色?我知道sin/cos/tan在他們最基本的形式中做了什麼,但是一旦他們被拍成動畫類型的代碼,比如下面,我就會迷失方向。以下trig函數在這個Objective-C代碼中如何工作?

item.endPoint = CGPointMake(STARTPOINT.x + ENDRADIUS * sinf(i * M_PI_2/(count - 1)), STARTPOINT.y - ENDRADIUS * cosf(i * M_PI_2/(count - 1))); 
item.nearPoint = CGPointMake(STARTPOINT.x + NEARRADIUS * sinf(i * M_PI_2/(count - 1)), STARTPOINT.y - NEARRADIUS * cosf(i * M_PI_2/(count - 1))); 
item.farPoint = CGPointMake(STARTPOINT.x + FARRADIUS * sinf(i * M_PI_2/(count - 1)), STARTPOINT.y - FARRADIUS * cosf(i * M_PI_2/(count - 1))); 

回答

2

由於sin是opposite而不是hypotenuse,所以sin * hypotenuse也是opposite。給定一個角度和一邊(半徑)的小公式正在制定出另一邊。同樣,cos被用來獲得adjacent

1

i * M_PI_2/(count - 1)表示一個角度。三個RADIUS變量都是圓的半徑。所以如i不同,它會追蹤出相對於STARTPOINT所有放置的不同大小的3個圓圈。查看維基百科上的unit circle,獲取更多關於爲什麼sin/cos的信息。

相關問題