Mendesain Rumah Dengan Visual C++

Posted by Hewry Agiel kurniawan on 12.31 in
Ini adalah cara membuat rumah 2D dengan program visual C++ dengan menggunakan tool poligon.
Cukup panjang scriptnya dan memang membutuhkan waktu yang cukup lama bagi saya untuk menyelesaikan tugas ini, tapi alhamdulillah dapat diselesaikan dengan baik. Sebenarnya mata kuliah Komputer Grafik ini ada di semester VII, tetapi saya mengambilanya di semester IV karena SKS saya sisa banyak, jadi saya bisa mengambil dua mata kuliah semester VII ketika saya di semester IV. Koq jadi cerita pengalaman ne?? hehehe


sekedar Intermezo saja fren.


oke langsung saja ke TKP..!!!

Hasil akhir yang akan kita buat nantinya seperti ini:


Obyek Grafik 2D

�         Struktur data obyek grafik 2D, dalam hal ini digunakan bentuk struktur (type data record) dan array.


�         Menggambar obyek grafik 2D dengan struktur data yang sudah ditentukan.


Dan ini adalah script programnya: hanya perlu di copy paste saja di program visual C++



#include <GL/glut.h>
typedef struct
{
    int x,y;
}point2D_t;
typedef struct
{
    float r,g,b;
}color_t;

void setColor (color_t col)
{
    glColor3f(col.r, col.g, col.b);
}
void drawPolygon(point2D_t pnt[],int n)
{
    int i;
    glBegin(GL_LINE_LOOP);
    for (i=0; i<n; i++)
    {
        glVertex2i(pnt[i].x,pnt[i].y);
    }
    glEnd();
}

void fillPolygon (point2D_t pnt[], int n, color_t color)
{
    int i;
    setColor(color);
    glBegin(GL_POLYGON);
    for (i=0; i<n; ++i)
    {
        glVertex2f(pnt[i].x, pnt[i].y);
    }
    glEnd();
}

void userdraw(void)
{
    point2D_t
        ruangan[4]={{100,50},{250,50},{250,155},{100,155}};
    color_t kuning ={1,1,0};
    fillPolygon(ruangan, 4, kuning);
    //setColor(1,0,0);
    drawPolygon(ruangan,4);

    point2D_t
       resplang[4]={{50,155},{300,155},{300,160},{50,160}};
    color_t cyan ={0,1,1};
    fillPolygon(resplang, 4, cyan);
    //setColor(1,0,0);
    drawPolygon(resplang,4);

    point2D_t
        atap[3]={{50,160},{300,160},{175,230}};
    color_t merah ={1,0,0};
    fillPolygon(atap, 3, merah);
    //setColor(1,0,0);
    drawPolygon(atap,3);

    point2D_t
        pintu[4]={{160,50},{190,50},{190,100},{160,100}};
    color_t biru ={0,0,1};
    fillPolygon(pintu, 4, biru);
    //setColor(0,0,1);
    drawPolygon(pintu,4);

    point2D_t
    jendela[4]={{130,60},{150,60},{150,100},{130,100}};
    color_t biruu ={0,0,1};
    fillPolygon(jendela, 4, biruu);
    //setColor(0,0,1);
    drawPolygon(jendela,4);

    point2D_t
    jendela2[4]={{200,60},{220,60},{220,100},{200,100}};
    color_t blue ={0,0,1};
    fillPolygon(jendela2, 4, blue);
    //setColor(0,0,1);
    drawPolygon(jendela2,4);

    point2D_t
        tiang[4]={{30,0},{40,0},{40,40},{30,40}};
    color_t white ={1,1,1};
    fillPolygon(tiang, 4, white);
    //setColor(1,1,1);
    drawPolygon(tiang,4);

    point2D_t
        tiang2[4]={{140,0},{150,0},{150,40},{140,40}};
    color_t putih ={1,1,1};
    fillPolygon(tiang2, 4, putih);
    //setColor(1,1,1);
    drawPolygon(tiang2,4);

    point2D_t
        pagar[4]={{30,10},{140,10},{140,15},{30,15}};
    color_t puti ={1,1,1};
    fillPolygon(pagar, 4, puti);
    //setColor(1,1,1);
    drawPolygon(pagar,4);

    point2D_t
        pagar2[4]={{30,25},{140,25},{140,30},{30,30}};
    color_t putihh ={1,1,1};
    fillPolygon(pagar2, 4, putihh);
    //setColor(1,1,1);
    drawPolygon(pagar2,4);

    point2D_t
        tiang3[4]={{200,0},{210,0},{210,40},{200,40}};
    color_t putihhh ={1,1,1};
    fillPolygon(tiang3, 4, putihhh);
    //setColor(1,1,1);
    drawPolygon(tiang,4);

    point2D_t
        tiang4[4]={{311,0},{320,0},{320,40},{311,40}};
    color_t putihhhh ={1,1,1};
    fillPolygon(tiang4, 4, putihhhh);
    //setColor(1,1,1);
    drawPolygon(tiang4,4);

    point2D_t
        pagar3[4]={{200,10},{311,10},{311,15},{200,15}};
    color_t putihhhhh ={1,1,1};
    fillPolygon(pagar3, 4, putihhhhh);
    //setColor(1,1,1);
    drawPolygon(pagar3,4);

   point2D_t
        pagar4[4]={{200,25},{311,25},{311,30},{200,30}};
    color_t putihhhhhh ={1,1,1};
    fillPolygon(pagar4, 4, putihhhhhh);
    //setColor(1,1,1);
    drawPolygon(pagar4,4);

    point2D_t
        carpot[4]={{155,-10},{195,-10},{195,50},{155,50}};
    color_t hijau ={0,1,0};
    fillPolygon(carpot, 4, hijau);
    //setColor(0,1,0);
    drawPolygon(carpot,4);

        point2D_t
        lantai[4]={{160,45},{190,45},{190,50},{160,50}};
    color_t cyann ={0,1,1};
    fillPolygon(lantai, 4, cyann);
    //setColor(0,1,1);
    drawPolygon(lantai,4);

    point2D_t
        jalan[4]={{0,-10},{0,-60},{350,-60},{350,-10}};
    color_t cyannn ={0,1,1};
    fillPolygon(jalan, 4, cyannn);
    //setColor(0,1,1);
    drawPolygon(jalan,4);

    point2D_t
        pot[4]={{280,40},{285,40},{290,50},{275,50}};
    color_t cyannnn ={0,1,1};
    fillPolygon(pot, 4, cyannnn);
    //setColor(0,1,1);
    drawPolygon(pot,4);

    point2D_t
        bunga[4]={{282,50},{284,50},{284,90},{282,90}};
    color_t green ={0,1,0};
    fillPolygon(bunga, 4, green);
    //setColor(0,1,0);
    drawPolygon(bunga,4);

    point2D_t
        bunga2[4]={{284,50},{298,80},{300,80},{286,50}};
    color_t greenn ={0,1,0};
    fillPolygon(bunga2, 4, greenn);
    //setColor(0,1,0);
    drawPolygon(bunga2,4);

    point2D_t
        bunga3[4]={{282,50},{267,80},{265,80},{280,50}};
    color_t greennn ={0,1,0};
    fillPolygon(bunga3, 4, greennn);
    //setColor(0,1,0);
    drawPolygon(bunga3,4);

    point2D_t
        pot2[4]={{65,40},{70,40},{75,50},{60,50}};
    color_t cyannnnn ={0,1,1};
    fillPolygon(pot2, 4, cyannnnn);
    //setColor(0,1,1);
    drawPolygon(pot2,4);

    point2D_t
        bunga4[4]={{69,50},{69,90},{67,90},{67,50}};
    color_t greennnnn ={0,1,0};
    fillPolygon(bunga4, 4, greennnnn);
    //setColor(0,1,0);
    drawPolygon(bunga4,4);

        point2D_t
        bunga5[4]={{69,50},{84,80},{86,80},{71,50}};
    color_t greennnnnn ={0,1,0}
    fillPolygon(bunga5, 4, greennnnnn);
    //setColor(0,1,0);
    drawPolygon(bunga5,4);

    point2D_t
       bunga6[4]={{67,50},{52,80},{50,80},{65,50}};
    color_t greennnnnnn ={0,1,0};
    fillPolygon(bunga6, 4, greennnnnnn);
    //setColor(0,1,0);
    drawPolygon(bunga6,4);
}

void display(void)
{
    //clear screen
    glClear(GL_COLOR_BUFFER_BIT);
    userdraw();
    glutSwapBuffers();
}

int main(int argc, char **argv)
{
glutInit(&argc,argv);//Inisialisasi Toolkit
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
//posisi layar
glutInitWindowPosition(100,100);
//ukuran layar
glutInitWindowSize(740,480);
//title windows
glutCreateWindow("Rumah Idaman");
//warna back layar
glClearColor(0.0 , 0.0 , 0.0 , 0.0);
gluOrtho2D(0.,640.,-240.,240.);
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}

Jika benar, seharusnya hasilnya seperti gambar di bawah.


Mudah kan??

Selamat mencoba..!!!

Ditulis Oleh : Hewry Agiel kurniawan ~

Artikel Mendesain Rumah Dengan Visual C++ ini diposting oleh Hewry Agiel kurniawan pada hari Kamis, 21 April 2011. Terimakasih atas kunjungan Anda serta kesediaan Anda membaca artikel ini. Kritik dan saran dapat anda sampaikan melalui kotak komentar.

:: Get this widget ! ::


|

Copyright © 2009 ILMU-ONLINE All rights reserved. Theme by Laptop Geek. | Bloggerized by FalconHive.