心形图案


心形图案

 

#include <GL/glaux.h>

int main(int argc, char** argv){
    
    auxInitDisplayMode (AUX_SINGLE | AUX_RGBA);
    auxInitPosition (0, 0, 500, 500);
    auxInitWindow(argv[0]);
    
    glClearColor(0.0,0.0,0.0,0.5);//magenta
    // glClearDepth(0.0);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    // specify the point size in pixel.
    // non-antialiasing defaultly.
    glPointSize(2.0);
    
    //print a heart on the screen
    //the heart formula is x^2 + ((y - pow(x^2),1/3))^2 = 1
    double x = -1.0;
    double y1 = 0.0;
    double y2 = 0.0;
    
    // scale the canvas
    glScalef(0.5,0.5,0.5);
    // red color
    glColor3f(1.0,0.0,0.0);
    
    //start paint.
    glBegin(GL_POINTS);
    for (x = (double)-1;x<(double)1;x=x+(double)0.01) {
        
        y1 = pow(x*x,(double)1/(double)3) + pow(1-x*x,(double)1/(double)2);
        y2 = pow(x*x,(double)1/(double)3) - pow(1-x*x,(double)1/(double)2);
        
        glVertex2d(x,y1);
        glVertex2d(x,y2);   
       
    }
    
    glEnd();
    
    //must add this to flush the buffer, so we can see the new picture.
    glFlush();
    Sleep(10000);
}
 

 

你可能感兴趣的:(图)