Sharing is caring uts.ac.id

Nama : samsurya

Nim : 19.01.013.075
Dosen Pengampu: Nawassyarif S. Kom., M.Pd

MODUL III ATRIBUT OUTPUT PRIMITIF

III. 1 Pengertian atribut output primitif

Pada umumnya, setiap parameter yang memberi pengaruh pada output primitive ditampilkan sesuai dengan parameter atribut. Beberapa parameter atribut, seperti ukuran dan warna ditentukan sebagai karakteristik dasar dari parameter. Sedangkan yang lain ditentukan untuk penampilan pada kondisi tertentu.
Teks dapat dibaca dari kiri ke kanan, miring searah diagonal (slanted diagonal), atau vetical sesuai kolom. Salah satu cara untuk mengatur atribut output primitif, yaitu dengan daftar parameter fungsi yang berkaitan, contohnya fungsi menggambar garis dapat berisi parameter untuk warna, tebal, dan lainnya.

III. 2 Atribut Garis
Atribut dasar untuk garis lurus adalah type (tipe), width (tebal), dan color (warna). Dalam berapa paket aplikasi grafik, garis dapat ditampilkan dengan menggunakan pilihan pen atau brush.

Tipe Garis
Garis mempunyai beberapa linetype (tipe garis) diantaranya solid line, dashed line (garis putus), dan dotted line (garis titik-titik). Algoritma pembentukan garis dilengkapi dengan pengaturan panjang dan jarak yang menampilkan bagian solid sepanjang garis. Garis putus dibuat dengan memberikan nilai jarak dengan bagian solid yang sama. Garis titik-titik dapat ditampilkan dengan memberikan jarak yang lebih besar dari bagian solid.


Tebal Garis
Implementasi dari tebal garis tergantung dari kemampuan alat output yang digunakan. Garis tebal pada video monitor dapat ditampilkan sebagai garis adjacent parallel (kumpulan garis sejajar yang berdekatan), sedangkan pada plotter mungkin menggunakan ukuran pen yang berbeda.
Pada implementasi raster, tebal garis standar diperoleh dengan menempatkan satu piksel pada tiap posisi, seperti algoritma Bressenham. Garis dengan ketebalan didapatkan dengan perkalian integer positif dari garis standar, dan menempatkan tambahan piksel pada posisi sejajar. Untuk garis dengan slope kurang dari 1, rutin pembentukan garis dapat dimodifikasi untuk menampilkan ketebalan garis dengan menempatkan pada posisi vertikal setiap posisi x sepanjang garis.
Untuk garis dengan slope lebih besar dari 1, ketebalan garis dapat dibuat dengan horizontal span.


Pilihan Pen dan Brush
Pada beberapa paket aplikasi grafik, dapat ditampilkan dengan pilihan pen maupun brush. Kategori ini meliputi bentuk, ukuran, dan pola (pattern). Ketebalan yang bermacam- macam dari garis yang mempunyai bentuk pen dan brush dapat ditampilkan dengan cara mengubah ukuran dari mask.


Warna Garis
Bila suatu sistem dilengkapi dengan pilihan warna (atau intensitas), parameter yang akan diberikan pada indeks warna termasuk dalam daftar nilai atribut dari sistem. Rutin polyline membuat garis pada warna tertentu dengan mengatur nilai warna pada frame buffer untuk setiap posisi piksel, menggunakan prosedur set piksel. Jumlah warna tergantung pada jumlah bit yang akan digunakan untuk menyimpan informasi warna.

III. 3 Fill Area Primitif
Fill area (pengisian area) output primitif standar pada paket aplikasi grafika pada umumnya adalah warna solid atau pola raster. Terdapat dua dasar pendekatan untuk mengisi area pada sistem raster::
• Menentukan overlap interval untuk scan line yang melintasi area
• Dengan memulai dari titik tertentu pada posisi di dalam poligon dan menggambar dengan arah menyebar ke pinggir, sampai batas poligon.

Algoritma Boundary Fill
Metode ini bermanfaat untuk paket aplikasi grafik interaktif, dimana titik dalam dapat dengan mudah ditentukan. Prosedurnya yaitu menerima input koordinat dari suatu titik (x,y), warna isi dan warna garis batas. Dimulai dari titik (x,y) prosedur memeriksa posisi titik tetangga, yaitu apakah merupakan warna batas, bila tidak maka titik tersebut digambarkan dengan warna isi. Proses ini dilanjutkan sampai semua titik pada batas diperiksa. Ada dua macam metode yaitu 4-connected dan 8-connected. Ilustrasi dapat dilihat pada gambar di bawah.

Algoritma Boundary-Fill adalah sebagai berikut:
Procedure BoundaryFill (x,y,fill,boundary : Integer); Var
Current : integer; Begin
Current = getpiksel(x,y);
If (Current<>boundary) and (Current<>fill) then Begin
setpiksel (x,y,fill);
Boundaryfill4 (x+1,y,fill, boundary); Boundaryfill4 (x-1,y,fill, boundary); Boundaryfill4 (x,y+1,fill, boundary); Boundaryfill4 (x,y-1,fill, boundary); End;
End;

Algoritma Flood Fill
Metode ini dimulai pada titik (x,y) dan mendefinisikan seluruh piksel pada bidang tersebut dengan warna yang sama. Bila bidang yang akan diisi warna mempunyai beberapa warna, pertama-tama yang dilakukan adalah membuat nilai piksel yang baru, sehingga semua piksel mempunyai warna yang sama.

Algoritma Flood Fill bisa lebih dioptimalkan dengan menambahkan fasilitas scan line sehingga yang tadinya nilai piksel yang akan dimasukan disimpan pada stack namun sekarang tidak dilakukan tetapi cukup dengan menginspeksi nilai piksel di sekitar, Dengan demikian terjadi optimasi terhadap memory. Gambar di bawah mengilustrasikan proses ini.

Gambar 3.6 Ilustrasi Flood Fill

Algoritmanya secara umum adalah sebagai berikut:

  1. Find the intersections of the scan line with all edges, sort them in increasing order of x-coordinates: {a1, a2, …, an} = {a, b, c, d}
  2. Fill in all piksels between a2k and a2k+1. E.g. those between a and b, and between c and d

III. 4 Karakter dan Pembentukan Karakter
Huruf, angka dan karakter lain dapat ditampilkan dalam berbagai ukuran (size) dan style. Jenis huruf atau typeface dikelompokkan menjadi beberapa kelompok antara lain menjadi 4 macam, yaitu serif, sanserif, egyptian dan dekoratif.
• Serif
Huruf dalam kategori serif mempunyai kait pada ujungnya. Misalnya : Times New Roman, Book Antiqua.

• Sanserif
Huruf dalam kategori sanserif tidak mempunyai kait pada ujungnya. Misalnya : Arial, Helvetica,Ttahoma.
• Egyptian
Huruf dalam kategori egyptian mempunyai kait dengan bentuk segi empat yang mempunyai karakter kokoh. Dikenal juga sebagai Slab serif, Mechanistic, Square serif.
• Dekoratif
Huruf dalam kategori dekoratif mempunyai bentuk indah. Misalnya :monotype corsiva
• Monospace
Huruf dalam kategori monospace disebut juga non proportional spacing dimana ukuran huruf tidak bervariasi atau tetap. Misalnya antara huruf I dan huruf M, ukuran lebarnya sama.
III. 5 Antialiasing
Seperti yang telah dikatakan sebelumnya bahwa konversi raster-scan adalah pengisian nilai-nilai elemen suatu “matriks” (yaitu frame buffer) sedemikian rupa sehingga secara visual “tergambarkan” primitif-primitif grafik yang bersangkutan. Jadi pada dasarnya adalah semacam diskretisasi obyek tersebut. Selanjutnya sebagai sesuatu yang diskret, masalah yang timbul adalah distorsi informasi yang disebut aliasing. Secara visual obyek garis atau batas suatu area akan terlihat sebagai tangga (effek tangga atau “jaggies”). Peningkatan resolusi frame buffer dapat mengurangi efek ini namun tidak dapat dihilangkan sama sekali karena keterbatasan teknologi (ingat faktor-faktor yang menentukan resolusi: refresh rate, dan ukuran frame buffer).
Pada sistem raster dengan tingkat intensitas > 2 bisa diaplikasikan metoda antialiasing dengan memodifikasi intensitas piksel-piksel “batas” obyek dengan latar atau obyek lainnya. Modifikasi tersebut akan memperhalus batas-batas tersebut sehingga mengurangi penampakan yang “jaggies” tersebut. Gambar berikut mengilustrasikan gambar sebelum dan sesudah pengaktifan antialiasing.

Proses antialiasing dapat dilakukan melalui 3 pendekatan yaitu:
• Supersampling (postfiltering)
• Area sampling
• Piksel phasing

III.5.1 Supersampling dan Postfiltering
Berdasarkan logika metoda ini “memperhalus” ukuran piksel ke dalam subpiksel- subpiksel dan “menggambarkan” garis pada grid subpiksel tersebut. lalu nilai intensitas suatu piksel ditentukan sesuai dengan berapa banyak subpikselnya dikenai “garis” tersebut. Relasi: intensitas piksel ~ jumlah subpiksel pada garis.
Ada dua cara penghitungan relasi tersebut :
• Menganggap garis adalah garis dengan ketebalan infinitesimal 0 (hanya garis lojik). Untuk subsampling 3×3 ada 4 kemungkinan tingkatan: 3 subpiksel, 2 subpiksel, 1 subpiksel, dan tidak ada. Pemberian intensitas sesuai dengan keempat tingkat tersebut.

Contoh:

• Menganggap garis adalah garis dengan tebal tetap yaitu 1 piksel (yaitu suatu segiempat dengan lebar 1 piksel) dan intensitas dihitung sesuai dengan jumlah subpiksel yang “tertutupi” oleh segi empat ini (Perlu diambil acuan bahwa suatu subpiksel “tertutupi”, misalnya jika sudut kiri bawah subpiksel ada di dalam segi empat). Yang paling sederhana adalah menggunakan nilai rasio jumlah subpiksel terhadap total subpiksel pada piksel sebagai fungsi intensitas. Untuk subsampling 3×3 total subpiksel adalah 9 sehingga ada 10 tingkat intensitas yang bisa diberikan. Khusus titik ujung yang bernilai bilangan bulat (karena bisa untuk koordinat bilangan real) Akan diberi nilai penuh.

Alternatif penghitungan sederhana (rasio tsb.) ini adalah dengan pembobotan dengan mask diskret (Pixelweighting Mask), dan pembobotan dengan mask kontinyu (continuous filtering).
Pixelweighting Mask
Alternatif menggunakan rasio secara langsung di atas, teknik fitering dalam pengolahan citra (bedanya: pengolahan citra pada piksel sedangkan di sini pada subpiksel) dengan suatu mask (atau kernel) sesuai dengan subdivision piksel misalnya 3×3 subpiksel digunakan untuk menghitung. Ada beberapa bentuk mask.
Contohnya:
— box mask (berefek averaging)
— gaussian mask
Kadang-kadang mask meliputi juga subpiksel di piksel tetangganya untuk mendapatkan hasil yang lebih smooth.

Continuous Filtering
Smoothing mirip weighting mask di atas pada subpiksel-subpiksel (dari piksel ybs. dan juga dari subpiksel tetangganya) namun menggunakan fungsi permukaan kontinyu: box, konus, atau Gaussian. Jadi secara teoritis dilakukan konvolusi antara fungsi filter dengan fungsi citra pada tingkat subpiksel. Secara praktis untuk mengurangi komputasi digunakan suatu table-lookup dari kombinasi piksel dengan piksel-piksel tetangganya.

III.5.2 Area Sampling
Pada Unweighted Area Sampling suatu garis diangap sebagai segi empat dengan lebar 1 piksel seperti halnya pada supersampling cara kedua di atas. Yang dihitung adalah luas bagian piksel yang tertutup “segiempat” garis tersebut secara geometris. Penghitungan lebih akurat tetapi karena memerlukan perhitungan yang lebih rumit maka metoda ini lebih banyak digunakan untuk anti-aliasing batas dari fill-area. Metoda ini menghitung luas bagian dari piksel yang tertutup area (garis atau fill-area) dan dari rasio luas tsb. terhadap luas piksel dapat ditentukan bobot foreground terhadap background untuk mendapatkan intensitas piksel. Cara penghitungannya?
Untuk fill-area dengan memodifikasi midpoint algorithm untuk garis sehingga fungsi diskriminan p menentukan juga persentasi tsb. Dalam algoritma ini pada persamaan garis
y = m x + b, m > 1
digunakan fungsi keputusan:
p = m (xi + 1) + b – (yi + ½)
Sementara bagian piksel yang tertutup area di bawah garis tersebut adalah suatu trapesium dengan ketinggian kiri y = m (xi – ½) + b – (yi – ½) dan ketinggian kanan y = m (xi + ½)

  • b – (yi – ½) serta lebar 1 (satuan piksel). Luas trapesium ini adalah = m xi + b – (yi – 0.5) = p – (1 – m)

III.5.3 Pixel Phasing
Pergeseran mikro (microposition) yang dilakukan oleh deflektor elektron sebesar 1/4, 1/2 atau 3/4 diameter piksel. Metode ini biasanya dipasang built-in pada chipset grafis dan pada graphics driver.

III.5.4 Kompensasi Perbedaan Intensitas Garis
Secara normal garis diagonal (tanpa antialiasing) lebih tipis dari garis horisontal/vertikal karena pada garis tsb. piksel-piksel lebih spanned dari pada piksel-piksel pada garis horisontal/diagonal. Jadi secara visual efek ini dapat juga dikurangi dengan menaikkan intensitas garis yang mengarah diagonal sesuai dengan sudut.

MODUL IV WINDOWING DAN CLIPPING

Setelah membaca modul ini, mahasiswa akan memiliki pengetahuan dan mampu menjelaskan (i) konsep transformasi umum dalam konteks konseptual grafika komputer (ii) proses transformasi windows-viewport serta komputasinya (iii) proses clipping dengan algoritma-algoritma standar

IV. 1 Model Konseptual Grafika Komputer

Sebagaimana sudah dijelaskan pada bagian awal buku ini, grafika komputer adalah ilmu yang dipelajari dan dikembangkan untuk mentransformasikan suasana atau pemandangan (scene) nyata yang ada dalam ruang 3 dimensi ke dalam peralatan komputer, dalam hal ini adalah layar monitor, yang pada dasarnya bekerja dalam 2 dimensi.
Proses transformasi pemandangan nyata yang begitu luas ke dalam monitor komputer yang relatif sempit memberikan pemahaman baru akan perlunya windowing dalam proses tersebut. Proses windowing akan membatasi luas pandang dari objek sesuai dengan ukuran window.
Berikut ini adalah definisi dari beberapa istilah yang bisa mengantarkan kita kepada pemahaman konsep windowing. Window adalah sebuah area pada koordinat dunia yang dipilih untuk ditampilkan pada alat display; sedangkan Viewport adalah sebuah area pada alat display yang merupakan hasil pemetaan dari window. adalah pemandangan nyata dalam koordinat dunia. Region persegi empat adalah windows yang tentunya memiliki ukuran tertentu. Pada saat kita akan memindahkan objek yang ada pada window ke dalam alat, maka kita melakukan proses windowing. Hasilnya seperti ditunjukkan pada gambar di bawahnya. Tentu saja sistem kordinat pada alat berbeda dengan sistem koordinat nyata. Koordinat nyata bekerja pada domain derajat, sedangkan koordinat alat bekerja pada domain piksel. Hal ini yang membuat diperlukannya pemetaan atau mapping dari koordinat dunia ke koordinat alat.

IV. 2 Transformasi Windows-Viewport

Ketika pemandangan ditampilkan pada layar, maka yang kelihatan hanya yang ada di dalam window sebagaimana ditunjukkan pada gambar di bawah ini.

Proses pencuplikan pada windows disebut juga proses clipping, dimana yang terlihat oleh alat hanyalah yang ada di dalam windows saja, sebagaimana diilustrasikan pada gambar berikut.

Langkah-langkah yang kelihatannya sederhana tersebut dapat digambarkan dengan skema sebagai berikut:

Proses pemetaan yang dilakukan melibatkan proses Matematika yang pada dasarnya tidak terlalu rumit. Di bawah ini disajikan penurunan formulasi untuk mendapatkan korelasi antara kordinat dunia dan (window) dan koordinat alat (viewport).
Apabila diasumsikan ada sebuah titik pada kordinat dunia (Xw, Yw), dan diketahui ukuran windows adalah (Xwmin, Ywmin, Xwmax, Ywmax), dan ukuran viewport adalah (Xvmin, Yvmin, Xvmax, Yvmax), maka koordinat titik (Xw, Yw) pada viewport (Xv,Yv) dapat dihitung dengan formulasi berikut ini.

x − x = x − x y − y = y − y
xv − xv min xw − xw min yv − yv min y w − yw min

v max v min w max w min v max v min w maxw min
xv = xv min + (xw − xw min ) ⋅ S x yv = yv min + ( y w − y w min ) ⋅ Sy

Sx =

x
v max

x
w max

− x
v min

− x
w min

Sy =

y
v max

y
w max

− y
v min

− y
w min

IV. 3 Clipping

Clipping adalah proses pemotongan objek atau pengguntingan objek sehingga hanya objek yang berada pada area yang menjadi perhatian saja yang terlihat. Proses ini merupakan hal yang bisa dengan teknologi yang ada dewasa ini, namun proses internlk pemrograman di dalamnya tidak sesederhana memakainya. Gambar di bawah ini mengilustrasikan proses clipping garis dan clipping poligon.

Penampakan Garis

Garis-garis yang tampak pada area gambar atau viewport dapat dikelompokkan menjadi tiga yaitu:

  1. Garis yang terlihat seluruhnya (Fully visible).
  2. Garis yang hanya terlihat sebagian (Partiality Visible).
  3. Garis yang tidak terlihat sama sekali (Fully Invisible).

Proses clipping dilakukan terhadap garis-garis yang berada pada kondisi ke-2 yaitu garis-garis yang hanya terlihat sebagian saja.

Algoritma Clipping Garis Cohen-Shuterland

Pada algoritma Cohen-Sutherland, region viewport dibagi menjadi 9 dan masing- masing memiliki kode bit atau bit code yang terdiri dari 4 bit yang menyatakan kondisi dari garis yang melalui viewport atau region yang dimaksud.

Kode empat bit menunjukkan posisi ujung garis pada region viewport. Sebagai contoh garis dengan ujung yang memiliki kode bit 1001 artinya ujungnya ada di kiri atas viewport. Ujung dengan kode bit 0010 berarti ada di kanan viewport. Dengan mengacu kepada kode bit maka proses clipping akan dilakukan secara lebih mudah dan efisien.

IV.4 Hasil Analisa
Clpping dilakukan sebelum proses rasterization. Setelah proses clipping selanjutnya dilakukan prosesrasterization $ang mana dilalkukan pengonversian suatu citra vektor ke citra bitmap. Sedangkan Hidden Surface Removal merupakan suatu algoritma yang digunakan untuk menghilangkan penampilan bagian yang tertutup oleh objek didepannya. Melalui langkah-langkah algortima Cohen-Sutherland untuk menentukan danmemahami arti kode titik awal dan titik akhir garis pada ruang dimensi tiga, serta dapatmenampilkan secara visual garis yang berada di dalam dan di luar jendela penampil.

MODUL V TRANSFORMASI 2 DIMENSI
V. 1 Pengertian transformasi

Grafika komputer merupakan bidang yang menarik minat banyak orang. Salah sub bagian dari grafika komputer adalah pemodelan objek (object modelling). Dalam pemodelan objek dua dimensi (2D), didapati berbagai objek dapat dimodelkan menurut kondisi tertentu, objek yang dimodelkan itu perlu dimodifikasi. Pemodifikasian objek ini dapat dilakukan dengan melakukan berbagai operasi fungsi atau operasi transformasi geometri. Transformasi ini dapat berupa transformasi dasar ataupun gabungan dari berbagai transformasi geometri.
Contoh transformasi geometri adalah translasi, penskalaan, putaran (rotasi), balikan, shearing dan gabungan. Transformasi ini dikenal dengan transformasi affine. Pada dasarnya, transformasi ini adalah memindahkan objek tanpa merusak bentuk. Tujuan transformasi adalah :
• Merubah atau menyesuaikan komposisi pemandangan
• Memudahkan membuat objek yang simetris
• Melihat objek dari sudut pandang yang berbeda
• Memindahkan satu atau beberapa objek dari satu tempat ke tempat lain, ini biasa dipakai untuk animasi komputer.
Proses transformasi dilakukan dengan mengalikan matriks objekl dengan matriks transformasi, sehingga menghasilkan matriks baru yang berisi koordinat objek hasil transformasi.
Sebagai contoh, apabila sebuah garis yang melalui titik A(0,1) dan titik B(2,3) ditransformasikan dengan matriks
[T]= 1 2
3
1
maka hasilnya adalah

[L][T ] =

0 1 1 2

2

3 1 = L
*

3 3 1 11 7
Secara visual proses transformasi ini dapat dilihat pada gambar berikut:

Gambar 5.1 Ilustrasi Transformasi Sebuah Garis

V. 2 Translasi

Transformasi translasi merupakan suatu operasi yang menyebabkan perpindahan objek 2D dari satu tempat ke tempat yang lain. Perubahan ini berlaku dalam arah yang sejajar dengan sumbu X dan sumbu Y. Translasi dilakukan dengan penambahan translasi pada suatu titik koordinat dengan translation vector, yaitu (tx,ty), dimana tx adalah translasi menurut sumbu x dan ty adalah translasi menurut sumbu y. Koordinat baru titik yang ditranslasi dapat diperoleh dengan menggunakan rumus :
x’ = x + tx (x,y) = titik asal sebelum translasi

y’ = y + ty (x’,y’) = titik baru hasil translasi

Translasi adalah transformasi dengan bentuk yang tetap, memindahkan objek apa adanya. Setiap titik dari objek akan ditranslasikan dengan besaran yang sama.
Dalam operasi translasi, setiap titik pada suatu entitas yang ditranslasi bergerak dalam jarak yang sama. Pergerakan tersebut dapat berlaku dalam arah sumbu X saja, atau dalam arah sumbu Y saja atau keduanya.

Translasi juga berlaku pada garis, objek atau gabungan objek 2D yang lain. Untuk hal ini, setiap titik pada garis atau objek yang ditranslasi dalam arah x dan y masing-masing sebesar tx,ty.
Contoh

Untuk menggambarkan translasi suatu objek berupa segitiga dengan koordinat A(10,10) B(30,10) dan C(10,30) dengan tx,ty(10,20), tentukan koordinat yang barunya !
Jawab

A : x’=10+10=20 y’=10+20=30 A’=(20,30)
B : x’=30+10=40 y’=10+20=30 B’=(40,30)

C : x’=10+10=20 y’=30+20=50 C’=(20,50)

V. 3 Penskalaan

Penskalaan adalah suatu operasi yang membuat suatu objek berubah ukurannya baik menjadi mengecil ataupun membesar secara seragam atau tidak seragam tergantung pada faktor penskalaan (scalling factor) yaitu (sx,sy) yang diberikan. sx adalah faktor penskalaan menurut sumbu x dan sy faktor penskalaan menurut sumbu y. Koordinat baru diperoleh dengan
x’ = x + sx (x,y) = titik asal sebelum diskala

y’= y + sy (x’,y’) = titik setelah diskala

Nilai lebih dari 1 menyebabkan objek diperbesar, sebaliknya bila nilai lebih kecil dari 1, maka objek akan diperkecil. Bila (sx,sy) mempunyai nilai yang sama, maka skala disebut dengan uniform scaling.
Contoh

Untuk menggambarkan skala suatu objek berupa segitiga dengan koordinat A(10,10) B(30,10) dan C(10,30) dengan (sx,sy) (3,2), tentukan koordinat yang barunya!
Jawab:

A : x’ =103 =30 y’ =102 =20
A’ =(30,20)
B : x’ =303 =90 y’ =102 =20
B’ =(90,20)

C :
x’
=103 =30 y’ =302 =60
C’ =(30,60)

V. 4 Rotasi

Putaran adalah suatu operasi yang menyebabkan objek bergerak berputar pada titik pusat atau pada sumbu putar yang dipilih berdasarkan sudut putaran tertentu. Untuk melakukan rotasi diperlukan sudut rotasi dan pivot point (xp,yp) dimana objek akan dirotasi.
Putaran biasa dilakukan pada satu titik terhadap sesuatu sumbu tertentu misalnya sumbu x, sumbu y atau garis tertentu yang sejajar dengan sembarang sumbu tersebut. Titik acuan putaran dapat sembarang baik di titik pusat atau pada titik yang lain. Aturan dalam geometri, jika putaran dilakukan searah jarum jam, maka nilai sudutnya adalah negatif. Sebaliknya, jika dilakukan berlawanan arah dengan arah jarum jam nilai sudutnya adalah positif.

Rotasi dapat dinyatakan dengan :

x’ =r cos(ɸ+ ɵ ) = r cosɸ y’ =r sin(ɸ + ɵ ) = r cosɸ

cos ɵ – r sinɸ sin ɵ + r sinɸ

sin ɵ

cos ɵ

sedangkan diketahui

x= r cos ɸ , y = r sin ɸ

lakukan subtitusi, maka :

x’ =x cos ɸ – y sin ɵ

y’ =x sin ɸ + y cos ɵ

Matriks rotasi dinyatakan dengan :

P’ = R.P

= � ɵ
− ɵ�

ɵ ɵ

Rotasi suatu titik terhadap pivot point (xp,yp) :

x’ = xp+(x – xp) cos ɵ – (y – yp) sin ɵ y’ = yp+(x – xp) sin ɵ + (y – yp) cos ɵ
V. 5 Refleksi

Refleksi adalah transformasi yang membuat mirror (pencerminan) dari image suatu objek. Image mirror untuk refleksi 2D dibuat relatif terhadap sumbu dari refleksi dengan memutar 180o terhadap refleksi. Sumbu refleksi dapat dipilih pada bidang x,y. Refleksi terhadap garis y=0, yaitu sumbu x dinyatakan dengan matriks

ɵ ɵ

Transformasi membuat nilai x sama tetapi membalikan nilai y berlawanan dengan posisi koordinat. Langkah :
• Objek diangkat
• Putar 180o terhadap sumbu x dalam 3D
• Letakkan pada bidang x,y dengan posisi berlawanan
• Refleksi terhadap sumbu y membalikan koordinat dengan nilai y tetap.

0 1 0

Refleksi terhadap sumbu x dan y sekaligus dilakukan dengan refleksi pada sumbu x terlebih dahulu, hasilnya kemudia direfleksi terhadap sumbu y. Transformasi ini dinyatakan dengan :

�−1 0 0�

0 1 0

Refleksi ini sama dengan rotasi 180° pada bidang xy dengan koordinat menggunakan

titik pusat koordinat sebagai pivot point. Refleksi suatu objek terhadap garis y=x dinyatakan dengan bentuk matriks.

�−1 0 0�
0 1 0

Ilustrasi proses refleksi pada sumbu-sumbu utama digambarkan pada gambar berikut:

Gambar 4.3 Ilustrasi Refleksi

Matriks dapat diturunkan dengan menggabungkan suatu sekuen rotasi dari sumbu koordinat merefleksi matriks. Pertama-tama dilakukan rotasi searah jarum jam dengan sudut 45° yang memutar garis y=x terhadap sumbu x. Kemudian objek direfleksi terhadap sumbu y, setelah itu objek dan garis y=x dirotasi kembali ke arah posisi semula berlawanan arah dengan jarum jam dengan sudut rotasi 90°.
Untuk mendapatkan refleksi terhadap garis y=-x dapat dilakukan dengan tahap :

• Rotasi 45° searah jarum jam
• Refleksi terhadap axis y
• Rotasi 90° berlawanan arah dengan jarum jam Dinyatakan dengan bentuk matriks
�0 −1 0�

−1 0 0

Refleksi terhadap garis y=mx+b pada bidang xy merupakan kombinasi transformasi translasi – rotasi – refleksi .
• Lakukan translasi mencapai titik perpotongan

• Rotasi ke salah satu sumbu
• Refleksi objek menurut sumbu tersebut

V. 6 Shear

Shear adalah bentuk transformasi yang membuat distorsi dari bentuk suatu objek, seperti menggeser sisi tertentu. Terdapat dua macam shear yaitu shear terhadap sumbu x dan shear terhadap sumbu y.
Shear terhadap sumbu x

�0 −1 0�

−1 0 0

Dengan koordinat transformasi

x’= x + shx.y y’=y

Parameter shx dinyatakan dengan sembarang bilangan. Posisi kemudian digeser menurut arah horizontal.
Shear terhadap sumbu y

�0 −1 0�

−1 0 0

Dengan koordinat transformasi

x’=x y’= shy.x+y

Parameter shy dinyatakan dengan sembarang bilangan. Posisi koordinat kemudian menurut arah vertikal.

Gambar di bawah mengilustrasikan proses shearing.

Gambar 4.4 Ilustrasi Proses Shearing

V. 7 Transformasi Homogen

Transformasi homogen merupakan transformasi yang memberikan cakupan proses transformasi secara umum. Dalam dunia nyata dimana objek nyata merupakan elemen yang kompleks dan memiliki koordinat masing-masing, maka peran transformasi homogen sangat diperlukan untuk menyelesaikan berbagai permasalahan yang ada.
Beberapa hal yang perlu diperhatikan dalam hal implemengtasi transformasi homogen adalah sebagai berikut:
• Origin bersifat INVARIAN. Koordinatnya tidak akan pernah berubah. Jika ditransformasikan, akan tetap di (0,0).
• Dalam kondisi nyata, origin tidak harus selalu absolut di (0,0). Untuk itu digunakan koordinat homogen
• Koordinat homogen memetakan titik (0,0) ke posisi lain. Untuk itu ada elemen tambahan pada matriks transformasi
Untuk itu maka didefinisikan Matriks Transformasi Umum (MTU) sebagai berikut:

a b p
[T ] = c d q
m
n
s
Dimana a, b, c, d merupakan elemen untuk skala, rotasi,refleksi dan shearing; m, n merupakan elemen untuk translasi; s adalah elemen untuk overal scaling; dan p, q adalah elemen untuk proyeksi.

Rotasi pada Sumbu Sembarang
Jika sebuah objek dirotasikan sebesar θ° dengan pusat rotasi (m, n), maka langkah-langkah yang harus dilakukan adalah
a. Translasikan pusat rotasi ke (0, 0); karena yang kita ketahui hanyalah rumus rotasi pada origin
b. Lakukan rotasi sebesar yang diinginkan
c. Re-translasi pusat rotasi ke posisi semula Dengan demikian matriks transformasinya menjadi

1 0 0 cosθ sinθ 0 1 0 0
[T]= 0 1 0− sinθ cosθ 0 0 1 0

x − m −n

1 0 0

1 m n 1

y 1 =[x y 1][T ]

  • *

Proses ini diilustrasikan sebagai berikut:

Gambar 4.5 Ilustrasi Rotasi Pada Sumbu Sembarang
Refleksi pada Garis Sembarang
Jika sebuah objek direfleksikan pada sebuah garis maka langkah-langkah yang harus dilakukan adalah
a. Translasikan cermin sedemikian rupa sehingga menyentuh titik origin
b. Rotasikan cermin sehingga berimpit dengan salah satu sumbu utama
c. Refleksikan objek
d. Re-rotasi
e. Re-translasi

V.8 Hasil Analisa
Geometri transformasi merupakan suatu bab yang membahas mengenai perpindahan suatu titik pada bidang dimensi dua atau datar. Transformasi meliputi refleksi,rotasi.dilatasi,translasi. Transformasi dua dimensi adalah suatu model atau bentuk atau teknik-teknik memindahkan atau mengubah nilai posisi dalam system koordinat dua dimensi. Pemindahan objek ini dapat diartikan sebagai pemindahan titik. Macam-macam transformasi yaitu Transformasi Objek dan Transformasi Koordinat. Jenis-jenis transfromasi : Translasi, penskalaan, dan rotasi. Koordinat Homogen adalah system koordinat yang mempunyai satu dimensi lebih tinggi dari system korrdinat yang ditinjau. Untuk melihat spektrum transformasinya dapat dipilih dari dua cara berikut:

  1. af1 = log ( 1 + abs (af) ); imshow (af1/af1(129,129))
    Proses ini didasarkan pada kenyataan bahwa setelah penggeseran maka koefisien DC berada pada posisi x = y = 129. Nilai direntangkan dengan fungsi log dan membagi nilainya dengan koefisien DC.
  2. imshow (mat2gray ( log (1 + abs (af) ) ) )
    Fungsi mat2gray.m secara otomatis melakukan scaling untuk menampilkan citra.

Leave a Reply

Your email address will not be published. Required fields are marked *