opengl畫圓


通過這個例子可以更加深刻的了解割圓術的原理,明白如何的化曲為直,且看代碼;

#include <windows.h>
//#include <GLUT/glut.h>
#include <GL/glut.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
const int n=10;
const GLfloat R=0.5f;
const GLfloat Pi=3.1415926536f;
void MyDisplay()
{
    int i;
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_POLYGON);
    for(int i=0;i<n;i++)
        glVertex2f(R*cos(2*Pi/n*i),R*sin(2*Pi/n*i));
    glEnd();
    glFlush();
}

int main(int argc,char *argv[])
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);
    glutInitWindowPosition(100,100);
    glutInitWindowSize(400,400);
    glutCreateWindow("opengl程序");
    glutDisplayFunc(&MyDisplay);
    glutMainLoop();
    return 0;
}

 當n為10時,可以明顯的看到圓的不平滑,見圖:

 

 當n為20時,可以明顯的看到圓變得相對平滑,見圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM