0

我正在尝试绘制一个洛伦兹吸引子,其中整个吸引子的颜色都会发生变化。我编写了以下计算吸引点的 for 循环。

    float x = 1, y = 1, z = 1;
    glBegin(GL_LINE_STRIP);

    int i;    
    for (i=0; i < initialIterations; i++) {
        glColor3d(0,i/50000,1);
        // compute a new point using the lorenz attractor equations
        float dx = sigma*(y-x);
        float dy = x*(r-z) - y;
        float dz = x*y - b*z;

        // save the new point
        x = x + dx*dt;
        y = y + dy*dt;
        z = z + dz*dt;        

        glVertex3f(x/50,y/50,z/50);
    }
    glEnd();

我正在使用glcolor代码顶部的 将颜色更改为i. 但是我没有看到我想要的结果,我得到的只是一种纯色。我知道颜色像状态机一样工作,但我需要找到一种方法来改变整个颜色。

4

1 回答 1

4

你正在做整数除法 : i/50000,所以它总是 0。

尝试i/50000.0

于 2012-09-20T20:59:57.303 回答