Latest Entries »

Polygon adalah bentuk yang disusun dari serangkaian garis. Titik sudut dari polygon disebut vertex dan garis penyusun polygon disebut edge.

Algoritma Sutherland-Hodgman membandingkan setiap garis polygon dengan garis window, dan akan menyimpan informasi garis polygon yang ada di dalam garis window, dan juga titik perpotongan ketika garis polygon melewati garis window. Ketika garis polygon tidak berpotongan dengan garis window maka tampilkan polygon. ketika garis polygon ada di luar garis window maka tidak tampilkan apa-apa, ketika garis polygon melewati garis window(terjadi perpotongan garis) maka akan disimpan titik potongnya dan vertex polygon yang ada di dalam.

Nilai dari verteks sebenarnya biasanya berubah setelah menemukan verteks perpotongannya, rumus :


Contoh Kasus :

Xmax = 14 Xmin = 3
Ymax = 8 Ymin = 2
Verteks A =   (7,9) Verteks C =  (10,1)
Verteks B  =   (15,5) Verteks D =  (2,5)

Jika melihat dari gambar, maka akan ada 8 titik perpotongan yang akan terjadi, perpotongan terjadi di setiap sisi viewport, untuk sisi bagian atas maka ada titik potong pada garis AB, dan AD, pada sisi bagian kanan maka titik potong terjadi pada garis BA, dan BC, pada bagian bawah titik potong terjadi pada garis CB, dan CD, dan pada sisi kiri titik potong terjadi pada garis DC, dan DA.

Di bawah ini merupakan langkah-langkah untuk menentukan 8 titik perpotongan yang telah diuraikan di atas tadi.

Interseksi Bagian Bawah

Mencari titik potong antara C dan D (perpotongan edge pada sisi bawah window) C(10,1) D(2,5)

Maka lokasi perpotongan edge pada sisi bawah window antara C dan D adalah: (IX,IY) = ( 8,2 )

Mencari titik potong antara C dan B (perpotongan edge pada sisi bawah window) C(10,1) B(15,5)

Maka lokasi perpotongan pada edge pada sisi bawah window antara C dan B adalah:(IX,IY) = ( 11.25 , 2 )

Interseksi Bagian Kanan

Mencari titik potong antara B dan A (perpotongan edge pada sisi kanan pada window) B(15,5) A(7,9)

Maka lokasi perpotongan pada edge pada sisi kanan window antara B dan A adalah:(IX,IY) = (14,5.5)

Mencari titik potong antara B dan C (perpotongan edge pada sisi kanan window) B(15,5) C(10,1)

Maka lokasi perpotongan pada edge pada sisi kanan window antara B dan C adalah: (IX,IY) = ( 14, 4.2 )

Interseksi Bagian Atas

Mencari titik potong antara A dan D (perpotongan edge pada sisi atas window) A(7,9) D(2,5)

Maka lokasi perpotongan pada edge pada sisi atas window antara A dan D adalah:(IX,IY) = ( 5.75,8 )

Mencari titik potong antara A dan B (perpotongan edge pada sisi atas window) A(7,9) B(15,5)

Maka lokasi perpotongan pada edge pada sisi atas window antara A dan B adalah:( 9,8 )

Interseksi Bagian Kiri

Mencari titik potong antara D dan C (perpotongan edge pada sisi kiri window) D(2,5) C(10,1)

Maka lokasi perpotongan pada edge pada sisi kiri window antara D dan C adalah: (IX,IY) = ( 3,4.5 )

Mencari titik potong antara D dan A (perpotongan edge pada sisi kiri window) D(2,5) A(7,9)

Maka lokasi perpotongan pada edge pada sisi kiri window antara D dan A adalah: (IX, IY)=(3,5.8)
Submer : aokihayyi

Clipping dapat diartikan memotong sebagian bentuk agar terlihat dilayar/ area tertentu, ukuran bentuk yang terlalu besar kadang tidak cukup untuk di perlihatkan seluruhnya, ada banyak teknik cliiping seperti

  • Cohen-Sutherland Line Clipping
  • Liang-Barsky Line Clipping
  • Blinn’s Line Clipping
  • Sutherland-Hodgman Polygon Clipping

Disini akan dicoba di jelaskan Cohen-Sutherland Line Clipping

-     Algoritma Cohen-Sutherland merupakan metode untuk menentukan apakah sebuah garis perlu dipotong atau tidak dan menentukan titik potong garis.

-     Area gambar didefinisikan sebagai sebuah area segiempat yang dibatasi oleh xmin dan xmax, ymin dan ymax.

-     Setiap ujung garis diberi kode 4 bit dan disebut sebagai region code. Region code ditentukan  berdasarkan area dimana ujung garis tersebut berada ada 9 region dalam algoritma ini.

Susunan Region Code

Bit ke Region Bit Isi
0 L 1 apabila x < xmin

0 apabila x ≥ xmin

1 R 1 apabila x > xmax

0 apabila x ≤ xmax

2 B 1 apabila y < ymin

0 apabila y ≥ ymin

3 T 1 apabila y > ymax

0 apabila y ≤ ymax

Region Code untuk 9 daerah viewport

Region Code Arti
0000 Terletak di dalam viewport
0001 Terletak di sebelah kiri viewport
0010 Terletak di sebelah kanan viewport
0100 Terletak di sebelah bawah viewport
0101 Terletak di sebelah kiri bawah viewport
0110 Terletak di sebelah kanan bawah viewport
1000 Terletak di sebelah atas viewport
1001 Terletak di sebelah kiri atas viewport
1010 Terletak di sebelah kanan atas viewport

Menetukan Titik Potong

Titik potong dihitung berdasarkan bit=1 dari region code dengan menggunakan panduan tabel berikut:

Region Bit Berpotongan dengan Dicari Titik Potong
L=1 xmin yp1 (xmin,yp1)
R=1 xmax yp2 (xmax,yp2)
B=1 ymin xp1 (xp1,ymin)
T=1 ymax xp2 (xp2,ymax)

Dengan xp1, xp2, yp1, dan yp2 dihitung menggunakan persamaan berikut ini:


Contoh Kasus:



Diketahui:

Xmax = 8 Xmin = -8
Ymax = 8 Ymin = -8
1.    Garis AB (2,2)(6,2) 3.    Garis EF (-4,-9)(-9,3)
2.    Garis CD (-2,6)(-3,9) 4.    Garis GH (2,-9)(6,-9)

Menentukan region code dari masing-masing garis

1. Garis AB (2,2)(6,2)

  • Verteks A (1,2)
L = 0 xmin = 2 2 > -8
R = 0 xmax = 2 2 <  8
B = 0 ymin = 2 2 > -8
T = 0 ymax = 2 2 < 8

Region code verteks A = 0000

  • Verteks B (6,2)
L = 0 xmin = 6 6 > -8
R = 0 xmax = 6 6 <  8
B = 0 ymin = 2 2 > -8
T = 0 ymax = 2 2 < 8

Region code dari verteks B = 0000

hasil region vertex A dan B adalah 0000 dan 0000 sehingga jika dibuktikan dengan cara 0000 AND 0000 maka akan menghasilkan 0000, region code 0000 berarti garis berada di dalam viewport dan tidak perlu dipotong

2. Garis CD (-2,6)(-3,9)

  • Verteks C (-2,6)
L = 0 xmin = -2 -2 > -8
R = 0 xmax = -2 -2 <  8
B = 0 ymin = 6 6 > -8
T = 0 ymax = 6 6 < 8

Region code dari verteks C = 0000

  • Verteks D (-2,9)
L = 0 xmin = -2 -3 > -8
R = 0 xmax = -3 -3 <  8
B = 0 ymin = 9 9 > -8
T = 1 ymax = 9 9 > 8

Region code dari vertex D = 1000

Karena region code vertex D tidak bernilai 0000, maka kemungkinan garis CD bersifat partially visible(garis yang hanya terlihat sebagian) dan perlu di potong,

-     Titik potong pada garis CD (-2,6)(-3,9)

Region code 1000 untuk verteks D(-3,9)

T = 1 à Karena T=1, maka yang dicari adalah xp2.

Maka titik potongnya adalah (xp2, ymax) = (-2.6 , 8 )

3. Garis EF (-4,-9)(-9,-3)

  • Verteks E (-4,-9)
L = 0 xmin = -4 -4 > -8
R = 0 xmax = -4 -4 <  8
B = 1 ymin = -9 -9 < -8
T = 0 ymax = -9 -9 < 8

Region  code dari verteks E  =  0100

  • Verteks F (-9,-3)
L = 1 xmin = -9 -9 < -8
R = 0 xmax = -9 -9 <  8
B = 0 ymin = -3 -3 > -8
T = 0 ymax = -3 -3 < 8

Region code dari vertex F = 0001

Kedua vertex tidak menghasilkan kode 0000 tetapi jika keduanya dilakukan operasi AND maka akan menghasilkan 0000 (0100 AND 0001 = 0000), maka kemungkinan ada garis yang perlu dipotong juga.

Titik potong pada garis EF (-4,-9) (-9,-3)

B = 1, maka yang dicari adalah xp1.

Maka titik potongnya adalah (xp1, ymin) à (-4.03, -8)

L = 1, maka yang dicari adalah yp1.

Maka titik potongnya adalah (xmin, yp1) à (-8, -4.2)

Ada 2 titik potong pada garis EF yaitu (-4.03, -8) dan (-8, -4.2)

4. Garis GH (2,-9)(6,-9)

  • Verteks G (2,-9)
L = 0 xmin = 2 -2 > -8
R = 0 xmax = 2 -2 <  8
B = 1 ymin = -9 -9 < -8
T = 0 ymax = -9 -9 < 8

Region code dari vertex G = 0100

  • Verteks H (6,-9)
L = 0 xmin = -6 -6 > -8
R = 0 xmax = -6 -6 <  8
B = 1 ymin = -9 -9 < -8
T = 0 ymax = -9 -9 < 8

Region code dari vertex H = 0100

Kedua vertex dari garis GH mempunyai region code 0100, jika dilakukan operasi AND dengan keduanya maka akan dihasilkan 0100 (0100 AND 0100 = 0100), dan arti dari region code 0100 adalah garis terletak dibawah viewport, jadi garis tidak ditampilkan (fully invisible).

Sumber : aokihayyi

Test 1

1. Pengenalan Javascript
Javascript diperkenalkan pertama kali oleh Netscape pada tahun 1995. Pada awalnya bahasa ini dinamakan “LiveScript” yang berfungsi sebagai bahasa sederhana untuk browser Netscape Navigator 2. Pada masa itu bahasa ini banyak di kritik karena kurang aman, pengembangannya yang terkesan buru buru dan tidak ada pesan kesalahan yang di tampilkan setiap kali kita membuat kesalahan pada saat menyusun suatu program. Kemudian sejalan dengan sedang giatnya kerjasama antara Netscape dan Sun (pengembang bahasa pemrograman “Java” ) pada masa itu, maka Netscape memberikan nama “JavaScript” kepada bahasa tersebut pada tanggal 4 desember 1995. Pada saat yang bersamaan Microsoft sendiri mencoba untuk mengadaptasikan teknologi ini yang mereka sebut sebagai “Jscript” di browser Internet Explorer 3.
Javascript adalah bahasa yang berbentuk kumpulan skrip yang pada fungsinya berjalan pada suatu dokumen HTML, sepanjang sejarah internet bahasa ini adalah bahasa skrip pertama untuk web. Bahasa ini adalah bahasa pemrograman untuk memberikan kemampuan tambahan terhadap bahasa HTML dengan mengijinkan pengeksekusian perintah perintah di sisi user, yang artinya di sisi browser bukan di sisi server web.
Javascript bergantung kepada browser(navigator) yang memanggil halaman web yang berisi skrip skrip dari Javascript dan tentu saja terselip di dalam dokumen HTML. Javascript juga tidak memerlukan kompilator atau penterjemah khusus untuk menjalankannya (pada kenyataannya kompilator Javascript sendiri sudah termasuk di dalam browser tersebut). Lain halnya dengan bahasa “Java” (dengan mana JavaScript selalu di banding bandingkan) yang memerlukan kompilator khusus untuk menterjemahkannya di sisi user/klien.

Test 1 Now

Blog ini masih Dalam tahap konstruksi jadinya saya masih rada binggung mau

Ngisinya Gmana?

Hello world!

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!

Follow

Get every new post delivered to your Inbox.