Laporan Praktikum Fill Polygon

Unduh sebagai docx, pdf, atau txt
Unduh sebagai docx, pdf, atau txt
Anda di halaman 1dari 13

BAB I

PENDAHULUAN

1.1 Tujuan Masalah


Membangun obyek grafik 2-D.
Mengenal macam-macam obyek 2-D yang menarik dan berguna, seperti
pembuatan grafik untuk keperluan visualisasi dan analisa.
Mengenal dan mengerti prinsip-prinsip transformasi 2D dalam grafika komputer.
Dapat mengimplementasikan transformasi 2D sebagai gerakan obyek grafik.

1.2 Dasar Teori


1. Definisi Obyek Grafik 2-D

Obyek grafik 2-D adalah sekumpulan titik-titik 2-D yang dihubungkan dengan garis
lurus baik berupa polyline, polygon atau kurva. Obyek grafik 2-D didefinisikan sebagai
sekumpulan titik 2-D yang secara komputasi dinyatakan sebagai array 1-D, atau linked-
list sesuai dengan struktur data yang digunakan dalam menyatakan kumpulan titik 2D
ini. Langkah-langkah untuk mendefinisikan obyek grafik 2-D adalah sebagai berikut :
1. Mendefinisikan Titik 2D, titik 2D mempunyai dua nilai yaitu x dan y yang
menyatakan jarak horizontal dan vertikan dari titik pusat sumbu koordinat (0,0).
2. Mendefinisikan Warna, warna yang digunakan terdiri dari 3 elemen warna dasar
yaitu RGB (red, green dan blue). Warna terdiri dari 3 elemen warna yaitu red (r),
green (g) dan blue (b) yang nilainya antara 0 dan 1.

1
3. Mendefinisikan dan Menggambar Obyek Grafik 2-D, dituliskan pada
functionuserdraw secara langsung dengan menyatakannya sebagai array dari titik
2-D.

A. FillPolygon
Fungsi ini digunakan untuk mewarnai atau memenuhi warna (mengecat) sebuah
polygon dengan warna tertentu. Untuk dapat mewarnai isi polygon dapat dituliskan:
fillPolygon(nama_obyek2D,jumlah_titik,warna);

Implementasi dari fungsi fillpolygon adalah:

B. GradatePolygon
Fungsi ini digunakan untuk mewarnai sebuah polygon dengan warna-warna yang
bergradiasi dari suatu warna ke warna lainnya. Untuk memberikan efek gradiasi warna
pada polygon dapat dituliskan:
GradatePolygon(nama_obyek2D,jumlah_titik,warna);

Implementasi dari fungsi gradatePolygon adalah sebagai berikut:

2
a) Membangun Obyek Grafik 2-D
Membangun obyek grafik 2-D dilakukan dengan:
Membuat obyek grafik 2-D secara langsung.
Membuat obyek grafik 2-D secara perhitungan matematis.
Membuat Obyek Grafik 2-D Secara Langsung
Membuat obyek grafik 2-D secara langsung bisa dilakukan pada function
userdraw() dengan menyatakan secara langsung koordinat titik-titiknya.

C. Transformasi 2 Dimensi
a. Struktur Data dan Titik Vektor
Transformasi 2 dimensi adalah suatu model atau bentuk atau teknik memindahkan
atau mengubah nilai posisi obyek dalam sistem koordinat 2 dimensi. Pemindahan obyek
ini dapat diartikan sebagai pemindahan titik. Untuk dapat melakukan pemindahan, maka
digunakan dua variabel dasar di dalam matematika yaitu vektor dan matrik, dimana
vector menunjukkan titik atau obyek yang dinyatakan dalam vector posisi v =(v x,vy, vz).
Sedangkan matrik adalah sebuah operator yang akan memindahkan obyek. Dari matrik
inilah, macam-macam transformasi dapat dibentuk. Sehingga dalam transformasi ini,
adalah beberapa struktur yang harus dibuat terlebih dahulu sebelum
mengimplementasikannya ke dalam program yaitu :

3
1. Struktur data titik 2D

2. Struktur data vector 2D

3. Struktur data matrik 2D

b. Perubahan Struktur data


Struktur data titik 2D digunakan untuk keperluan menggambar obyek ke layar
komputer, karena nilainya sudah disesuaikan dengan sistem koordinat pada layar
komputer. Sedangkan struktur data vector digunakan untuk melakukan transformasi
terhadap obyek. Sehingga bila obyek gambar ditransformasikan, hal yang harus
dilakukan adalah:
1. Merubah struktur data titik ke struktur data vector
2. Menghitung transformasi
3. Merubah struktur data vector ke struktur data titik
4. Mengambar obyek

c. Transformasi 2D
1. Matrik Transformasi 2D

4
Matrik transformasi adalah matrik yang membuat sebuah obyek mengalami
perubahan baik berupa perubahan posisi, maupun perubahan ukuran.Matrik transformasi
2D dinyatakan dalam ukuran 3x3, dimana kolom ke-3 digunakan untuk menyediakan
tempat untuk proses translasi.

2. Operasional Transformasi
Transformasi 2D dapat dilakukan dengan menggunakan perkalian antara matrik
transformasi dan vector posisi dari setiap titik pada obyek. Hasil transformasi ini masih
berupa vector. Operasional ini dituliskan dengan:

D. Translasi
Translasi adalah perpindahan obyek dari titik P(x,y) ke titik P(x,y) secara linier.
Dalam translasi 2D diperlukan dua paramater yaitu pemindahan ke arah sumbu x dan
pemindahan ke arah sumbu y. Translasi (dx,dy) didefinisikan dengan:

1.3Alat dan Bahan Praktikum

5
Alat dan bahan praktikum yang digunakan pada praktikum ini adalah:

Alat : Komputer/Laptop

Bahan Praktikum : Software(Visual Studio 2010)

6
BAB II

ISI

2.1. Data Hasil Percobaan

1. fillpolygon

Input:

7
8
Output:

9
2.3. Analisa Data

Pada program ini terdapat beberapa intruksi yang digunakan untuk menjalankan
program,yaitu:

#include <stdio.h> , #include <stdlib.h> , #include <math.h> , #include


<GL/glut.h> suatu library matematika dan open gl dalam program agar
dapat dieksekusi saat program dijalankan .
typedef struct{ float x,y; }point2D_t; untuk digunakan bila titik
didefenisikan dalam sistem koordinat dengan type data float(pecahan).
typedef struct{ float r,g,b; }color_t; untuk memberi warna pada objek
grafik .
void userdraw(void); void drawDot(point2D_t p) { yaitu untuk membuat kode
program untuk menghasilkan suatu gambar.
glBegin(GL_POINTS); glVertex2f(p.x,p.y); glEnd(); } untuk menggambar
garis dari titik yang digunakan lalu kita tentukan titik awal pada garis
kemudian kita akhiri pada gambar garis di titik terakhir .
void drawPolyline(point2D_t pnt[],int n) { int i; glBegin(GL_LINE_STRIP);
for(i=0;i<n;i++){ glVertex2f(pnt[i].x, pnt[i].y); } menginisialisasikan
variabel i lalu kita tentukan titiknya dengan menginisialisasikan variabel i = 0
dengan kenaikan varibel i bertambah 1 setiap perulangan .
point2D_t shape[360]; double srad,r; for(int s=0;s<360;s++)
{ srad=s*3.14/180; r=sin(7*srad);shape[s].x=(float)
(r*cos(srad));shape[s].y=(float)
(r*sin(srad));}color_tmerah={1.,0.5,0.};fillPolygon(shape,360,merah);setCol
or(1.,0.,0.); drawPolygon(shape,360); rumus untuk membuat fillpolygon
yang berbentuk bintang dengan kita berikan warna pada titik yang kita
tentukan.
glClear(GL_COLOR_BUFFER_BIT); userdraw(); glFlush(); } untuk
menghapus window dan memberi warna yang telah kita definisi pada
glclearcolor dan untuk memastikan gambar di eksekusi atau tidak .

10
glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
untuk membuat tipe mode pada window.
gluOrtho2D(-200., -200., 200., 200.); Mendefinisikan besarnya sistem
koordinat dengan range sumbux adalah[-200,200] dan range untuk sumbuy
adalah[-200,200].
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(); } untuk mewarnai sebuah polygon dengan warna tertentu .
void gradatePolygon(point2D_t pnt[],int n,color_t color[]) { int i;
glBegin(GL_POLYGON); for(i=0;i<n;i++){ setColor(color[i]);
glVertex2f(pnt[i].x, pnt[i].y); } glEnd(); } untuk mewarnai sebuah polygon
dengan warna-warna yang bergradiasi dari suatu warna ke warna lainnya .

BAB III

11
PENUTUP

3.1 Kesimpulan

1. Obyek grafik 2-D adalah sekumpulan titik-titik 2-D yang dihubungkan


dengan garis lurus baik berupa polyline, polygon atau kurva

2. Langkah-langkah untuk mendefinisikan obyek grafik 2-D adalah sebagai


berikut:
Mendefinisikan Titik 2D, titik 2D mempunyai dua nilai yaitu x dan y yang
menyatakan jarak horizontal dan vertikan dari titik pusat sumbu koordinat
(0,0).
Mendefinisikan Warna, warna yang digunakan terdiri dari 3 elemen warna
dasar yaitu RGB (red, green dan blue). Warna terdiri dari 3 elemen warna
yaitu red (r), green (g) dan blue (b) yang nilainya antara 0 dan 1.
Mendefinisikan dan Menggambar Obyek Grafik 2-D, dituliskan pada
functionuserdraw secara langsung dengan menyatakannya sebagai array dari
titik 2-D.
3. Untuk dapat mewarnai isi polygon dapat dituliskan:
fillPolygon(nama_obyek2D,jumlah_titik,warna);
4. Untuk memberikan efek gradiasi warna pada polygon dapat dituliskan:
GradatePolygon(nama_obyek2D,jumlah_titik,warna);

12
DAFTAR PUSTAKA

http://dokumen.tips/documents/laporan-praktikum-komputer-grafik-
menggunakan-opengl.html

13

Anda mungkin juga menyukai