Viewing 3 D dan Representasi Obyek 3 D
Viewing 3 D dan Representasi Obyek 3 D Fenty Tristanti Julfia, M. Kom
Viewing 3 D
Komputer Grafika Komputer 3 D Konsep Viewing 3 D Banyak proses yang terlibat dalam viewing 3 D yaitu • clipping untuk memotong bagian-bagian obyek yang berada diluar window, proyeksi digunakan untuk mentransformasi titik-titik dalam ruang 3 -D kedalam bidang 2 -D, identifikasi bagian obyek yang tampak, dan agar tampilan terlihat realistik, efek-efek pencahayaan dan karakteristik permukaan juga harus diperhitungkan
Komputer Grafik Objek di koordinat dunia Grafika Komputer 3 D Transformasi koordinat dunia ke koordinat kamera Clipping Transformasi ke koordinat device Proyeksi ke bidang pandang
Komputer Grafika Komputer 3 D (a) Sebuah titik dengan posisi Pref pada obyek silinder dilihat (menggunakan kamera) pada posisi Peye. (b) Sistem koordinat dunia yang digunakan untuk mengukur posisi titik Pref dan posisi mata Peye.
Komputer Grafika Komputer 3 D Untuk menyatakan titik-titik dalam World Coordinates system menjadi titik dalam Viewer Coordinates System maka diperlukan beberapa parameter berikut: 1. Posisi mata pengamat Peye. 2. Posisi titik referensi Pref. 3. vektor arah pandang atas Vup vektor satuan dalam koordinat kamera adalah
Komputer Grafika Komputer 3 D Pertama kita nyatakan matrik transformasi kamera dalam koordinat dunia Kemudian invers dari Mcam untuk menyatakan posisi obyek dalam koordinat kamera
Komputer Grafika Komputer 3 D Sehingga posisi titik terhadap bidang pandang kamera (Viewer Coordinates system) adalah
Komputer Grafika Komputer 3 D Contoh soal Sebuah titik Pref (0, 1, 4) dilihat dari kamera yang posisinya di Peye(4, 4, 4) dengan vektor arah pandang atas Vup(0, 1, 0). Tentukan posisi titik tersebut terhadap bidang pandang kamera.
Komputer Grafik Jawaban Grafika Komputer 3 D
Komputer Grafik Jawaban Grafika Komputer 3 D
Komputer Grafika Komputer 3 D Jawaban posisi titik tersebut terhadap bidang pandang kamera adalah Pkamera = (0, 0, -5)
Komputer Grafika Komputer 3 D PROYEKSI Beberapa definisi : Projection (Proyeksi) adalah transformasi yang memetakan dari ruang berdimensi lebih tinggi (ruang 3 D) ke ruang berdimensi lebih rendah (bidang 2 D). Center Of Projection (COP) (pusat proyeksi) adalah posisi mata atau kamera terhadap bidang proyeksi yang dibentuk Direction Of Projection (DOP) adalah arah dari mata atau kamera yang dianggap jauhnya berada di tak hingga. Projector (Proyektor) adalah garis dari pusat proyeksi melalui tiap-tiap titik pada obyek.
Komputer Grafika Komputer 3 D PROYEKSI • 2 metode : proyeksi paralel dan proyeksi perspektif • Objek yang diproyeksikan ditentukan dengan menghitung perpotongan garis proyeksi dengan bidang pandang PROYEKSI PARALEL • Posisi koordinat ditransformasi ke bidang pandang sejalan dengan garis sejajar/paralel
Komputer Grafik PROYEKSI PARALEL xp = x yp = y zp = 0 Grafika Komputer 3 D
Komputer Grafika Komputer 3 D PROYEKSI PERSPEKTIF • Posisi objek ditransformasikan ke bidang pandang sejalan dengan garis-garis yang bertemu di sebuah titik, yang disebut projection reference point (prp)
Komputer Grafika Komputer 3 D PROYEKSI PERSPEKTIF • Proyeksi Titik Pada Bidang Pandang
Komputer Grafika Komputer 3 D PROYEKSI PERSPEKTIF Pusat Proyeksi berada di sumbu-z positif Bidang pandang terletak pada bidang x-y
Komputer Grafika Komputer 3 D PROYEKSI PERSPEKTIF Pusat Proyeksi berada di sumbu-z positif Bidang pandang terletak pada bidang x-y Berdasarkan kesamaan segitiga diperoleh persamaan berikut:
Komputer Grafika Komputer 3 D PROYEKSI PERSPEKTIF Pusat Proyeksi di titik asal koordinat Bidang pandang tidak terletak pada bidang x-y
Komputer Grafika Komputer 3 D PROYEKSI PERSPEKTIF Pusat Proyeksi di titik asal koordinat Bidang pandang tidak terletak pada bidang x-y Berdasarkan kesamaan segitiga diperoleh persamaan berikut:
Komputer Grafika Komputer 3 D VIEW VOLUME • Diletakkan di bidang pandang • Didefinisikan oleh titik (l, b) – (r, t) • Objek di dalam viewing volume yang ditampilkan
Komputer Grafik VIEW VOLUME Grafika Komputer 3 D
Komputer Grafika Komputer 3 D Contoh Soal • Tiga buah titik A(0, 0, 0), B(1, 0, 0), C(0, 0, 1) membentuk segitiga ABC terletak di word coordinates system (sistem koordinat dunia). – Kamera : Peye(3, 1, 3) – Koordinat referensi objek di dunia : Pref (2, 1, 2) – Vektor up : (0, 1, 0) – near = 0. 1, far = 10 – fovy = 45 o – aspect ratio = 2. 0 – viewport: 200 x 100 pixels • Tentukan posisi segitiga ABC relative terhadap system koordinat mata (eye) • Tentukan posisi segitiga ABC relative terhadap near clipping plan • Tentukan lebar w dan tinggi h dari view plan yang terbentuk • Tentukan hasil dari proses clipping yang terjadi
Komputer Grafika Komputer 3 D Jawaban Step 1: Modeling transformation (Pemodelan Transformasi) Tidak ada yang perlu dilakukan disini. Karena kita sudah mendefinisikan obyek dalam sistem koordinat dunia. Step 2: Viewing Transformation ( Transformasi Sistem Pandang)
Komputer Grafik Jawaban Grafika Komputer 3 D
Komputer Grafika Komputer 3 D Jawaban posisi segitiga ABC terhadap bidang pandang kamera adalah
Komputer Grafika Komputer 3 D Jawaban Posisi segitiga A’B’C’ terhadap bidang pandang kamera (eye) adalah A’ = (0, − 1, − 6/√ 2) B’ = (1/√ 2, − 1, − 5/√ 2) � C’ = (− 1/√ 2, − 1, − 5/√ 2) Proyeksi terhadap near clipping plane Disini nilai d = − 0. 1 Hasil proyeksi titik A’ adalah titik A’’(0, −√ 2/60) = A’’(0, − 0, 0236) Hasil proyeksi titik B’ adalah titik B’’(1/50, −√ 2/50) = B’’(0, 0067 , − 0, 0283
Komputer Grafika Komputer 3 D karena sudut pandang θ = 45 o, maka: Jawaban Hasil proyeksi titik C’ adalah titik C’’(− 1/50, −√ 2/50) = C’’(− 0, 02, − 0, 0283)
Komputer Grafika Komputer 3 D karena sudut pandang θ = 45 o, maka: Jawaban Step 4: Clipping Ukuran dari viewing window pada bidang pandang dekat (on the near clipping plane) adalah: h = 0. 041 22, 5 o d = 0, 1 Near = d = 0, 1 h = 0, 1 x tan(22, 5 o) = 0, 1 x 0, 41 = 0, 041 W = aspect_ratio x h = 2 x 0, 041 = 0, 082 Titik ujung viewing window adalah (− 0. 082, − 0. 041) dan (0. 082, 0. 041),
Komputer Grafika Komputer 3 D karena sudut pandang θ = 45 o, maka: Clipping 3 D • • Menghapus obyek yang tidak dapat dilihat, yaitu obyek-obyek yang berada di belakang kamera, diluar view volume atau berada pada jarak yang sangat jauh. Memotong obyek-obyek yang berpotongan dengan bidang view volume.
Komputer Grafika Komputer 3 D karena sudut pandang θ = 45 o, maka: Clipping 3 D • Jika sebuah titik (x, y, z) berada didalam view volume, maka ia harus memenuhi syarat berikut: xmin x xmax dan ymin y ymax dan zmin z zmax
Komputer Grafika Komputer 3 D karena sudut pandang θ = 45 o, maka: Clipping 3 D bit 1 = 1 jika x < xvmin (kiri) bit 2 = 1 jika x > xvmax (kanan) bit 3 = 1 jika y < yvmin (bawah) bit 4 = 1 jika y > yvmax (atas) bit 5 = 1 jika z < zvmin (depan) bit 6 = 1 jika z > zvmax (belakang) Contoh : 101000 – atas belakang
Komputer Grafika Komputer 3 D karena sudut pandang θ = 45 o, maka: Clipping 3 D • Sebuah garis berada di view volume jika kedua ujungnya mempunyai region code 000000 • Jika ada ujung yang tidak 000000, maka gunakan operasi AND, jika hasilnya tidak 000000 maka di luar, jika hasilnya 000000 maka sebagian di dalam, sebagian di luar -> hitung titik potong
Komputer Grafika Komputer 3 D karena sudut pandang θ = 45 o, maka: Clipping 3 D • Misal jika P 3 AND P 4 (010101 AND 100110), hasilnya 000100, di luar • Misal P 1 AND P 2 (000010 AND 001001), hasilnya 000000, maka hasilnya sebagian di dalam, sebagian di luar – cari titik potong (clipping) • Bila diketahui P 0(x 0, y 0, z 0) dan P 1(x 1, y 1, z 1), maka : – x = x 0 + t (x 1 - x 0) – y = y 0 + t (y 1 - y 0) – z = z 0 + t (z 1 - z 0)
Komputer Grafika Komputer 3 D Contoh Soal P 0 (4, 2, 2) 4 di kanan 2 di bawah 2 di dalam Region code 000010 P 1(-2, 6, 1) -2 di kiri 6 di atas 1 di dalam Batas view volume : 0 ≤ x ≤ 3 0 ≤ y ≤ 4 0 ≤ z ≤ 3 Region code 001001 Hasil operasi AND 000000 (sebagian di luar, sebagian di dalam) Yang dihitung hanya yang bit 1, Yaitu kanan (x=3), kiri(x=0), atas (y=4)
Komputer Grafika Komputer 3 D Jawaban Soal • • • X=3 – t = (x-x 0)/(x 1 -x 0)=(3 -4)/(-2 -4)=1/6 – y = y 0 + t (y 1 - y 0)=2+1/6*(6 -2)=2. 67 (di dalam) – z = z 0 + t (z 1 - z 0)=2+1/6*(1 -2)=1. 83 (di dalam) Titik potong bidang kanan (3, 2. 67, 1. 83), region code 000000 – dipilih X=0 – t = (x-x 0)/(x 1 -x 0)=(0 -4)/(-2 -4)=2/3 – y = y 0 + t (y 1 - y 0)=2+2/3*(6 -2)=4. 67 (di atas) – z = z 0 + t (z 1 - z 0)=2+2/3*(1 -2)=1. 33 (di dalam) Titik potong bidang kiri (0, 4. 67, 1. 33), region code 001000 – tidak dipilih Y=4 – t = (y-y 0)/(y 1 -y 0)=(4 -2)/(6 -2)=1/2 – x = x 0 + t (x 1 - x 0)=4+1/2*(-2 -4)=1 (di dalam) – z = z 0 + t (z 1 - z 0)=2+1/2*(1 -2)=1. 5 (di dalam) Titik potong bidang atas (1, 4, 1. 5), region code 000000 – dipilih JADI TITIK POTONG (3, 2. 67, 1. 83) DAN (1, 4, 1. 5)
Representasi Obyek 3 D
Komputer Grafika Komputer 3 D • Grafik yang menggunakan representasi data geometri 3 D yang disimpan dalam komputer untuk keperluan perhitungan-perhitungan dan rendering citra 2 D • Grafik komputer 3 D sering disebut sebagai model 3 D yang lebih menekankan pada representasi matematis untuk obyek 3 D • Proses menampilkan model matematis ke bentuk citra 2 D dikenal dengan istilah rendering 3 D
Komputer Grafika Komputer 3 D Primitif Obyek 3 D • Dalam dunia 3 D terdapat beberapa primitif obyek 3 D seperti : titik, garis, bidang atau permukaan, bola, kubus, silinder, kerucut, dan lain-lain •
Komputer Grafika Komputer 3 D Representasi Obyek 3 D Kurva Bezier berderajat n akan melewati n +1 titik kontrol P 0, P 1, …, Pn dirumuskan sebagai berikut : dimana n adalah derajat fungsi Bezier.
Komputer Grafika Komputer 3 D Representasi Obyek 3 D Fungsi kurva Bezier berderajat 1, mempunyai 2 titik kontrol P 0 dan P 1. Fungsi kurva Bezier berderajat 2, mempunyai 3 titik kontrol P 0 , P 1 dan P 2 Untuk kebutuhan komputer grafik, diambil kurva Bezier berderajat 3, dengan 4 titik kontrol P 0 , P 1 , P 2 dan P 3
Komputer Grafika Komputer 3 D Contoh soal: kurva Bezier berderajat 3, dengan 4 titik kontrol P 0(8, 24) , P 1(− 16 , 40), P 2(32, 16) dan P 3(64, 48). Tentukan posisi kurva Bezier saat t = ½ menggunakan fungsi Bezier B(t) Jawab saat t = ½
Komputer Grafik Jawaban soal: Grafika Komputer 3 D
Komputer Grafika Komputer 3 D Representasi Obyek 3 D • Dalam aplikasi grafis, obyek 3 D dapat direpresentasikan dalam banyak cara, diantaranya adalah 1. 2. 3. 4. Curved Surfaces (Kurva Permukaan) Constructive Solid Geometry (CSG) Polyhedra Sweep Representation
Komputer Grafika Komputer 3 D Curved Surfaces Kurva (curve) dan permukaan (surface) sering dikenal dalam bidang geometri. Kurva adalah kumpulan titik yang membentuk garis lurus atau lengkungan. Permukaan (surface) adalah struktur matematis yang terbentuk dari himpunan kurva z x 2 + y 2 + z 2 = 25 5 y x
Komputer Grafika Komputer 3 D Constructive Solid Geometry (CSG) adalah gabungan beberapa obyek solid yang dibentuk secara geometry dengan menggunakan operator gabungan (union), irisan (intersection), dan selisih (difference) • • Dapat terdiri dari bentuk primitif, misalnya : – Sphere (bola/bulatan) – silinder – kerucut – piramid – kubus – Box / kotak Tidak dapat terdiri atas : – titik – garis – plane/latar/bidang
Komputer Grafika Komputer 3 D Constructive Solid Geometry (CSG) Proses ray-tracing CSG untuk operasi Union (Gabungan) Union adalah proses menggabungkan dua obyek menjadi satu obyek agar pada obyek hasil gabungan bisa dilakukan manipulasi. ᴜ =
Komputer Grafika Komputer 3 D Constructive Solid Geometry (CSG) Proses ray-tracing CSG untuk operasi Intersection ( Irisan ) Intersection dari dua buah obyek diperoleh dengan cara mengambil perpotongan dari tersebut. ∩ =
Komputer Grafika Komputer 3 D Constructive Solid Geometry (CSG) Proses ray-tracing CSG untuk operasi Difference ( Selisih ) Secara teori difference dihasilkan dari proses pengurangan obyek A oleh obyek B - =
• Operasi CSG tidak komutatif
• Operasi CSG tidak Unik
Komputer Grafika Komputer 3 D Sweep representation adalah model 3 D yang titik-titik geometrinya dihasilkan oleh perputaran titik-titik dari kurva spline atau lainnya terhadap sumbu putar tertentu. Perputaran ini tidak harus 360°. Bisa juga kurang dari 360° sehingga obyek yang terbentuk berupa penampang lintang dari obyek hasil perputaran 360°
Komputer Grafika Komputer 3 D Polyhedra Obyek merupakan gabungan dari permukaan-permukaan polygon yang tertutup hingga membentuk sebuah obyek baru
Komputer Grafika Komputer 3 D Pemodelan Obyek 3 D menggunakan Polygon Struktur data untuk representasi obyek 3 D menggunakan poligon terdiri dari : Tabel verteks/ tabel node yang berisi koordinat 3 D dari masing-masing titik verteks polygon dan titik ujung garis Tabel sisi (edge) yang berisi definisi dari konektivitas edge dalam bentuk node dari titik ujung. Tabel polygon yang berisi verteks dari masing-masing polygon
Komputer Grafika Komputer 3 D Pemodelan Obyek 3 D menggunakan Polygon Contoh: V 3 E 3 V 4 E 2 E 4 E 5 V 1 V 2 E 1 Tabel sisi (edge) E 1 : V 1, V 2 Tabel titik (Vertex) V 1 : x 1, y 1, z 1 Tabel polygon V 2 : x 2, y 2, z 2 P 1 : E 1, E 2, E 4 V 3 : x 3, y 3, z 3 P 2 : E 3, E 4, E 5 V 4 : x 4, y 4, z 4 E 2 : V 2, V 3 E 3 : V 3, V 4 E 4 : V 1, V 3 E 5 : V 1, V 4
Terimakasih. .
- Slides: 57