Üç Boyutlu Görüntüleme

Slides:



Advertisements
Benzer bir sunumlar
8. SINIF 3. ÜNİTE BİLGİ YARIŞMASI
Advertisements

Yrd. Doç. Dr. Mustafa Akkol
İnönü Üniversitesi Bilgisayar Mühendisliği Bölümü
PERSPEKTİF Yukarıya doğru uzanan kenarlar YÜKSEKLİK kenarlarıdır.
Geometrik Dönüşümler.
PERSPEKTİF PERSPEKTİF (İZDÜŞÜM) :Cisimlerin yükseklik, genişlik ve derinlik boyutları ile ön, üst ve yan görünüşleri aynı anda birlikte görünecek şekilde.
Simetri ekseni (doğrusu)
EĞİM EĞİM-1 :Bir dik üçgende dikey (dik) uzunluğun yatay uzunluğa oranına (bölümüne) eğim denir. Eğim “m” harfi ile gösterilir. [AB] doğrusu X ekseninin.
NOKTA, DOĞRU, DOĞRU PARÇASI, IŞIN, DÜZLEMDEKİ DOĞRULAR
OpenGL 2.x II İnönü Üniversitesi.
İnönü Üniversitesi Bilgisayar Mühendisliği Bölümü
İnönü Üniversitesi Bilgisayar Mühendisliği
Diferansiyel Denklemler
JEODEZİ I Doç.Dr. Ersoy ARSLAN.
Bezier Eğrileri ve Yüzeyleri
    SiMETRi SiMETRi.
Prof. Dr. Halil İbrahim Karakaş Başkent Üniversitesi
Final Öncesi.
Final Öncesi.
17. MEKANİKSEL SİSTEMLER VE TRANSFER FONKSİYONLARI
FONKSİYONLAR ve GRAFİKLER
Işık Işık kaynakları Işık ve madde Işığın yayılması Işığın yansıması.
YEREL AĞDAKİ KİŞİSEL BİLGİSAYARLARLA
ARALARINDA ASAL SAYILAR
ZAMBAK 1 SORU BANKASI UĞUR CESUR 1 ZAMBAK 1 SORU BANKASI ÖZEL SORULARI Hazırlayan: UĞUR CESUR.
OPENCV İLE STEREO GÖRÜNTÜLERDEN DERİNLİK KESTİRİMİ
Temel Grafik Kavramları
PRAMİTLER KARE DİK PRAMİT KONİ DÜZGÜN DÖRTYÜZLÜ DÜZGÜN SEKİZYÜZLÜ
Bilgisayar Grafikleri OPENGL
HABTEKUS' HABTEKUS'08 3.
Anadolu Öğretmen Lisesi
Çeşitli Yüzeylerde Yansıma
DERS 11 KISITLAMALI MAKSİMUM POBLEMLERİ
Mukavemet II Strength of Materials II
Işık Gölge Işık kaynakları Işıklandırma Gölgelendirme Gölge oluşumu
Ek-2 Örnekler.
DOĞRU GRAFİKLERİ EĞİM.
KARTEZYEN KOORDİNAT SİSTEMİ
2B Görüntüleme ve “Rasterization”
Diferansiyel Denklemler
AYNALAR TUĞÇE ÇINARLI.
KARTEZYEN KOORDİNAT SİSTEMİ
AYNALARDA YANSIMA VE IŞIĞIN SOĞURULMASI
Işık Işık kaynakları Işık ve madde Işığın yayılması Işığın yansıması
Toplama Yapalım Hikmet Sırma 1-A sınıfı.
DÖRTGENSEL BÖLGELERİN
Skaler Büyüklükler ve Vektörlerin Sınıflandırılması
Yrd.Doç.Dr. Mustafa Akkol
Yrd. Doç. Dr. Mustafa Akkol
KATI MODELLEME (SOLID MODELING)
BİLGİSAYAR GRAFİĞİ Ders 5:PROJEKSİYONLAR
Bilgisayar Grafikleri Ders 2: Koordinat Sistemleri
Bilgisayar Grafikleri Ders 3: 2B Dönüşümler
KIRPMA (Clipping) Bir grafik veri tabanından bir parçayı çıkarma işlemi olan kırpma bilgisayar grafiğinin temel işlerinden birisidir. Kırpma algoritmaları.
BİLGİSAYAR GRAFİĞİ Ders 5:PROJEKSİYONLAR
KIRPMA (Clipping) Bir grafik veri tabanından bir parçayı çıkarma işlemi olan kırpma bilgisayar grafiğinin temel işlerinden birisidir. Kırpma algoritmaları.
Bilgisayar Grafikleri Ders 5: 3B Homojen koordinat
PERSPEKTİF ÖMER ASKERDEN PİRİ MEHMET PAŞA ORTAOKULU
GEOMETRİK OPTİK.
PERSPEKTİF.
YER FOTOGRAMETRİSİ (2014) SUNU III Doç. Dr. Eminnur Ayhan
YER FOTOGRAMETRİSİ (2014) Doç. Dr. Eminnur Ayhan
X-IŞINLARI KRİSTALOGRAFİSİ
PERSPEKTİF NEDİR ? Perspektif, doğadaki iki boyutlu ya da üç boyutlu cisimlerin bizden uzaklaştıkça küçülmüş ve renklerinin solmuş gibi görünmesine denir.
UrhoSharp + Erhan BALLIEKER Software Development Consultant
NİŞANTAŞI ÜNİVERSİTESİ
Examples: In the Figure, the three points and coordinates are given that is obtained with CAD program. If these three points are represented by the curve.
Bilgisayar Grafiğine Giriş CS 351. Bilgisayar Grafiği Nedir? ● Geometrik şekillerin Üretilmesi, İşlenmesi ve Depolamasıdır. ● Cisimlerin bilgisayar ekranında.
Sunum transkripti:

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

Üç 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

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

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

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.

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

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

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.

Paralel İzdüşüm : Örnek y 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) p2 p2’ x p1’ p1 z Görüntü Düzlemi

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 a similar construction for xp  d y yp -z divide by homogenous ordinate to map back to 3D space

Windows and Viewports (wxmax,wymax) (vxmax,vymax) (vx,vy) (wx,wy) (vxmin,vymin) (wxmin,wymin)

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

Say we want to map this to a 640x480 viewport 0.4 0.3 -0.4 -0.2 Say we want to map this to a 640x480 viewport 480 640

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

Rasterization: Her pikselin rengi ne? 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?

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

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.

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) y y x x z

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. y (x,y) x z

2) Depth-Buffer Method The Z-buffer Algorithm x y z2 z1 B A 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) = Isurface(x,y)

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ı.

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

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.

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

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.

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)

Reflection characteristics of surfaces Ambient reflection I = Ia Ka Ia = Intensity of ambient light Ka= Fraction reflected, 0<= Ka<=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)

Diffuse reflection Lamberts Cosine Law I Sin (θ) ‾N I Cos (θ) θ ‾L Lamberts Cosine Law I = Ipkd cos θ I = Ip kd (‾N . ‾L ) Ip = intensity of the point light source kd = diffuse reflection coefficient; specifies fraction of Ip reflected Add an ambient term I = Ia Ka + Ip kd (‾N . ‾L )

Diffuse Light Örneği

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

Specular Light Örneği

Ambient, Diffuse, Specular I = KaIa + Kd L ( L . N ) + Ks L ( R . V )n V light source N L R eye surface  

Kırılma (Refraction)

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

Flat Shading

Gouraud Shading

Phong Shading

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

Marble Texture

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

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

Environment Mapping

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

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.

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, …

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

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