Grafika komputer (Computer graphics) merupakan salah satu cabang disiplin ilmu informatika yang mempelajari pembuatan dan manipulasi gambar dengan komputer atau secara digital. Dikenal juga dengan istilah visualisasi data Pertama kali dikembangkan oleh The Whirlwind Computer pada tahun 1950 untuk memperagakan output dari suatu hardcopy. Kemudian dikembangkan lagi oleh Dr. Ivan Sutherland sehingga menghasilkan fitur-fitur grafika saat ini.
Grafika komputer adalah ilmu yang sangat cepat berkembang pada saat ini. Perkembangan ini didukung oleh munculnya processor-processor komputer yang cepat dan kartu grafis yang semakin canggih dan hebat. Bentuk sederhana dari grafika komputer adalah grafika komputer 2D, yang kemudian dikembangkan menjadi grafika komputer 3D, pengolahan citra (image processing), dan pengenalan pola (pattern recognation)..
Geometri,
yaitu
mempelajari
cara
menggambarkan
permukaan bidang
Animasi, yaitu mempelajari cara menggambarkan dan Rendering, yaitu mempelajari algoritma untuk membuat Pencitraan (imaging), yaitu mempelajari cara pengambilan
Materinya berisi teknikteknik untuk memperbaiki dan menyajikan informasi dari gambar/photo
Detail dari setiap objek lengkap. Misalnya jumlah rambut pada manusia tertangkap apa adanya.
Detailnya tidak lengkap. Contohnya pada gambar rambut manusia. Tidak mungkin bisa sama seperti aslinya.
Pengenalan OpenGL
OpenGL (GLUT) adalah suatu library grafik standar untuk keperluan pemrograman grafis.
#include <GL/glut.h> void display(void) { glClear(GL_COLOR_BUFFER_BIT); myTriangle(); } void init() { glClearColor(1.0, 1.0, 1.0, 1.0); glColor4f(1.0, 0.0, 0.0, 1.0); glMatrixMode(GL_PROJECTION); glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0); } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(300, 300); glutInitWindowPosition(0, 0); glutCreateWindow("Membuat Segitiga"); glutDisplayFunc(display); init(); glutMainLoop(); }
Mengukur jarak garis P1 ke P2 (vektor a)? Pergerakan vektor = a a = P2 P1 = (x2, y2, z2) (x1, y1, z1) Jarak vektor = ||a|| Berdasarkan rumus Euclidean : ||a|| = (x2 x1)2 + (y2 y1)2 + (z2 z1)2 Normalisasi vektor : a = a/||a||
Contoh 1
Berapakah jarak garis A->F dan A->B ? Tentukan pula pergerakan vektor dan normalisasi vektornya! Bagaimanakah membuat garis dalam ilmu grafika komputer?
4. Tentukan langkah, yaitu dengan cara jarak maksimum jumlah penambahan nilai x maupun nilai y, dengan cara : Jika nilai absolut Dx lebih besar dari absolut Dy, maka Step = absolut dari Dx Jika tidak, maka Step = absolut Dy 5. Hitung penambahan koordinat pixel yaitu x_plus = Dx/Step, dan y_plus = Dy/Step 6. Koordinat selanjutnya ; (x + x_plus, y + y_plus) 7. Posisi pixel pada layar ditentukan dengan pembulatan nilai koordinat tersebut. 8. Ulangi langkah (6) dan (7) untuk menentukan posisi pixel selanjutnya sampai x = x1 dan y = y1.
Contoh 2
Jika ada 2 buah titik A (10, 10) dan B(18, 20) yang dihubungkan akan membentuk sebuah garis, bagaimanakah penggambarannya bila menggunakan metode DDA ?
Algoritma Bressenham
Berbeda dengan Algoritma DDA, Algoritma Bressenham tidak membulatkan nilai posisi pixel setiap waktu. Algoritma Bressenham hanya menggunakan penambahan nilai integer yang juga dapat diadaptasi untuk menggambar lingkaran. Algoritmanya sebagai berikut : a) Tentukan dua titik yang akan dihubungkan b) Tentukan salah satu titik di sebelah kiri sebagai titik awal yaitu (x0, y0) dan titik lainnya sebagai titik akhir (x1, y1) c) Hitung Dx, Dy, 2Dx, dan 2Dy 2Dx d) Hitung parameter awal : P0 = 2Dy - Dx
e) Jalankan perhitungan, dimulai dengan k = 0, cek : Jika Pk <= 0, maka : pk+1 = pk + 2Dy, dan titik (Xk + 1, Yk) Jika Pk > 0, maka : pk+1 = pk + 2Dy 2Dx dan titik (xk + 1, Yk + 1) f) Ulangi langkah (e) untuk menentukan posisi pixel selanjutnya sampai x = x1 dan y = y1.
Contoh 3
Jika ada 2 buah titik K(4, 6) dan L(10, 10 ) yang dihubungkan dan membentuk sebuah garis, bagaimana kah penggambarannya bila menggunakan metode Bressenham ?
Selesai....
Tugas I
(dikumpulkan Rabu 20 Maret 2013)
1.
Jika ada 2 buah titik M(2, 7) dan N(8, 10 ) yang dihubungkan dan membentuk sebuah garis, bagaimanakah penggambarannya bila menggunakan metode Bressenham dan DDA? Hitung dan buat masing-masing tabel hasilnya! 2. Dari soal no.1, hitunglah jarak vektor dan nilai normalisasi vektor antara titik M dan N.