2014-02-26 43 views
0

我需要解釋下面的代碼。在opengl中形成圓的座標背後的邏輯

float stepSize = ((2*M_PI)/POINTS_1349); 
for (float d = 0; d <= (2*M_PI)-stepSize; d += stepSize) { 
     pPointer->x = sin(d) * 0.5; //0.5 is radius 
     pPointer->y = cos(d) * 0.5; 
     pPointer->z = 0.0f; 
     pPointer->w = 1.0f; 
     pPointer++; 
} 

其中POINTS表示用於形成圓的點的數量。 M_PI = 3.14

回答

0

圓在這裏被定義在參數方式,其中形成該曲線的點是:

 
    x[i] = R * sin(angle[i]); 
    y[i] = R * cos(angle[i]); 

和角度是:

 
    angle[i] = 2 * PI/N * i; 

N是點數和i運行在[0..N)範圍內的值。