KOMPUTER GRAFIS
Disusun Oleh :
Nama : Syahrul
NIM : 1929041056
Kelas : PTIK-C 19
2. Hari/Tanggal
Kamis/20 Mei 2021
3. Tujuan
Praktikum ini bertujuan untuk menjelaskan cara menggambar di OpenGl .
4. Landasan Teori
Percobaan ini bertujuan untuk bisa membuat atau menggambar lingkaran di Open GL
pada aplikasi codeblock.
5. Alat dan bahan
Laptop
Buku Komputer Grafis
6. Hasil praktikum
1) program pada codeblock
#include "stdlib.h"
#include "gl/glut.h"
#include "math.h"
const double PI = 3.141592653589793;
int i;
void back(){
glBegin(GL_QUADS);
glColor3f(0,0,0);
glVertex2d (-150,150);
glVertex2d(150,150);
glVertex2d(150,-150);
glVertex2d (-150,-150);
glEnd();
}
void lingkaran(int radius, int jumlah_titik, int
x_tengah, int y_tengah) {
glBegin(GL_POLYGON);
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 Draw() {
glClear(GL_COLOR_BUFFER_BIT);
back();
glColor3f(1.0, 0.0, 0.0); //merah
lingkaran(30,70,0,0);
glColor3f(0.0, 1.0, 0.0); //hijau
lingkaran(20,70,40,40);
glColor3f(0.0, 0.0, 1.0); //biru
lingkaran(40,70,-60,-60);
glColor3f(1.0, 1.0, 1.0); //putih
lingkaran(15,70,70,70);
glColor3ub(191, 111, 245); //ungu
lingkaran(10,70,95,95);
glFlush();
}
int main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(300, 300);
glutInitWindowPosition(200, 200);
glutCreateWindow("Lingkaran");
gluOrtho2D(-150., 150., -150., 150.);
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}
Baris ke-1 Header stdlib.h mendefinisikan empat jenis variabel, beberapa makro, dan
berbagai fungsi untuk menjalankan fungsi umum.
Baris ke-2 <GL/glut> berfungsi untuk import library grafik dari opengl
Baris ke-3 Merupakan header untuk fungsi matematika. Fungsi yang ada didalamnya
antara lain : sqrt() : merupakan fungsi untuk menghitung akar dari suatu
bilangan. pow() : fungsi ini utuk menghitung hasil dari perpangkatan
bilangan.