MEMBUAT LINGKARAN
SYNTAX : LINGKARAN
//header file
#include <stdlib.h>
#include <gl/glut.h>
#include <math.h>
//fungsi unutk membuat garis horizontal
void
garisHorizontal(int posx, int posy){
glBegin(GL_LINES);
glVertex2i(posx, posy+posx);
glVertex2i(-(posx), posy+posx);
glEnd();
}
//fungsi untuk membuat garis vertical
void
garisVertical (int posx, int posy){
glBegin(GL_LINES);
glVertex2i(posx+posy, posy);
glVertex2i(posx+posy, -(posy));
glEnd();
}
const double PI = 3.14;
int i;
//fungsi untuk membuat lingkaran
void lingkaran(int radius, int
jumlah_titik, int x_tengah, int y_tengah) {
glBegin(GL_POLYGON);
//rumus untuk
menempatkan vertex agar membentuk sebuah lingkaran
for
(i=0;i<=360;i++){
float
sudut=i*(2*PI/jumlah_titik);
float
x=x_tengah+radius*cos(sudut);
float
y=y_tengah+radius*sin(sudut);
glVertex2f(x,y);
}
glEnd();
}
void
renderScene() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.,1.,1.);
garisHorizontal(-320, 320);
garisVertical(-320, 320);
glColor3f(0.5, 1, 0.0);
lingkaran(100,80,0,0);
glFlush();
}
int main(int argc, char
**argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(500, 500);
glutInitWindowPosition(100, 100);
glutCreateWindow("Lingkaran");
gluOrtho2D(-320., 320., -320., 320.);
glutDisplayFunc(renderScene);
glutMainLoop();
return 0;
}
0 komentar:
Posting Komentar