2

ウィンドウのサイズは {0,0},{1e6,1e6} です。この領域内に 1000*1000 のグリッドを作成しました。
このエリアにランダムなポイントを作成しようとしています。

glEnable( GL_POINT_SMOOTH );
glEnable( GL_BLEND );
glPointSize( 200 );
for( int i = 0; i < 1e6; i++ )
{
    glColor3ub(0,255,0);
    // width and height are 1e6.
    int x = rand() % WIDTH; 
    int y = rand() % HEIGHT; 
    glBegin( GL_POINTS );
    glVertex2i( x, y );
    glEnd();
}
glFlush();  
glDisable( GL_BLEND );

x と y は乱数です。ただし、すべてのポイントはウィンドウの左下にのみ描画されます。

4

1 に答える 1

0

RAND_MAXお使いのプラットフォームで が より大きいことを確認してください1e6。それ以外の場合、表示される最大の x/y 値は であり、期待どおりRAND_MAX-1ではありません。1e6

またはmodulo なしで乱数を生成します。

于 2012-10-10T16:20:05.983 に答える