Minggu, 10 Oktober 2010

Konsep Membuat Garis

Dalam konsep garis terdapat istilah Pixel yaitu merupakan singkatan dari picture element, kadang-kadang juga disebut pel. Pixel merupakan satu titik dalam satu grid berbentuk persegi atau juga beribu titik secara individual  "dilukis" menjadi suatu bentuk image yang dihasilkan pada layar komputer atau pada kertas oleh sebuah Printer. 

Konsep Dasar Garis

*Garis adalah kumpulan titik-titik yang tersusun sedemikian rupa sehingga memiliki pangkal dan ujung.
• Suatu titik pada layar terletak pada posisi (x,y), untuk menggambarkannya plot suatu pixel dengan posisi yang berkesesuaian. 
• Penampilan garis pada layar komputer dibedakan berdasarkan Resolusi-nya.
– Resolusi : keadaan pixel yang terdapat pada suatu area tertentu
– Contoh : Resolusi 640x480, berarti pada layar kompuer terdapat 640 pixel per-kolom dan 480 pixel per-baris.
– Resolusi dapat pula dibedakan menjadi kasar, medium dan halus.
Resolusi adalah hitungan pixel untuk menentukan kepekaan monitoratau printer dalam menampilkan output . Resolusi adalah suatu istilah yang dipakai untuk banyak hal yang berbeda dalam konteks pencitraan digital . Memang banyak membuat bingung orang. Istilah resolusi dalam kamera digitalberarti total spatial space seperti 640 x 480, 1052 x 768, 1280 x 1024. EFS-1 memiliki resolusi citra 1280 x 1024. Disini resolusi spasial berarti jumlah pixel mendatar (kolom) kali jumlah pixel tegak (baris) dari suatu citra. Dalam konteks ini resolusi adalah ukuran ketajaman citra.
Makin tinggi resolusi, makin tajam tampilan citra. Mungkin istilah paling tepat bagi resolusi citra kamera digital adalah ukuran bingkai.
scanner, printer dan software -software citra foto juga memakai istilah resolusi sebagai petunjuk ukuran tapi resolusi disini menunjukkan jumlah titik per inci (dpi = dot per inch) atau jumlah baris per inci (lpi = lines per inch).
Bagi suatu scanner, hal ini menunjukkan resolusi optis, yang menunjukkan kemampuan suatu alat untuk melihat atau mencetak obyek dalam satuan jumlah titik, pixel atau baris per inci. Istilah yang lebih tepat untuk resolusi file citra adalah kepadatan (density).


Ketiga konsep dasar itu merupakan cara untuk menentukan letak koordinat suatu titik yang kemudian digabungkna menjadi suatu obyek

Window,viewport dan clipping
Pengertian ketiga konsep tersebut merupakan suatu cara pemetaan dari dunia ke layar.
* 
Koordinat Dunia = tidak ada batasan , nilainya bilangan real
* Koordinat device = keterbatasan alat / hardware , nilainya mengacu bilangan real

Transformasi
Melakukan suatu manipulasi terhadap suatu obyek
Terdiri dari (2D dan 3D) :
* Rotation
* Skala
* Translasi
* Shearing

Transformasi Affine
transformasi 2D dan 3D yang mempertahankan garis dan bidang
Surface Detection Methods
Whiteframe adalah bentuk dasar model yang masih memunculan bentuk primitif modelnya
Hidden surface adalah bidang yang tidak terlihat
Shading
Spotlight adalah bidang yang dekat sumber lebih terang dari pada yanng jauh
Ambient adalah sumber cahaya sekunder karena dampak pantulan
Point Source adalah setiap titik mendapat cahaya yang sama
4 Vektor :
1. To source = mendekati cahaya
2. To Viewer = mendekati penglihat
3. Normal
4. Perfect Replator
Goround adalah tampilan ditentukan oleh titik-titik bidang tersebut
Flat adalah bidang vektor normal
Phong adalah hanya ada 1 bidang,terdapat gradasi,interpalasi titik

Introduction to Ray Tracing
Pembentukan suatu obyek yang terjadi karena beberapa proses
Raytracing
* Peningkatan Kualitas gambar,dilakukan melalui sini
* Metode untuk menghitung jarak gelombang
Morphing
Perubahan bentuk obyek gambar secara bertahap
Warping adalah transformasi geometri 2D yang akan dirubah(Proses pemetaan dan interpalasi image)
Cross-disolving adalah sebuah urutan dari image untuk mengimplementasikan bentuk distansi yang gradual dari satu image ke image lain

1.      ALGORITMA GARIS DDA
Digital Diferensial Analyser (DDA) adalah algoritma pembentukan garis berdasarkan perhitungan dx maupun dy, menggunakan rumus dy =m . dx. Garis dibuat menggunakan dua endpoint, yaitu titik awal dan titik akhir. Setiap koordinat titik yang membentuk garis diperoleh dari perhitungan, kemudian dikonversikan menjadi nilai integer. Ide dasar dari DDA adalah menggunakan nilai pemetaan yang  telah didapat (bisa x atau y) untuk   menghitung nilai selanjutnya untuk  mempercepat proses komputasi DDA (Digital Dierential Analyser)  Algorithm.
Dari persamaan y=mx+c maka bisa 
 disimpulkan bahwa:
 Y(i) = m x +c
* Y(i+1) = Y(i) + m                        
* Nilai pemetaan selanjutnya setara  dengan kenaikan nilai m
y =   m.x +  c
m=y2-y1     =y      
      X2-x1        x
*Jika 0<m<1 maka    yk+1 = yk + m 
                                        xk+1 = xk + 1

*Jika m>1 maka    xk+1 = xk + 1/m
                                yk+1 = yk + 1            

Langkah-langkah membentuk garis menurut algoritma DDA adalah :
1.      Tentukan dua titik yang akan dihubungkan dalam pembentukan garis
2.      Tentukan titik awal yaitu dan titik akhir .
3.      Hitung dx = x1- x0 dan dy = y1  y0
4.      Tentukan step = max( |dx| , |dy| )
5.      Hitung penambahan koordinat pixel XInc = dx / step dan YInc = dy /step
6.      Koordinat selanjutnya (x+XInc, y+yInc)
7.      Posisi pada layar ditentukan dengan pembulatan nilai koordinat tersebut
8.      Ulangi nomor 6 dan 7 untuk menentukan posisi pixel berikutnya. sampai x=x1 dan y=y1.
2.      ALGORITMA GARIS BRESSENHAM
Bresenham pada tahun 1965, melakukan perbaikan dari algoritma perhitungan koordinat piksel yang menggunakan persamaan (1), dengan cara menggantikan operasi bilangan riel perkalian dengan operasi penjumlahan, yang kemudian dikenal dengan Algoritma Bresenham. Pada algoritma bresenham, nilai y kedua dan seterusnya, dihitung dari nilai y sebelumnya, sehingga hanya titik y pertama yang perlu dilakukan operasi secara lengkap. Perbaikan algoritma ini ternyata tidak menghasilkan perbaikan yang cukup siginifikan. Perbaikan berikutnya dilakukan dengan cara menghilangkan operasi bilangan riel dengan operasi bilangan integer. Operasi bilangan integer jauh lebih cepat dibandingkan dengan operasi bilangan riel, terutama pada penambahan dan pengurangan.
Prosedur untuk menggambar kembali garis dengan membulatkan nilai x atau y ke bilangan integer memerlukan waktu. serta variabel x,y maupun m memerlukan bilangan real karena kemiringan merupakan nilai pecahan. Bressenham mengembangkan algoritma klasik yang lebih menarik, karena hanya menggunakan perhitungan matematik dengan bantuan bilangan integer. Dengan demikian tidak perlu membulatkan nilai posisi pixel setiap waktu. Langkah-langkahnya adalah sebagai berikut:
1.      Tentukan dua titik yang akan dihubungkan dalam pembentukan garis.
2.      Tentukan salah satu titik disebelah kiri sebagai titik awal (x0,y0) dan titik lainnya sebagai titik akhir (x1,y1)
3.      Hitung dx, dy, 2dx dan 2dy-2dx
4.      Hitung parameter P0 = 2dy – dx
5.      Untuk setiap xk sepanjang garis dimulai dengan k=0
o        Bila Pk < 0 maka titik selanjutnya adalah (xk+1, yk) dan Pk+1=Pk+2dy
o        Bila tidak maka titik selanjutnya adalah (xk+1, yk+1) dan Pk+1=Pk+2dy-2dx
6.      Ulangi nomor 5 untuk menentukan posisi pixel selanjutnya sampai x=x1 dan y=y1

3. ALGORITMA MIDPOINT
Algoritma midpoint merupakan algoritma pembuatan garis dan kurva dengan dasar operasi bilangan integer yang menonjolkan ciri kecepatan. Sehingga algoritma ini dapat dipakai sebagai algoritma pembuatan grafik yang menuntut kecepatan sebagai hal yang diutamakan. Pembahasan algoritma Midpoint dilakukan dengan mengasumsikan garis lurus dari kiri ke kanan,dan gadient antara 0 dan 1, sedangkan untuk lingkaran dengan mengasumsikan hanya sebagian lingkaran dengan sudut sebesar 45° , hal ini dilakukan untuk mempermudah penjelasan, sedangkan untuk kondisi yanglain dapat diderivasi dengan cara yang serupa. Untuk mendapatkan kinerja algoritma midpoint, dilakukan uji kecepatan komputasi dengan cara mengimplementasikan kedalam bahasa pemrograman C, dan melakukan perbandingan waktu komputasi dengan algoritma yang menggunakan dasar komputasi bilangan riel, maupun algoritma lain yang telah banyak dikenal seperti algoritma dda dan algoritma bressenham. 
Algoritma midpoint dikembangkan oleh Pitteway pada tahun 1967. Pada gambar 1, titik abu-abu menyatakan posisi piksel, titik hitam menyatakan posisi piksel yang telah digambar. Berdasarkan piksel ke n yang telah digambar, diperlukan metode untuk menentukan piksel berikut yang akan digambar, karena penggambaran dilakukan dari kiri ke kanan, maka piksel berikutnya harus pada kolom n+1. Karena gradien diantara 0 dan 1, maka piksel berikutnya adalah pada posisi titik p atau titik q.Algoritma untuk menggambar garis lurus dari (x1, y1) sampai (x2, y2) dilakukan dengan langkah-langkah sebagai-berikut:
1. Gambar piksel pertama (x1,y1). Hitung variabel penentu dengan persamaan (3).
2. Tentukan tanda variabel penentu. Jika variabel penentu bernilai positif, increment x dan y dan tambahkan (a+b) pada vaiabel penentu, sebaliknya increment x dan y dan tambahkan (a) pada variabel penentu.
3. Plot piksel pada posisi (x, y).
4. Ulangi langkah mulai langkah kedua, sampai piksel terakhir (x2,y2).

Sumber:

Tidak ada komentar:

Posting Komentar