NIM : 1818057
NAMA : Febryan Alfaridzi
MATERI : Lingkaran
TUGAS : Membuat Perhitungan lingkaran dan Program lingkaran
4.1 Tujuan
1. Praktikan mampu memahami inisialisasi lingkaran
2. Praktikan mampu memahami object lingkaran
3. Praktikan mampu memahami dasar menampilkan susunan lingkaran
4.2 Alat dan Bahan
1. Laptop
2. Visual studio 2013
3. OpenGL
4. Modul Grafika Komputer 2020
b. Tabel perhitungan
Iterasi x y pk Titik
0 0 7 -6 -
1 1 7 -3 (1,7) (1,-7) (-1,7) (-1,-7) (7,1) (7,-1) (-7,1) (-7,-1)
2 2 7 2 (2,7) (2,-7) (-2,7) (-2,-7) (7,2) (7,-2) (-7,2) (-7,-2)
3 3 6 -7 (3,6) (3,-6) (-3,6) (-3,-6) (6,3) (6,-3) (-6,3) (-6,-3)
4 4 6 2 (4,6) (4,-6) (-4,6) (-4,-6) (6,4) (6,-4) (-6,4) (-6,-4)
5 5 5 -1 (5,5) (5,-5) (-5,5) (-5,-5) (5,5) (5,-5) (-5,5) (-5,-5)
c. Grafik
void myInit(void){
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(24, -16, -24, 16);
}
void midPointCircleAlgo()
{
int x = 0;
int y = r;
float decision = 1 - r;
plot(x, y);
void myDisplay(void){
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 0.0, 0.0);
glPointSize(5.0);
midPointCircleAlgo();
glFlush();
}
void main(int argc, char** argv)
{
cout << "\nMasukkan Koordinat-X : "; cin >> pntX1;
cout << "\nMasukkan Koordinat-Y : "; cin >> pntY1;
cout << "\nMasukkan Radius : "; cin >> r;
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(640, 480);
glutInitWindowPosition(100, 150);
glutCreateWindow("1818057");
glutDisplayFunc(myDisplay);
myInit();
glutMainLoop();
}
Tampilan Hasil :
4.5 Kesimpulan
1. Algoritma penggambaran lingkaran pun berusaha mencari solusi optimal sedemikian
rupa agar lingkaran yang dibentuk sempurna.
2. Lingkaran yaitu kumpulan dari titik-titik yang memiliki jarak dari titik pusat yang sama
untuk semua titik.
3. Untuk penambahan x dapat dilakukan dari 0 ke r sebesar unit step, yaitu menambahkan
± y untuk setiap step.