Tampilkan postingan dengan label komputer grafik. Tampilkan semua postingan
Tampilkan postingan dengan label komputer grafik. Tampilkan semua postingan

Tugas Membuat Kipas Angin Menggunakan Opengl

  • Membuat kipas Angin dengan menggunakan Opengl menjadi salah satu mata kuliah komputer grafik di kampus-kampus terutama yang mengambil jurusan Teknik Informatika. pada kesempatan ini saya akan memberikan cheat tentang tugas komputer grafik bagaimana cara membuat kipas Angin dengan menggunakan OpenGL. 
  • Dalam membuat kipas angin, terdapat beberapa komponen yang digunakan dalam bentuk 3 dimensi. seperti pada kasus ini saya menggunakan: gambar tabung yang digunakan sebagai tombol kipas angin, gambar donat (torus) yang sudah saya modifikasi bentuknya sehingga bentuknya menjadi seperti baling-baling yang akan digunakan sebagai kipasnya, dan ada juga 2 buah cube (kubus) yang digunakan sebagai tiang penyangga kipas dan juga sebagai alas kipas dan yang terakhir ada gambar sphere (bola) yang digunakan sebagai rumah dari baling-baling. 
  • Tentunya pada mata kuliah komputer grafik, untuk membuat kipas angin tersebut terdiri dari beberapa fungsi yang dibuat, seperti fungsi untuk memutar baling-baling pada kipas angin tersebut dengan menggunakan fungsi timer (jika ingin mengetahui tentang fungsi timer sederhana maka bisa dilihat di postingan sebelumnya tentang membuat ayunan 2d dengan menggunakan fungsi timer opengl ) , kemudian ada juga fungsi yang digunakan sebagai pencahayaan / lighting. fungsi tersebut digunakan untuk memberi efek cahaya pada objek sehingga terlihat nyata dengan adanya sisi gelap terang. terdapat juga fungsi mouse yang digunakan apabila objek tersebut akan digerakan dengan cara menekan tombol pada mouse, pada program yang saya berikan ini terdapat 1 fungsi tombol mouse dimana saat Anda menekan tombol klik kiri pada mouse maka rumah kipas angin akan bergerak 90 derajat ke arah kanan. terdapat juga fungsi dari keyboard seperti:

  1. menekan angka 1 maka akan memutar baling-baling kipas angin dengan kecepatan renda
  2. menekan angka 2 makan akan memberi perintah memutar kipas angin dengan kecepatan sedang
  3. menekan  angka 3 pada keyboard maka akan membuat kipas angin berputar dengan kecepatan maksimum
  4. menekan angka 0 pada keyboard maka akan menghentikan kipas yang sedang berputar
  5. pada saat menekan simbol "+" (tambah), maka akan membuat kipas angin memiliki banyak titik sudut, begitu juga sebaliknya saat menekan simbol "-" pada keyboard Anda.
Pasti sudah tidak sabar untuk melihat bagaimana skrip yang digunakan untuk membuatnya kan? untuk itu langsung saja saya berikan skripnya dibawah ini.

Membuat ayunan 2D dengan fungsi Timer opengl

Pada postingan ini saya akan membagikan tugas yang saya buat di kampus saya pada mata kuliah komputer grafik. timer merupakan salah satu materi yang terdapat pada mata kuliah komputer grafik dimana Anda harus membuat gambar dan pada gambar yang telah dibuat diharuskan untuk melakukan pergerakan dengan menggunakan timer. seperti contoh : sebuah perahu yang berlayar dari arah kanan ke kiri atau sebaliknya, sebuah efek hujan, atau bahkan sebuah ayunan seperti yang akan saya bagikan pada Anda. 

karena ayunan yang digambarkan hanya berbentuk 2D jadi mohon dimaklumi yah jiga timer untuk ayunan bergerak dibuat bergerak dari kanan ke kiri. (untuk Anda yang ingin mengetahui gambar 3D bisa melihat postingan tentang Membuat Kamera 3D dengan opengl )

untuk membuat gambar seperti diatas, pertama saya menggambarkan 3 buah persegi yang akan digunakan sebagai tiang ayunan, kemudian 2 buah garis lurus yang akan digunakan untuk tali ayunan dan yang terakhir yaitu 1 persegi sebagai tempat duduk ayunan.

berikut cheat untuk Anda yang ingin membuat ayunan dengan menggunakan opengl. Untuk Anda yang sudah mengetahui tentang skrip dibawah maka ini cukup membantu Anda yang kebingungan dalam menentukan gambar apa yang harus dibuat untuk sebuah efek timer di opengl, sementara untuk Anda yang belum mengerti efek dibawah ini maka Anda harus banyak belajar lagi sama seperti saya hehehe.


#include 
#include 
#include 
int x =0;
int zputer=0;
int zbalik=45;
int ujung,r=0;

//membuat fungsi timer yang akan digunakan untuk menggerakan ayunan
void timer(int value)
{

    if(r <= 45 && ujung==0 )
    {
        x++;
        if  (x==45)
            {
                ujung=1;
            }
    }
    else if(ujung == 1 && r>-45)
    {
        x--;
        if(x==-45)
        {
            ujung=0;
        }
    }

    glutPostRedisplay();
    glutTimerFunc(25,timer,0);
}
//fungsi yang digunanak untuk menggambar tiang ayunan
void draw()
{
    glBegin(GL_QUADS);
    glClear(GL_COLOR_BUFFER_BIT);
    glVertex2d(-250,0);
    glVertex2d(-250,-400);
    glVertex2d(-200,-400);
    glVertex2d(-200,0);

    glVertex2d(200,0);
    glVertex2d(200,-400);
    glVertex2d(250,-400);
    glVertex2d(250,0);

    glVertex2d(-250,-70);
    glVertex2d(-250,0);
    glVertex2d(250,0);
    glVertex2d(250,-70);

    glEnd();
}
//fungsi yang digunanak untuk menggambar tempat duduk ayunan
void draw123() { glBegin(GL_QUADS); glClear(GL_COLOR_BUFFER_BIT); glVertex2d(-50,-300); glVertex2d(-50,-270); glVertex2d(50,-270); glVertex2d(50,-300); glEnd();
//GL_LINES digunakan untuk menggambar garis yang akan digunakan sebagai tali ayunan
    glBegin(GL_LINES);
    glClear(GL_COLOR_BUFFER_BIT);
    glVertex2f(-20,-300);
    glVertex2f(-20,-30);

    glVertex2f(20,-300);
    glVertex2f(20,-30);

    glEnd();
}

    void display2()
    {
        glClear(GL_COLOR_BUFFER_BIT);
        glPushMatrix();
        glRotated(x,0,0,1);
        draw123();
        glPopMatrix();
        draw();

        glFlush();
    }


int main(int argc, char**argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
    glutInitWindowPosition(100,100);
    glutInitWindowSize(480,480);
    glutCreateWindow("animasi by timer");
    gluOrtho2D(-500.0,500.0,-500.0,500.0);
    glutDisplayFunc(display2);

    glutTimerFunc(100,timer,0); //memanggil fungsi timer yang dibuat
    glutMainLoop();
    return 0;
}

Sekian postingan yang saya buat jika ada kurang dan lebihnya mimin mohon maaf, semoga postingan diatas dapat bermanfaat untuk Anda yang sedang mencari contoh membuat bentuk 2 dimensi dengan menggunakan timer di opengl. Jika postingan ini bermanfaat jangan lupa di share ya..