Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

1 Üç Boyutlu Görüntüleme Dr. Aybars UĞUR 2006. 2 Üç Boyutlu Görüntüleme Üç boyutlu bir sahnenin bilgisayarda görüntülenmesi için izlenen adımlar, fotoğraf.

Benzer bir sunumlar


... konulu sunumlar: "1 Üç Boyutlu Görüntüleme Dr. Aybars UĞUR 2006. 2 Üç Boyutlu Görüntüleme Üç boyutlu bir sahnenin bilgisayarda görüntülenmesi için izlenen adımlar, fotoğraf."— Sunum transkripti:

1 1 Üç Boyutlu Görüntüleme Dr. Aybars UĞUR 2006

2 2 Üç Boyutlu Görüntüleme Üç boyutlu bir sahnenin bilgisayarda görüntülenmesi için izlenen adımlar, fotoğraf çekme sırasındaki işlemlere benzer : –Nesne ölçeklendirme ve döndürme –Nesnenin yerini değiştirme –Bakış noktasının orijine taşınması –Bakış yönünün z eksenine alınması –İzdüşüm alınması –Görünen Yüzeylerin Belirlenmesi –Gerçek koordinatlardan araç koordinatlarına dönüşüm –Nesnelerin ekranda görüntülenmesi

3 3 3D Graphics Pipeline WORLD SCENE/OBJECT 3D MODELLING 3D CLIPPING PROJECTION RASTERIZATION 2D PIXELMAP DISPLAY Modelling coordinates: - world coordinate system, - object coordinate system Camera coordinates Screen/Window coordinates Device coordinates VIEWING

4 4 Nesne Modelleme B-Representation Sweep Representation CSG Blobby Objects Octree Representation Voxels Parametric Surface (x=sin4θ, y=cos2θ) Implicit Surface …

5 5 Modelleme Dönüşümleri Taşıma, Ölçeklendirme, Döndürme, … Kamera Dönüşümleri ve 3D Kırpma (Clipping) Kameranın görüntüleme alanı dışındaki nesneler kırpılır.

6 6 İzdüşüm (Projection) Uzayda boyut azaltma işlemidir. (Bilgisayar grafiklerinde 3D->2D). İki ana bölümde incelenir : –Paralel İzdüşüm –Perspektif İzdüşüm

7 7 İzdüşüm çeşitleri Paralel İzdüşüm : Görüntü düzlemindeki koordinat noktaları, görüntü düzlemine paralel doğrular çizilerek belirlenir. Perspektif İzdüşüm : Doğrular, izdüşüm merkezi (bakış noktası) adı verilen noktaya yakınsar. p1p1 p2p2 p1’p1’ p2’p2’ Görüntü Düzlemi p1p1 p2p2 p1’p1’ p2’p2’ Bakış Noktası

8 8 Paralel İzdüşümler Orthographic Parallel Projection İzdüşüm, görüntü düzlemine dik alınır. Oblique Parallel Projection İzdüşüm, görüntü düzlemine dik değildir.

9 9 Paralel İzdüşüm : Örnek Genelde z=a (xy düzlemi veya paralelleri) üzerine alınır. P1(10,10,10) P2(20,20,20) P1’(10,10) P2’(20,20) p1p1 p2p2 p1’p1’ p2’p2’ Görüntü Düzlemi z x y

10 10 Perspektif İzdüşümler Consider a perspective projection with the viewpoint at the origin and a viewing direction oriented along the positive -z axis and the view-plane located at z = -d y ypyp -z d divide by homogenous ordinate to map back to 3D space a similar construction for x p 

11 11 Windows and Viewports (wx min,wy min ) (wx max,wy max ) (vx min,vy min ) (vx max,vy max ) (wx,wy) (vx,vy)

12 12 Window to Viewport Mapping wx - wx min vx - vx min wx max - wx min vx max - vx min = vy can be solved for similarly. Yatay oranların korunumu : So, solving for vx: vx = (wx - wx min ) * vx max - vx min + vx min wx max - wx min

13 13 Say we want to map this to a 640x480 viewport

14 14 Wx=-.2 Wy=.3 Wxmax=0 Wxmin=-0.4 Wymax=0.4 Wymin=0 Vx= (-.2-(-0.4))*(640-0) + 0 = (-0.4) Vy= (.3-0)*(0-480) = (-0.4) Vxmax=640 Vxmin=-0 Vymax=0 Vymin=

15 15 Rasterization Rasterization: Geometrik şekillerden, piksel değerlerinin elde edilmesi adımlarının tümü: Hidden Surface Removal, Projection, Window to Viewport Transformation, Shading, Polygon Filling… Rasterization: Her pikselin rengi ne?

16 16 Transformations and OpenGL ® MODELVIEW matrix PROJECTION matrix perspective division viewport transformation Vertex Geometry Pipeline original vertex vertex in the eye coordinate space 2d projection of vertex onto viewing plane normalized device coordinates (foreshortened) final window coordinates

17 17 Görünen Yüzeylerin Belirlenmesi Görünen Yüzeylerin Belirlenmesi (Visible-Surface Detection Methods) veya Görünmeyen Yüzeylerin Elenmesi. Görünen yüzeyleri belirlemek için kullanılan algoritmalarda başlıca iki yaklaşım vardır : 1) Nesne Uzayı Yöntemleri (object-space methods) : Nesnelerin görünürlüğünü, yüzeyleri, diğer nesne ve yüzeylerle karşılaştırarak tanımlandıkları uzayda belirler. 2) Görüntü Uzayı Yöntemleri (image-space methods) : Görüntü uzayı algoritmaları, nesnelerin ve yüzeylerin görünürlüğünü piksel piksel izdüşüm düzleminde belirler. Algoritmaların çoğu görüntü uzayı yöntemlerini kullanır.

18 18 1) Arka Yüzeylerin Belirlenmesi Yüzey Normalinin z bileşeni negatif olan arka yüzeydir. Yüzey Denklemi : Ax + By + Cz + D = 0 Yüzey Normali : N = (A,B,C) C<=0, Arka yüzeydir. N = (0,0,1) x y z x y

19 19 2) Derinlik Arabelleği Yöntemi Depth-Buffer Method En çok kullanılan yöntemlerdendir. Bir Image-Space yöntemidir. Çokgen yüzeyindeki her (x,y,z) konumu, nesne tanımlamalarından izdüşüm koordinatlarına çevrildiğinde, görüntü düzleminde (x,y) olur. S1, görüntü düzlemine en yakın nokta olduğu için, o yüzeyin (ilgili bölümünün) rengi ve yoğunluk değerleri kaydedilir. x,y noktasında yüzey derinliği, formülü ile hesaplanır. z x y (x,y)

20 20 2) Depth-Buffer Method The Z-buffer Algorithm initialize all depth(x,y) to 0 and refresh(x,y) to background for each pixel compare evaluated depth value z to current depth(x,y) if z > depth(x,y) then depth(x,y)=z refresh(x,y) = I surface (x,y) z x y z2z2 z1z1 B A

21 21 Diğer Bazı Yöntemler A-Buffer Method : Depth-Buffer geliştirilerek oluşturulmuştur. Lucasfilm tarafından geliştirilmiştir. Geçirgen yüzeylere uygulanabilmektedir. Scan-Line (Tarama Hattı) Method : Bkz. Ders kitabı. Depth-Sorting (Derinlik Sıralaması) Method : Görüntü ve Nesne Uzayı yöntemlerinin her ikisini de kullanır. Painter’s algorithm (ressamın algoritması) olarak da geçer. –Yüzeyler derinliklerine göre sıralanır. –En derinden başlanarak çizdirilir. BSP-tree (binary space-partitioning) Method : Bkz. Ders kitabı. Area-Subdivision (Alan Bölümleme) Method : Bkz. Ders kitabı. Octree (8’li Ağaç) Methods : Bkz. Ders kitabı. Ray-Casting (Işın gönderme) Method : Bkz. Ders kitabı.

22 22 Aydınlatma Modelleri ve Yüzey Kaplama Yöntemleri (Illumination Models and Surface Rendering Methods) Dr. Aybars UĞUR 2006

23 23 Aydınlatma Modelleri ve Yüzey Kaplama Yöntemleri Gerçekçi görüntüler, nesnelerin perspektif izdüşümleri alınarak ve görünen yüzeylerine doğal aydınlatma etkileri uygulanarak elde edilirler. Aydınlatma Modeli : Bir nesnenin bir noktasında ışık yoğunluğunu hesaplamak için kullanılan bir modeldir. Yüzey Kaplama : Sahnedeki tüm yüzey izdüşüm konumlarının piksel yoğunluklarını aydınlatma modelini kullanarak hesaplayan prosedüre, yüzey kaplama adı verilir.

24 24 Aydınlatma Modelleri illumination model is used to calculate the intensity of light that we see at a given point on the surface of an object surface rendering algorithm uses intensity calculations to determine light intensity for all projected pixel positions for the various surfaces in the scene. Either… –performed at every point –interpolated across key points

25 25 Işık Kaynakları - I Saydam olmayan ve ışık saçmayan bir nesneye bakıldığında, nesnenin yüzeylerinden yansıyan ışık görülür. Toplam yansıyan ışık, tüm ışık kaynaklarının ve ortamdaki diğer yansıtıcı yüzeylerin katılımının toplamına eşittir. Bir ışık kaynağından, doğrudan ışık almayan nesneler de görülebilir. Parlak Nesne ışığın çoğunu yansıtır. Donuk Nesne emer. Saydam Nesne, kısmen geçirir.

26 26 Işık Kaynakları – II ve Yansıma Nokta Işık Kaynağı – Dağıtık Işık Kaynağı Ambient Light - Background Light (Ortam - arka plan ışığı) : Tüm nesneler için tüm yönlerde sabittir. Diffuse Reflection (yayılmış yansıma) : Bakış yönünden bağımsız olarak tüm nesneler için sabittir. Specular Reflection (aynaya özgü yansıma) : Elmadaki parlak noktalar gibi etkileri vermek için kullanılır. Bazı nesnelere belirli yönlerden bakıldığında belli bölümler parlar. Refraction (Kırılma) Shadows (Gölgeler)

27 27 Reflection characteristics of surfaces Ambient reflection I = I a K a –I a = Intensity of ambient light –K a= Fraction reflected, 0<= K a <=1 Diffuse (Lambertian) reflection –Typical of dull matte surfaces –Independent of viewer position –Dependant of light source position (in this case a point source again a non-physical abstraction)

28 28 Diffuse reflection I Sin (θ) I Cos (θ) θ ‾N ‾L Lamberts Cosine Law I = I p k d cos θ I = I p k d (‾N. ‾L ) I p = intensity of the point light source k d = diffuse reflection coefficient; specifies fraction of I p reflected Add an ambient term I = I a K a + I p k d (‾N. ‾L )

29 29 Diffuse Light Örneği

30 30 Mirror (Specular) Reflection Lighting highlights for shiny surfaces. The result of (near) total reflection of the incident light in a concentrated region around the specular-reflection angle We see reflected light only when V and R concide Non-ideal Reflectors

31 31 Specular Light Örneği

32 32 Ambient, Diffuse, Specular I = K a I a + K d L ( L. N ) + K s L ( R. V )n V light source N L R eye surface  

33 33 Kırılma (Refraction)

34 34 Çokgen Kaplama Yöntemleri Constant Intensity Shading Gouraud Shading (Intensity Interpolation) Phong Shading (Vector Interpolation)

35 35 Flat Shading

36 36 Gouraud Shading

37 37 Phong Shading

38 38 Diğer Işın İzleme Yöntemleri Yüzey Ayrıntıları –Texture Mapping –Environment Mapping –Bump Mapping Both bump mapping and environment mapping concepts are due to Jim Blinn

39 39 Marble Texture

40 40 Bump Mapping Kabartı Kaplama Basic Idea: Simulate small but macroscopic bumps on the surface Perturb the surface normal

41 41 How Does It Work? Looking at it in 1D: original surface P(u) bump map b(u) add b(u) to P(u) in surface normal direction, N(u) new surface normal N’(u) for reflection model

42 42 Environment Mapping

43 43 Renk Modelleri RGB HSV HLS CMY …. Birbirlerine dönüştürülebilirler.

44 44 Animasyon Canlandırma, hareketli resim –Storyboard (resimli senaryo) –Object dfn.s –Key-frame specifications –In-between frames Key Frame (Anahtar çerçeve) : Hareketin uç noktalarında seçilen animasyon karesi. In-betweens : Anahtar çerçeveler arasındaki kareler. Morphing : Biçim değiştirme.

45 45 Hareket Tanımlamaları Kinematik Tanımlama : Hareket parametreleri (konum, hız ve ivme) verilerek yapılan animasyondur. Inverse Kınematics : Belirlenen zamanlarda nesnenin ilk ve son konumları verilir. Hareket parametreleri sistem tarafından hesaplanır. Dynamic Descriptions : Hıza ve ivmeye neden olan kuvvetleri belirtir. F=ma, elektromanyetik, çekim, sürtünme, …

46 46 Ders Değerlendirmesi İki ve Üç Boyutlu Grafikler İçeren Yazılım Geliştirme Etkileşim, Animasyon İki Boyutlu Arayüzler (C# GDI +, Java 2D) Üç Boyutlu Arayüzler (OpenGL) Gerçekçi Görüntü Oluşturma (~Photorealistic Rendering): POV RAY Matematiksel Konular (Dönüşümler, Eğriler, …) Algoritmik Konular ve Veri Yapıları Seminerler

47 47 Düşünülen Final Sınavı İçeriği 50 Puan Klasik, 30 Puan Çoktan Seçmeli Test, Ders Notları, Tahtaya Yazılanlar, Anlatılanlar + Sunumlar (seminerlerden test sorusu) Ağırlıklı Konular Tanımlar, Bilgi, Genel Kültür Bir konunun Anlatımı, Karşılaştırma Ders kitabından ilgili konular okunmalı OpenGL programı yazmak, Dönüşümler ve Nesne Oluşturma Ağırlıklı Olmayanlar : C# GDI+ / Java2D / POVRAY programı yazmak Main içindeki ilk OpenGL ayarlamaları Spline Formüllerinin ezberlenmesine gerek yok, Formül olarak Bezier mantığı bilinmeli. Fraktallerin ne olduğunun bilinmesi yeterli Bileşik Dönüşüm Matrisi hesaplaması Ders Kitabı’ndan (Hearn&Baker) Computer Graphics with OpenGL Ağırlıklı olarak okunacaklar : 1. A Survey of Computer Graphics. 5. Geometric Transformations. 6. Two-Dimensional Viewing. 7. Three-Dimensional Viewing. 8. Three-Dimensional Object Representations. 9. Visible-Surface Detection Methods. 10. Illumination Models and Surface-Rendering Methods. 13. Computer Animation. Aşağıdaki konulara göz gezdirilmesi yeterli : 2. Overview of Graphics Systems. 3. Graphics Output Primitives. 4. Attributes of Graphics Primitives. Aşağıdaki konular final kapsamında değil : 11. Interactive Input Methods and Graphical User Interfaces. 12. Color Models and Color Applications. 14. Hierarchical Modeling. 15. Graphics File Formats


"1 Üç Boyutlu Görüntüleme Dr. Aybars UĞUR 2006. 2 Üç Boyutlu Görüntüleme Üç boyutlu bir sahnenin bilgisayarda görüntülenmesi için izlenen adımlar, fotoğraf." indir ppt

Benzer bir sunumlar


Google Reklamları