komputer grafik farah.docx

32
Nama Pratikan Nomor Mahasiswa Tanggal Kumpul Tanda Tangan Pratikan Farah Dila Utami 1214370020 12 juni 2014 Nama Penilai Tanggal Koreksi Nilai Tanda tangan Dosen Indri sulistianingsih. S,KOM FAKULTAS TEKNIK 1 Kelas TI4D SORE

Transcript of komputer grafik farah.docx

Page 1: komputer grafik farah.docx

Nama Pratikan Nomor

Mahasiswa

Tanggal

Kumpul

Tanda Tangan

Pratikan

Farah Dila

Utami

1214370020 12 juni 2014

Nama Penilai Tanggal Koreksi Nilai Tanda tangan

Dosen

Indri

sulistianingsih.S,KOM

FAKULTAS TEKNIK

JURUSAN SISTEM KOMPUTER

UNIVERSITAS PEMBANGUNA PANCA BUDI

MEDAN

2014

1

Kelas

TI4D

SORE

Page 2: komputer grafik farah.docx

KATA PENGANTAR

Adapun harapan kami, semoga tulisan ini dapat menambah wawasan pembaca mengenai

Grafika Komputer dan penerjemah bahasa pencitraan OpenGL, dengan maksud nantinya

pembaca mampu untuk memahami apa itu Grafika Komputer, OpenGL, dan lain sebagainya

yang menyangkut objek 2 dimensi (2D) dan 3 dimensi (3D).

Kami menyadari bahwa tulisan ini masih jauh dari sempurna, untuk itu kami mengharapkan

kritik dan saran yang membangun dari pembaca demi kesempurnaan tulisan ini.

Medan , 11 juni 2014

Hormat saya ,

Penulis

2

Page 3: komputer grafik farah.docx

DAFTAR ISI

Kata Pengantar ………………………………………………….……….2

Daftar isi ……………………………………………………………..…..3

BAB I PENDAHULUAN ………………………………..…….……...4

1.1. Latar Belakang Masalah…………………………………………………4

I.2. Tujuan Pratikum…………………………………………………………..4

BAB II LANDASAN TEORI

2.1 Pengertian Grafika Komputer……………………………………..5

2.2. Grafik Komputer 2D …………………………………………..…5

2.3 Grafik komputer 3D…………………………………………………….

2.4 Transformasi……………………………………………………..….6

2.5 Lighting (pencahayaan)……………………………………………………………..……………..……

2.6 Texture Mapping…………………………………………………….….9

BAB III HASILPERCOBAAN…………………………………………………………....10

3.1Primitive drawing ………………………………………………10 3.2. Contoh Fungsi 2D (dimensi )……………………………………10

3.3. Contoh fungsi 3D ( dimensi )…………………………………14

3.4 Syntax Monas…………………………………………….…..24

BAB IV Analisa Hasil Percobaan

4.1 TUJUAN……………………………………………………..………..25

BAB V Penutup…………………………………………………………25

5.1 Kesimpulan ……………………………………………………………………………..255.2Saran …………………………………………………………….25

DAFTAR PUSAKA ……………………………………………………26

3

Page 4: komputer grafik farah.docx

BAB I

Pendahuluan

Gambaran Umum :

Praktikum ini merupakan bagian dari kuliah Komputer Grafik. Dalam praktikum ini, praktikan dikenalkan dengan beberapa aspek yang berkaitan dalam pemrograman komputer grafik. Praktikum ini memuat beberapa modul yang berisi tentang struktur program OpenGL (Open Graphics Library): primitif drawing, animasi, pencahayaan pada OpenGL, bayangan, tekstur I dan tekstur II. Modul-modul ini harus dapat dikuasai oleh mahasiswa sebagai dasar penguasaan Komputer Grafik.

1.1 Latar Belakang Masalah

Semakin berkembangnya ilmu pengetahuan dan teknologi grafis pada masa sekarang

ini, maka pengetahuan mengenai grafik komputer semakin banyak dipakai. Namun sebelum

kita membahas lebih jauh mengenai grafik komputer, kita akan mengetahui dahulu definisi

sebenarnya tentang apa itu grafik komputer.

Secara umum grafik komputer adalah gambar yang dihasilkan oleh komputer, yang

hasilnya sudah sering kita lihat seperti di majalah dan televisi. Disini dibahas bahwa tiap

karakter yang dihasilkan diambil dari library dari bentuk karakter yang ada pada memori

komputer. Gambar-gambar yang berada pada majalah atau televisi tersebut ada beberapa

yang terlihat sangat natural, sehingga kita para pembaca akan sulit membedakan mereka

buatan atau hasil dari fotografi asli.

I.2. Tujuan Pratikum

Mahasiswa mampu memahami dan menerapkan aplikasi komputer grafik menggunakan bahasa pemrograman OpenGL.

4

Page 5: komputer grafik farah.docx

BAB II

LANDASAN TEORI

4.2 Pengertian Grafika Komputer

Grafika komputer (Computer graphics) adalah bagian dari ilmu komputer yang

berkaitan dengan pembuatan dan manipulasi gambar secara digital. Bentuk sederhana dari

grafika komputer adalah grafika komputer 2D yang kemudian berkembang menjadi grafika

komputer 3D, pemrosesan citra (image processing), dan pengenalan pola (pattern

recognition). Grafika komputer sering dikenal juga dengan istilah visualisasi data. grafika

komputer tidak hanya mengenai hardware, software maupun berbagai keahlian yang terkait

dengan pengolahan grafis tetapi merupakan keseluruhan keseluruhan hal-hal tersebut.

Grafika komputer berkaitan dengan pengolahan dan pendokumentasian teknologi yang

mengarah kepada komunikasi dan informasi secara akurat dan deskriptif.

Grafika komputer (Computer Graphic) juga dapat diartikan sebagai seperangkat alat

yang terdiri dari hardware dan software untuk membuat gambar, grafik atau citra realistik

untuk seni, game komputer, foto dan animasi komputer dan lain-lain.

1. Elemen Dasar Grafika

Ada beberapa elemen dasar dari grafika komputer antara lain:

1. Point

2. Polyline

3. Polygon

4. Filled Polygon ( Face )

5. Gradate Polygon

4.3 Grafik Komputer 2D 

Grafik komputer 2D adalah pembuatan objek gambar dengan menggunakan 2 titik

sebagai acuannya yaitu sumbu x dan y. Grafik 2D ini dapat digunakan dalam berbagai

aplikasi yang pada awalnya dikembangkan pada teknologi cetak tradisional dan gambar,

seperti tipografi, kartografi, gambar teknik, iklan, dan lain-lain.

Grafik komputer 2D ini merupakan langkah paling awal dalam membentuk model

objek yang akan dibangun dalam grafik komputer 3D. Dalam aplikasi, gambar dua dimensi

adalah bukan hanya representasi dari objek dunia nyata, tetapi sebuah artefak independen

5

Page 6: komputer grafik farah.docx

dengan nilai tambah semantik. Keseluruhan obyek 2D dapat dimasukkan dengan jumlah lebih

dari satu, model yang akan dibentuk sesuai dengan kebutuhan. Tahap rekayasa hasil obyek

2D dapat dilakukan dengan aplikasi program grafis seperti Adobe Photoshop, Corel Draw,

dan lain sebagainya.

4.4 Grafik komputer 3D

Yang membedakan 2 dimensi dan 3 dimensi adalah kedalaman. Kedalaman didefinisikan

sebagai jarak antara viewer terhadap benda yang dia lihat. Ini berarti berbeda dengan 2

dimensi yang hanya menggunakan 2 ukuran, yaitu panjang dan lebar, maka 3 dimensi

menggunakan 3 ukuran, yaitu panjang, lebar dan kedalaman. Secara geometri ketiga ukuran

tersebut disimbolkan dengan sumbu x, y, dan z.

SistemKoordinat

Salah satu sistem koordinat yang dikenal adalah sistem koordinat kartesian yang digunakan

untuk membedakan lokasi atau posisi sembarang titik atau objek dengan titik atau objek yang

lain. Sistem koordinat kartesian terdiri atas sistem koordinat kartesian 2 dimensi dan sistem

koordinat kartesian 3 dimensi. Dalam sistem koordinat 3 dimensi terdapat satu sumbu lain

selain sumbu x dan sumbu y, yaitu sumbu z yang arahnya tegak lurus terhadap sumbu x dan

sumbu y. Hadirnya sumbu z menyebabkan sistem koordinat ini menjadi lebih hidup karena

efek jauh dekat menjadi terlihat. Untuk lebih jelasnya,.

4.5 Transformasi

Transformasi dasar pada objek dua dimensi yang pertama adalah translasi

(translation). Translasi berarti memindahkan suatu objek sepanjang garis lurus dari suatu

lokasi koordinat tertentu ke lokasi yang lain. Transformasi skala (scaling) digunakan untuk

mengubah ukuran suatu objek, sedangkan rotasi (rotation) adalah pemindahan objek menurut

garis melingkar.

Jenis jenis dari transformasi dasar:

1. Translasi

Seperti yang anda ketahui, layar yang disediakan processing adalah selayaknyasepotong kertas grafik. Jika kita ingin melakukan proses translasi sebenarnyaterdapat dua pemikiran. Sebagai contoh adalah sebuah persegi sederhanadengan kode rect(20,20,40,40)

6

Page 7: komputer grafik farah.docx

Dimana (x,y) adalah koordinat asal suatu objek dan (x’ , y’) adalah koordinat baru objek

tersebut setelah ditranslasi.

Kadang-kadang transformasi dinyatakan dalam bentuk matriks, sehingga matriks tranformasi:

Dengan demikian translasi dua dimensi dapat ditulis dalam bentuk matriks :

P’ = P + T

Disamping dinyatakan dalam vektor kolom, matriks transformasi dapat dituliskan dalam

bentuk vektor baris, sehingga menjadi P = [ x y ] dan T = [ tx ty ]. Bentuk vektor kolom adalah

standar dari symbol matematik, yang juga berlaku bagi notasi grafik seperti GKS dan PHIGS.

2. Skala

Skala adalah perubahan  ukuran obyek berdasarkan besaran nilai tertentu. Maka dengan adanya fungsi skala tersebut bisa dihasilkan beberapa ukuran obyek yang berbeda walau pun sintaksnya sama. Berikut adalah sintaks untuk melakukan transformasi skala :

Parameter pertama, kedua, dan ke tiga masing-masing menunjukkan nilai skala untuk obyek berdasarkan sumbu x, y, dan z. Jika nilai skala adalah 1, maka ukuran obyek tersebut adalah tetap.

3. Rotasi

Selain bergerak pada grid, Anda juga dapat memutar itu dengan fungsi rotate().Fungsi ini memerlukan satu argumen, yang merupakan jumlah radian yang Andaingin putar. Dalam Processing, semua fungsi harus dilakukan dengan mengukursudut rotasi dalam radian (rad), bukan derajat. Ketika Anda berbicara tentangsudut dalam derajat, Anda mengatakan bahwa lingkaran penuh memiliki 360 °.Ketika Anda berbicara tentang sudut dalam radian, Anda mengatakan bahwalingkaran penuh telah 2π radian. Berikut ini adalah diagram tentang bagaimanalangkah-langkah Pengolahan sudut dalam derajat (hitam) dan radian (merah)

Pembagian Warna

RGB (Red-Green-Blue) : warna dasar yang dijadikan patokan warna secara universal

(primary colors)

CMYK (Cyan-Magenta-Yellow-Black) : Sistem representasi pada warna tinta yang

diterapkan dalam dunia fotografi dan produksi grafika

7

Page 8: komputer grafik farah.docx

Sistem Warna Lingkaran (the color wheel) : Digunakan untuk mengkombinasikan dan

mengharmonikan warna pada karya seni dan design

Dari sekian banyak warna, dapat dibagi dalam beberapa bagian yang sering

dinamakan dengan sistem warna Prang System yang ditemukan oleh Louis Prang pada 1876

meliputi :

1. Hue, adalah istilah yang digunakan untuk menunjukkan nama dari suatu warna, seperti

merah, biru, hijau dsb.

2. Value, adalah dimensi kedua atau mengenai terang gelapnya warna. Contohnya adalah

tingkatan warna dari putih hingga hitam.

3. Intensity, seringkali disebut dengan chroma, adalah dimensi yang berhubungan dengan cerah

atau suramnya warna.

4.6 Lighting (pencahayaan)

Lighting merupakan proses menghitung intensitas cahaya terutama pada 3-Dimensi

point, biasanya diatas suatu permukaan.

Beberapa cara mengatasi masalah pencahayaan, antara lain :

• Mengerti persepsi dari cahaya (warna)

• Membuat sebuah solusi untuk merepresentasikan dan menghasilkan warna menggunakan

komputer.

• Mengerti akan pengaruh cahaya dan objek

`Pencahayaan pada OpenGL dan Dunia Nyata

Ketika melihat permukaan fisik, persepsi warna pada mata tergantung pada distribusi

energi foton yang datang dan memicu sel-sel kerucut mata. Foton berasal dari sumber cahaya

atau kombinasi dari sumber, yang sebagian diserap dan sebagian yang dipantulkan oleh

permukaan. Selain itu, permukaan yang berbeda memiliki sifat yang sangat berbeda-ada,

misalnya yang mengkilap dengan sempurna akan memantulkan cahaya dalam arah tertentu,

sementara yang lain menyebarkan cahaya sama-sama masuk di segala penjuru. Pencahayaan

pada OpenGL hanya dengan cahaya pendekatan dan cahaya lampu seolah-olah dapat dipecah

menjadi komponen merah, hijau, dan biru. Dengan demikian, warna sumber cahaya dicirikan

oleh jumlah warna yang memancarkan cahaya merah, hijau, dan biru, dan materi permukaan

8

Page 9: komputer grafik farah.docx

ditandai dengan persentase komponen warna merah, hijau, dan biru yang masuk dan

tercermin dalam berbagai arah. Persamaan pencahayaan pada OpenGL hanya sebuah

pendekatan, tetapi satu yang bekerja cukup baik dan dapat dihitung relatif cepat. Jika

menginginkan yang lebih akurat atau model pencahayaan hanya berbeda, harus melakukan

perhitungan sendiri dalam perangkat lunak. Dengan perangkat lunak tersebut dapat menjadi

sangat kompleks, seperti beberapa jam membaca buku teks optik pun harus meyakinkan.

4.7 Texture Mapping

Texture mapping merupakan teknik pemetaan sebuah tekstur pada pola gambar

wireframe, dimana wireframe yang telah dibuat akan ditampilkan memiliki kulit luar seperti

tekstur yang diinginkan. Dalam pemberian tekstur, perlu diperhatikan dasarnya seperti:

1. Menentukan tekstur

a. Menandai tekstur

b. Mengenablekan tekstur

2. Menandai koordinat tekstur pada vertek

9

Page 10: komputer grafik farah.docx

BAB III

HASIL PERCOBAAN

3.1 Primitive drawing Penghasilan citra pada komputer grafik menggunakan primitif grafik dasar.

Primitif ini memudahkan untuk merender (menggambar pada layar monitor) sebagaimana penggunaan persamaan geometrik sederhana. Contoh primitif grafik dasar (Gambar 2.1) adalah :

o Titik o Garis, Segiempat o Kurva, Lingkaran, ellipse, kurva bezier, kurva lainnya o Fill area o Text

3.2. Contoh Fungsi 2D (dimensi )

#include <GL/glut.h>

#include <math.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);

}

10

Page 11: komputer grafik farah.docx

void drawPolygon(point2D_t pnt[],int n)

{

int i;

glBegin(GL_POLYGON);

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()

{

point2D_t

batang[4]={{-5,-190},{-5,0},{5,0},{5,-190}};

color_t biru ={0,0,1};

fillPolygon(batang,4, biru);

drawPolygon(batang,4);

11

Page 12: komputer grafik farah.docx

point2D_t

pot[4]={{-60,-190},{60,-190},{30,-240},{-30,-240}};

color_t hitam ={0,0,0};

fillPolygon(pot,4, hitam);

drawPolygon(pot,4);

point2D_t

pot2[6]={{-80,-160},{-50,-160},{-50,-190},{-60,-190},{-60,-170},{-80,-170}};

color_t hitam3 ={0,0,0};

fillPolygon(pot2,4, hitam3);

drawPolygon(pot2,4);

point2D_t

pot3[6]={{80,-160},{50,-160},{50,-190},{60,-190},{60,-170},{80,-170}};

color_t hitam2 ={0,0,0};

fillPolygon(pot3,4, hitam2);

drawPolygon(pot3,4);

static int tick=0;

point2D_t shape[360];

double srad,r;

for(int s=0; s<360; s++)

{

srad =(s+tick)*3.14/360;

r=80*sin(200*srad);

shape [s].x = (float)(r*cos(100*srad));

shape [s].y = (float)(r*sin(100*srad));

color_t merah ={1,0,0};

12

Page 13: komputer grafik farah.docx

fillPolygon(shape,1, merah);

}

drawPolygon(shape, 360);

}

void display(void)

{

//clear screen

glClear(GL_COLOR_BUFFER_BIT);

userdraw();

glutSwapBuffers();

}

int main(int argc, char **argv)

{

glutInit(&argc,argv);

glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);

//posisi layar

glutInitWindowPosition(150,150);

//ukuran layar

glutInitWindowSize(640,480);

//title windows

glutCreateWindow("Bunga Raflesia");

//warna back layar

glClearColor(1.0,1.0,1.0,0.0);

gluOrtho2D(-300.,400.,-300.,300.);

glutIdleFunc(display);

glutDisplayFunc(display);

glutMainLoop();

return 0;

}

13

Page 14: komputer grafik farah.docx

Hasilnya :

3.3. Contoh fungsi 3D ( dimensi )

#include <Windows.h>

#include <iostream>

#include <gl\GL.h>

#include <gl\GLU.h>

#include <gl\glut.h>

#include <math.h>

void cube()

14

Page 15: komputer grafik farah.docx

{

//menggambar kubus dan transformasi tarnslasi ke titik 0.5 0.5 0.5 dan skala 1 1 1

glPushMatrix();

glTranslated(0.5,0.5,0.5);//cube

glScaled(1.0,1.0,1.0);

glutSolidCube(1.0);

glPopMatrix();

}

void setMaterial()

{

//set properties of surfaces material

GLfloat mat_ambient[] = {0.7f,0.7f,0.7f,1.0f}; // ada 4 jenis material yang dipakai, dengan

kombinasi warna tertentu

GLfloat mat_diffuse[] = {0.6f,0.6f,0.6f,1.0f};

GLfloat mat_specular[] = {1.0f,1.0f,1.0f,1.0f};

GLfloat mat_shininess[] = {50.0f};

glMaterialfv(GL_FRONT,GL_AMBIENT,mat_ambient);

glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);

glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);

glMaterialfv(GL_FRONT,GL_SHININESS,mat_shininess);

}

void setLighting()

{

//set light sources

GLfloat lightIntensity[] = {0.7f,0.7f,0.7f,1.0f};//mensetting pencahayaan

GLfloat light_position[] = {2.0f,6.0f,3.0f,0.0f};

glLightfv(GL_LIGHT0,GL_DIFFUSE,lightIntensity);

15

Page 16: komputer grafik farah.docx

glLightfv(GL_LIGHT0,GL_POSITION,light_position);

}

void setViewport()

{

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

double winHt = 1.0;//half height of the window

glOrtho(-winHt*64/48,winHt*64/48,-winHt,winHt,0.1,100.0);

}

void setCamera()

{

//set the camera

glMatrixMode(GL_MODELVIEW);

glLoadIdentity();

gluLookAt(3.3,3.3,3.0,0,0.25,0,0.0,1.0,0.0);

}

void displayObject()

{

setMaterial();

setLighting();

setViewport();

setCamera();

//startDrawing

glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

cube();//memanggil fungsi menggambar kubus

16

Page 17: komputer grafik farah.docx

glFlush();//mengirim smua objek untuk dirender

}

void main(int argc, char **argv)

{

glutInit(&argc,argv);

glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);

glutInitWindowSize(640,480);

glutInitWindowPosition(100,100);

glutCreateWindow("simple 3d scene");

glutDisplayFunc(displayObject);//fungsi dari display object yang menggabungkan kubus

lighting material dan kamera

glEnable(GL_LIGHTING);

glEnable(GL_LIGHT0);

glShadeModel(GL_SMOOTH);

glEnable(GL_DEPTH_TEST);

glEnable(GL_NORMALIZE);

glClearColor(1.0f,1.0f,1.0f,0.0f);

glViewport(0,0,640,480);

glutMainLoop();

}

Hasilnya :

17

Page 18: komputer grafik farah.docx

3.4 Syntax Monas

#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)

18

Page 19: komputer grafik farah.docx

{

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

petakdasar[4]={{0,0},{0,80},{350,80},{350,0}};

color_t hijau ={0,1,0};

fillpolygon(petakdasar, 4, hijau);

drawPolygon(petakdasar,4);

point2D_t

19

Page 20: komputer grafik farah.docx

tangga[4]={{10,10},{50,50},{310,50},{340,10}};

color_t merah ={1,0,0};

fillpolygon(tangga, 4, merah);

drawPolygon(tangga,4);

point2D_t

petaktengah1[4]={{110,50},{100,70},{260,70},{250,50}};

color_t kuning ={1,1,0};

fillpolygon(petaktengah1, 4, kuning);

drawPolygon(petaktengah1,4);

point2D_t

petaktengah2[4]={{100,70},{80,90},{280,90},{260,70}};

color_t kuning2 ={1,1,0};

fillpolygon(petaktengah2, 4, kuning2);

drawPolygon(petaktengah2,4);

point2D_t

petaktengah3[4]={{80,90},{70,110},{290,110},{280,90}};

color_t kuning3 ={1,1,0};

fillpolygon(petaktengah3, 4, kuning3);

drawPolygon(petaktengah3,4);

point2D_t

batang2[4]={{160,510},{160,530},{200,530},{200,510}};

color_t hitam4 ={0,0,0};

fillpolygon(batang2, 4, hitam4);

drawPolygon(batang2,4);

20

Page 21: komputer grafik farah.docx

point2D_t

batang[4]={{150,120},{170,520},{190,520},{210,120}};

color_t putih2 ={1,1,1};

fillpolygon(batang, 4, putih2);

drawPolygon(batang,4);

point2D_t

petaktengah4[4]={{70,110},{70,120},{290,120},{290,110}};

color_t hitam3 ={0,0,0};

fillpolygon(petaktengah4, 4, hitam3);

drawPolygon(petaktengah4,4);

point2D_t

segitiga[3]={{170,530},{180,580},{190,530}};

color_t kuning4 ={1,1,0};

fillpolygon(segitiga, 3, kuning4);

drawPolygon(segitiga,3);

point2D_t

bayangbatang[4]={{160,530},{160,535},{200,535},{200,530}};

color_t putih3 ={1,1,1};

fillpolygon(bayangbatang, 4, putih3);

drawPolygon(bayangbatang,4);

point2D_t

bayangbatang2[4]={{200,510},{200,535},{203,535},{203,510}};

color_t putih4 ={1,1,1};

fillpolygon(bayangbatang2, 4, putih4);

21

Page 22: komputer grafik farah.docx

drawPolygon(bayangbatang2,4);

point2D_t

tanggatgh1[4]={{140,10},{140,50},{150,50},{150,10}};

color_t hitam ={0,0,0};

fillpolygon(tanggatgh1, 4, hitam);

drawPolygon(tanggatgh1,4);

point2D_t

tanggatgh2[4]={{210,10},{210,50},{220,50},{220,10}};

color_t hitam2 ={0,0,0};

fillpolygon(tanggatgh2, 4, hitam2);

drawPolygon(tanggatgh2,4);

point2D_t

tangga2[4]={{10,10},{50,50},{310,50},{340,10}};

drawPolygon(tangga2,4);

point2D_t

petaktengah11[4]={{110,50},{100,70},{260,70},{250,50}};

drawPolygon(petaktengah11,4);

point2D_t

petaktengah22[4]={{100,70},{80,90},{280,90},{260,70}};

drawPolygon(petaktengah22,4);

point2D_t

petaktengah33[4]={{80,90},{70,110},{290,110},{280,90}};

drawPolygon(petaktengah33,4);

22

Page 23: komputer grafik farah.docx

point2D_t

batang3[4]={{150,120},{170,520},{190,520},{210,120}};

drawPolygon(batang3,4);

point2D_t

anaktangga[4]={{150,40},{150,45},{210,45},{210,40}};

drawPolygon(anaktangga,4);

point2D_t

anaktangga2[4]={{150,30},{150,35},{210,35},{210,30}};

drawPolygon(anaktangga2,4);

point2D_t

anaktangga3[4]={{150,20},{150,25},{210,25},{210,20}};

drawPolygon(anaktangga3,4);

point2D_t

anaktangga4[4]={{150,10},{150,15},{210,15},{210,10}};

drawPolygon(anaktangga4,4);

}

void display(void)

{

//clear screen

glClear(GL_COLOR_BUFFER_BIT);

userdraw();

glutSwapBuffers();

}

int main(int argc, char **argv)

23

Page 24: komputer grafik farah.docx

{

glutInit(&argc,argv);//Inisialisasi Toolkit

glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);

glutInitWindowPosition(100,100);

glutInitWindowSize(500,640);

glutCreateWindow("MONUMEN NASIONAL JAKARTA");

glClearColor(0.0,0.0,1.0,0.0);

gluOrtho2D(0.,350.,-5.,600.);

glutIdleFunc(display);

glutDisplayFunc(display);

glutMainLoop();

return 0;

}

Hasilnya :

24

Page 25: komputer grafik farah.docx

BAB IV

Analisa Hasil Percobaan

5.3TUJUAN

1. mendeskripsikan pengertian, kegunaan dan ruang linkup transformasi di dalam komputer grafik 2.

2. mengkaji beberapa pembuatan grafik menggunkan bahasa pemograman menggunakan bahassa aplikasi dan bahasa pemograman

BAB V

Penutup

5.1. Kesimpulan

Dari program tersebut, dapat ditampilkan gambar titik dan garis yang digabungkan agar menghasilkan gambar 2 dimensi dan 3 dimensi. 2. Dalam pembuatan grafik 3 dimensi ada hal yang perlu dilakukan yaitu, mengubah titik 3D menjadi vektor 3D agar gambar yang dihasilkan lebih sempurna. 3. Pada gambar 2 Dimensi memiliki kelebihan Pada gambar 2 Dimensi memiliki kelebihan yaitu, gambar yang dirancang dapat diberi warna sesuai dengan RGB (Red, Green, Blue). 4.

5.2. Saran

Dalam penulisan program grafik 2D dan 3D,titik koordinat harus ditemukan dengan tepat

agar gambar yang dihasilkan sempurna..

25

Page 26: komputer grafik farah.docx

DAFTAR PUSAKA

http://ariatmancool.blogspot.com/2013/05/makalah-tentang-grafika-komputer.html

http://pakgurueka.files.wordpress.com/2011/09/praktikum-03.pdfhttp://kubaat.files.wordpress.com/

26