2B Görüntüleme Işın İzleme Kırpma

Slides:



Advertisements
Benzer bir sunumlar
3/A SINIFI.
Advertisements

PERSPEKTİF Yukarıya doğru uzanan kenarlar YÜKSEKLİK kenarlarıdır.
KONU :GÖRÜNTÜNÜN GEOMETRİK MODELLERİNİN KURULMASI
AES (Advanced Encryption Standart)
DOĞRU VE DÜZLEM.
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.
ÇOKGENLER.
DÜZLEMDEKİ DOĞRULAR.
DOĞRUNUN YOLCULUĞU.
1 . ÜNİTE : GEOMETRİK ŞEKİLLER
DÖRTGENLER.
Simetri ekseni (doğrusu)
ÇOKGENLER.
GEOMETRİK CİSİMLER.
Üstte şeması verilen yapının:
GEOMETRİK CİSİMLER S.BAYHAN.
TBF Genel Matematik II DERS – 8 : Doğrusal Eşitsizlikler
VEKTÖRLER.
Final Öncesi.
Kazanımlar : Geometrik Cisimler
ÇOKGENLER.
Çokgenler ve açıları.
SEDA ARSLAN TUNCER Android işletim sisteminde RGB histogram değerlerinin gerçek zamanlı olarak elde edilmesi SEDA ARSLAN TUNCER
Bellek Tabanlı Sınıflandırma
GEOMETRİK CİSİMLERDE DÖNME HAREKETİ
KARE, DİKDÖRTGEN VE ÜÇGENİN ÖZELLİKLERİ
ÇOKGENLER EŞLİK VE BENZERLİK.
Ekleyen: Netlen.weebly.com.
YMT 222 SAYISAL ANALİZ (Bölüm 2b)
Temel Grafik Kavramları
KATI CİSİMLERİN ALAN VE HACİMLERİ
HACİM ÖLÇME.
Maddenin ölçülebilir özellikleri
Açılar Ve Açı Çeşitleri
DİK PRİZMALAR Tabanları birbirine eş herhangi bir çokgen ve yan
Matematik Geometrik Şekiller.
ÇEMBER DAİRE SİLİNDİR.
DOĞRU GRAFİKLERİ EĞİM.
Hazırlayan: Ebru CANITEZ
2B Görüntüleme ve “Rasterization”
ÇOKGENLER EŞLİK VE BENZERLİK.
Mineraloji-Petrografi
Yrd. Doç. Dr. Mustafa Akkol
GEOMETRİ.
DİKDÖRTGEN-KARE KONU ANLATIMI VE SORU ÇÖZÜMLERİ
ÇOKGENLER.
HAZIRLAYAN:Mesut ACAR NO:
KARE.
DİKDÖRTGENLER PRİZMASI
ÇOKGENLER.
BAH TABLOSU.
Diferansiyel Denklemler
HAZIRLAYAN MUHAMMET UĞUZ ÇOKGENLER Dorusal olmayan 3 veya daha fazla noktanın 2 şer 2şer birleştirmek oluşturulan kapalı düzlemsel şekillere.
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ı.
ÖRÜNTÜ VE SÜSLEMELER.
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ı.
ÜÇGENLER VE DÖRTGENLER
Uzayda Kapalı Yüzeyler
PERSPEKTİF ÖMER ASKERDEN PİRİ MEHMET PAŞA ORTAOKULU
KARE DİKDÖRTGEN VE ÜÇGEN
PRİZMALAR VE PİRAMİTLER
PERSPEKTİF.
YER FOTOGRAMETRİSİ (2014) Doç. Dr. Eminnur Ayhan
ÜÇGENLER VE DÖRTGENLER
KARE.
GÖRSEL SANATLAR DERSİ.
MALTEPE ÜNİVERSİTESİ Paralel Hesaplama MATLAB ve Paralel Hesaplama
ÇOK BOYUTLU İŞARET İŞLEMENİN TEMELÖZELLİKLERİ
ÇOKGENLER YUNUS AKKUŞ-2012.
KATI(GEOMETR İ K) C İ S İ MLER MATEMATİK PROJE SLAYTI M.AŞKIN ERDOĞAN
Sunum transkripti:

2B Görüntüleme Işın İzleme Kırpma İnönü Üniversitesi Bilgisayar Mühendisliği Bölümü

Görünümdeki Eksiklikler Değinilen bütün rasterization algoritmalarında, piksellerin ‘’ya hep, ya hiç’’ mantığıyla çizdirilmesi söz konusudur. Dolayısıyla görünümde kırıklıklar (jaggies) oluşur. Bu duruma aliasing sorunu denmektedir.

Anti Aliasing Aliasing problemini çözme işlemleridir. Görüntünün farklı tonda piksellere sahip bölgelerinin kenarlarında ara tonlara sahip pikseller oluşturarak yapılabilmektedir. Bu sayede nesnelerin detaylarındaki bozukluklar yumuşatılarak daha düzgün görüntü elde edilmektedir. Günümüzün grafik işlemcileri (GPU) yüksek oranda anti-aliasing yapılabilmesine imkan vermektedir. http://www.tweakguides.com/images/Antialiasing.gif

Xiaolin Wu’ nun Algoritması Bresenham’ ın algoritması çok hızlı çalışmakta lakin anti aliasing yapmamaktadır. Xiaolin Wu, 1991’ de anti aliasing ile doğru çizme algoritması geliştirmiştir. Her bir pikseli ara tonları ile birlikte bir dikdörtgen şeklinde çizdirir. Ara renklerin tonu, doğrudan uzaklaştıkça zayıflar. https://github.com/sachinruk/xiaolinwu/blob/master/xiaolinwu.m

Ray Tracing

Ray Tracing «Işın izleme» olarak ifade edilir. Çokgenlerin fizik tabanlı bir modelle render edilmesidir. Fotogerçekçi görüntü elde edilmesini sağlar. Çok sayıda hesaplama içerdiğinden, optimizasyona ihtiyaç duyar.

Ray Tracer Kameradan (göz) sahnedeki nesnelerin her bir parçasına (piksel) giden ışınların geri eşleştirilmesi işini yapan programcıktır. Her piksel ya sahnedeki bir nesne ile ışın kesişimini gösterir, ya da kesişim olmaz. Bir ışından yola çıkarak milyonlarca ışın aynı mantıkla takip edilir. Rasterization köşeler üzerinden yapılmakta iken, ray tracing 2B pikseller üzerinden yapılır ve 3B uzaydaki kesişimleri hesaplanır. E

Bazı Örnekler

Bazı Örnekler Whitted, 1980

Bazı Örnekler http://www.youtube.com/watch?v=b_UqzLBFz4Y

Kırpma (Clipping) Nesnelerin görüntüleme alanına sığmayan parçalarının çıkarılması işlemidir. Performans artışı sağlar. Doğru kırpma Cohen – Sutherland algoritması Liang – Barsky algoritması Çokgen kırpma Sutherland – Hodgman algoritması

2B’ de Doğru Kırpma Uç noktaları kırpma Eğer xmin < x < xmax ve ymin < y < ymax ise, nokta kırpma dikdörtgeninin içindedir. Doğru parçaları için uç nokta analizi Eğer ikisi de içeride ise, olduğu gibi kabul edilir. (işleme gerek yoktur.) Eğer bir uç nokta içeride, diğeri de dışarıdaysa kırpmak gerekir. Eğer ikisi de dışarıdaysa, bir şey söylenemez. Kaba kuvvetle kırpma: y = mx + b ‘yi kullanarak doğru ve 4 kırpma kenarı için aynı anda denklemlerini çözmek Sadece sonsuz uzunluktaki doğrularda işe yarar. Dikey doğrularda etkisizdir. ( 𝑥 𝑚𝑖𝑛 , 𝑦 𝑚𝑖𝑛 ) ( 𝑥 𝑚𝑎𝑥 , 𝑦 𝑚𝑎𝑥 ) (𝑥,𝑦)

Cohen-Sutherland Algoritması (2B) Alan 9 bölgeye bölünür. Bir kenar ve köşe arasındaki 4 karşılaştırmanın işaret bitini hesaplanır. 4 sınır testinin sonuçlarını 4 bitlik “outcode” ile ifade edersek İlk bit: Üst kenarın üzerinde İkinci bit: Alt kenarın altında Üçüncü bit: Sağ kenarın sağında Dördüncü bit: Sol kenarın solunda Her doğrunun iki köşesi için outcode değerleri hesaplanır. (OC0 ve 0C1) OC0 = 0 (yani 0000) ve 0C1 = 0 olan doğrular, olduğu gibi kabul edilir. Tamamen bir kenarın dışındaki yarı düzlemin içinde yer alan doğrular eğer OC0 ve 0C1 ≠ 0 ise bariz olarak reddedilir. (yani “dışarıda” olan ortak bitleri varsa) Kırpma Dikdörtgeni

Cohen-Sutherland Algoritması (2B) Eğer olduğu gibi kabul ya da reddedilemiyorsa, böl ve yönet stratejisi uygulanır. Doğru parçası, iki parçaya ayrılır; daha sonra bir yada ikisi birden olduğu gibi ret/kabul edilir. Doğruyu kesmek için bir kırpma kenarı kullanılır. Üzerinden geçilen kenarları seçmek için outcode kullanılır. Verilen bir kırpma kenarı için, eğer bir doğrunun iki outcode değeri onun bitlerinden farklı ise doğrunun kenarın her iki tarafında da birer köşesi olacağından kenarın üzerinden geçer. Kontrol için sırasıyla üst, alt, sağ ve sol kenara bakılır. Kesişim noktası hesaplanır. Kırpma kenarı x ya da y’ de sabitlenir. Doğru denkleminde yerine yazılabilir. Kısaltılmış doğru için iterasyonlar yapılır. Kırpma Dikdörtgeni D C B A E F G H I

Cohen-Sutherland Algoritması (2B) OutCodeHesapla(x0,y0,outcode0); y = y0 + (y1 – y0) * (xmin – x0) / (x1 – x0); OutCodeHesapla(x1,y1,outcode1); x = xmin; tekrarla eğer (x0, y0 dıştaki nokta) ise olduğu gibi kabul/ret için kontrol et x0 = x; y0 = y; ComputeOutCode(x0, y0, outcode0) kırpma dikdörtgeninin dışındaki noktayı seç ya da eğer ÜST ise x1 = x; y1 = y; ComputeOutCode(x1, y1, outcode1) x = x0 + (x1 – x0) * (ymax – y0) / (y1 – y0); y = ymax; bitene kadar ya da eğer ALT ise x = x0 + (x1 – x0) * (ymin – y0) / (y1 – y0); y = ymin; ya da eğer SAĞ ise y = y0 + (y1 – y0) * (xmax – x0) / (x1 – x0); x = xmax; ya da eğer SOL ise

Cohen-Sutherland Algoritması (3B) Arka düzlem 000000 (önünde) 100000 (arkasında) Ön düzlem 010000 (önünde) 000000 (arkasında) Alt düzlem 000000 (üstünde) 000100 (altında) Sol düzlem 000001 (solunda) 000000 (sağında) Üst düzlem 001000 (üstünde) 000000 (altında) Sağ düzlem 000000 (solunda) 000010 (sağında) 2 boyuttakine çok benzer. Hacmi 27 alana böler. (Rubik küpü gibi) Outcode 6 bittir ve 6 sınır testini kaydeder. İlk bit: arka düzlemin arkasında İkinci bit: ön düzlemin önünde Üçüncü bit: üst düzlemin üzerinde Dördüncü bit: alt düzlemin altında Beşinci bit: sağ düzlemin sağında Altıncı bit: sol düzlemin solunda Yine OC0 = 0 ve 0C1 = 0 olan doğrular, olduğu gibi kabul edilir. Tamamen bir düzlemin dışındaki bir hacmin içinde yer alan doğrular eğer OC0 ve 0C1 ≠ 0 ise bariz olarak reddedilir. (yani “dışarıda” olan ortak bitleri varsa)

Avantaj ve Dezavantajları Eğer doğrudan kabul/ret ihtimali yüksekse çok hızlı bir algoritmadır. Bu durum kırpma dikdörtgeninin çok büyük veya küçük olduğu durumlarda mümkündür. Dezavantajları Bariz olmayan doğruları kırpmak vakit alabilir. Test etme ve kırpma sabit bir düzende olduğundan algoritma bazen gereksiz kırpma yapabilir.

Sutherland-Hodgman Algoritması Çokgen kırpmada, kırpma penceresi içerisinde kalan köşelerin bulunmasında kullanılır. Çokgenin her kenarı pencere sınırlarına karşı kontrol edilir. Geçişlere bağlı olarak köşeler değiştirilir. Yeni oluşan kenarlar kırpma sınırlarına aktarılır.

Sutherland-Hodgman Algoritması Kenar – sınır karşılaştırmasında 4 durum söz konusudur. V1 dışarıda, V2 içerideyse: V1’ ve V2 alınır. V2 dışarıda, V1 içerideyse: V1 ve V2’ alınır. V1 ve V2 içerideyse: V1 ve V2 alınır. V1 ve V2 dışarıdaysa hiçbiri alınmaz.

Sutherland-Hodgman Algoritması Çok sayıda özel durumda kırpma zorlaşmaktadır. Böl ve yönet stratejisi ile çözülebilmektedir. Basit ve aynı türden alt problemlerin çözümleri birleştirilerek kırpma yapılabilmektedir.

Böl, Yönet ve Birleştir Örneği

Diğer Çokgen Kırpma Algoritmaları Weiler – Atherton: Çokgenlerin, bir kırpma çokgeni ile kırpılmasını sağlar. Çokgenlerin kenarlarının kendileriyle kesişmemesi gerekir. Vatti: Rastgele çokgenlerin rastgele kırpma çokgenleri ile kırpılmasını sağlar. Karışık çokgenler ve içinde delikler olan çokgenlerde de kullanılabilir. Genelde 2B için geçerlidir.