Işın Izleme

Kısaca: Işın izleme (İngilizce: Ray tracing), gerçek dünyada ışığın ne şekilde hareket ettiğini göz önünde bulundurarak bir sahnenin görüntüsünü çizen bir grafik oluşturma yöntemidir. Ancak bu yöntemde işlemler gerçek yeryüzündeki yolun tersini izler. ...devamı ☟

Işın izleme
Işın Izleme

Işın izleme (``İngilizce: Ray tracing``), gerçek dünyada ışığın ne şekilde hareket ettiğini göz önünde bulundurarak bir sahnenin görüntüsünü çizen bir grafik oluşturma yöntemidir. Ancak bu yöntemde işlemler gerçek dünyadaki yolun tersini izler. Gerçek dünyada ışık ışınları bir ışık kaynağından çıkar ve nesneleri aydınlatırlar. Işık, nesnelerden yansır ya da şeffaf nesnelerin içinden geçer. Yansıyan ışık gözümüze ya da kamera lensine çarpar. Yansıyan ışık ışınlarının çoğu bir gözlemciye erişmediği için bir sahnedeki ışınları izlemek sonsuza dek sürebilir.

Giriş

Günümüzde pek çok alanda bilgisayar kullanımı oldukça yaygınlaşmıştır. İlk zamanlarda sadece bazı hesaplamalar yapmak için kullanılan bilgisayarlar, kullanım alanları genişledikçe insan hayatında daha çok yer edinmiş, iletişim yetenekleri geliştikçe de insanla daha çok ortamı paylaşır hale gelmişlerdir. Bu bağlamda görüntünün güzel olması pek çok uygulama için gerekli olmakla beraber, güncel uygulamaların büyük kısmında gerçekçilik de büyük önem taşır. Örneğin oyunlar, özel animasyonlar ve sadece animasyonlardan oluşan filmler, bilgisayar dünyasında oldukça popülerdir. Görüntünün gerçekçi ve güzel olmasında ekran kartı (graphics adapter) kuşkusuz büyük önem taşır. Ekran kartları kendi işlemcisi ve belleği bulunan, grafik komutlarını direkt destekleyen donanımlardır. Görüntü üretiminde donanımın verdiği desteğe ek olarak, kaliteyi arttırma adına yapılan yazılım çalışmaları da bulunmaktadır. Bu çalışmalar arasında, uygulanılabilirliğinin yüksek olması ve fiziki gerçekliğe oldukça yakın olması nedeni ile Işın İzleme Yöntemi yaygın olarak kullanılmaktadır.

Işın izleme metodu, bilgisayar ortamında üç boyutlu, fotoğraf kalitesine çok yakın görüntü üretimi için kullanılan, oldukça basit ve gerçekçi bir yöntemdir. Üç boyutlu görüntü oluşturmak için kullanılabilen birçok alternatif yöntemin bulunmasına rağmen, ışın izleme metodunun tercih edilmesinin nedeni, metodun gerçek dünyada ``ışığın çevreyle olan etkileşimini modelleme``ye çalışmasıdır.

Elbette hiçbir algoritma mükemmel değildir. Işın izleme metodunun gerçekleştirilmesi basit olmasına rağmen, gerektirdiği ``işlemci gücü ve bellek kullanımı`` önemli bir problem oluşturmaktadır. Görüntü oluşturma süresini kısaltmak için daha hızlı işlemcilerin kullanılması tek başına yeterli değildir. Bunun bir sebebi, yöntemin ``özyinelemeli`` bir yapıya sahip olması ve sahnedeki cisimlerin tüm özellik bilgilerinin saklanması için gerekli olan bellek ihtiyacıdır. Diğer bir sebep de bellekte saklanan verilerin yoğun bir şekilde işlemciye taşınma gereksiniminden kaynaklanan ``veri yolu trafiği``nin fazla olmasıdır. Bu sebeple işlemci hızının, veri yolu bant genişliğinin ve bellek boyutunun birlikte arttırılması işlemi hızlandırabilir. Ayrıca algoritmanın ``paralel sistemler``e uygulanması da hızın artmasını sağlayabilir.

Phong aydınlatma modeline göre herhangi bir pikselin renk değeri belirlenirken üç bileşen kullanılır. Bunlar ortam (ambient), yaygın (diffuse) ve aynasal (specular) bileşenlerdir. Bu üç bileşen, toplamları 1`e eşit olan üç katsayı ile çarpılıp toplanarak, ilgili pikselin renk değeri hesaplanır. Klasik ışın izleme yöntemi, ambient değerini gerçekçi olarak modelleyememektedir. Örneğin tavanında bir lambanın bulunduğu bir odanın simülasyonu yapılmak istendiğinde, odanın tavanı neredeyse tamamen karanlık kalmaktadır.

Ayrıca aynı odada bir masa olduğunu farz edersek, masanın altının da tamamen siyah olduğu görülür. Gerçek dünyada bazı yüzeylerin tamamen karanlık olmamasına rağmen, ışın izlemenin sonucunda tamamen karanlık olmasının nedeni, ışık kaynağından çıkan ışınlar tarafından doğrudan aydınlatılmayan yüzeylerin gerçekte aydınlık olmasıdır. Yani sahnede aydınlık görünmesine rağmen, ışık kaynağından çıkan ışınların direkt olarak çarpmadıkları yüzeyler bulunmaktadır. Bu yüzeyler kırılmalar veya yansımalar neticesinde aydınlanmaktadır. Bu işleme Dolaylı aydınlatma (Indirect Illumination) denir. Doğrudan aydınlatılmayan bu yüzeylerin renk değerlerinin hesaplanması, ``derinliği önceden belirlenmiş özyinelemeli bir algoritma``yı gerekli kılar. Aksi taktirde görüntünün tamamen gerçekçi olması beklenemez. Elbette ki bu algoritmanın koşması, görüntünün daha da geç hesaplanmasına neden olacaktır. Bu nedenle algoritmanın optimum olması çok önemlidir.

Işın İzleme Yöntemi

Işın İzleme Yöntemine Giriş



Işın izleme yöntemi, ışık kaynağından çıkan ışınların fiziksel davranışlarını modellemek üzere kurulmuştur. Gerçek dünyadaki cisimleri görebilmemiz için ışık kaynağından çıkan ışınların, cisimlere çarparak yansıması ya da cisimlerin içinden geçerek kırılması ve sonuçta da gözümüze ulaşması gerekir. Bilgisayar ortamında ise, gerçekçi 3B görüntüler üretebilmek için boyama ve görünmeyen yüzeylerin kaldırılması işlemleri gerçekleştirilmelidir.

Boyama, 3B nesnelerin herhangi bir noktasındaki renk değerinin belirlenmesine denir. Bu renk belirleme işlemi ışıklandırma, gölgelendirme, geçirgenlik, yansıma ve kırılmaya bağlı olarak belirlenir.

Görünmeyen yüzeylerin kaldırılması ise, gözlemci tarafından 3B nesnelere bakıldığında, manzaradaki cisimleri oluşturan yüzeylerden görünmeyenlerin kaldırılması, dolayısı ile görünenlerin belirlenmesi işlemine verilen addır.

Işın izleme yöntemi hem görünmeyen yüzeylerin kaldırılması, hem de renk değerlerinin belirlenmesine ilişkin çözümler sunar.

İleri Yönlü Işın İzleme (Forward Ray Tracing) Yöntemi

Işık kaynağından doğrusal olarak saçılan ışınların cisimlerden yansıması ya da kırılması sonucu göze ulaştığı kabul edilerek yapılan modellemeye İleri Yönde Işın İzleme (Forward Ray Tracing) yöntemi denir. Gerçek dünyadaki görme, bu modele uygun olarak gerçekleşmektedir.

Gerçek dünyada ışık kaynağından saçılan milyarlarca fotonun çok az bir kısmı göze ulaşır. Bu model bilgisayar ortamında gerçeklenirken, göze ulaşamayan fotonlar için çok sayıda gereksiz hesaplama yapılacaktır. Bu nedenle ileri yönde ışın izleme yönteminin bilgisayar ortamında gerçeklenmesi oldukça zordur.

Geri Yönlü Işın İzleme (Backward Ray Tracing) Yöntemi

Göze ulaşmayan ışınların sisteme getireceği yükten kurtulmak için, sadece göze ulaşan ışınlar için hesaplama yapılması istenir. Bu nedenle ışın izleme yönteminin bilgisayar ortamında gerçeklenmesi için Geri Yönde Işın İzleme (Backward Ray Tracing) modeli kullanılır. Bu modelde ileri yönde ışın izleme yönteminin tersine, ışınların gözden çıkarak cisimlere çarpıp yansıması ya da kırılması sonucu ışık kaynağına ulaştığı kabul edilir. Bu yaklaşım sayesinde ileri yönde ışın izleme yöntemindeki gibi ışık kaynağından çıkan tüm ışınlar için değil, sadece göze ulaşabilen ışınlar için hesaplama yapılmış olur.

Geri yönde ışın izleme yönteminde, gözlemcinin belli bir noktadan, görüntü düzlemine dik olarak baktığı varsayılır. Bakış noktasından çıkıp görüntü düzleminden geçen ışınlar, cisimlere çarptıktan sonra kırılarak veya yansıyarak ışık kaynağına ulaşıyorsa, ilgili pikselin rengi ışık kaynağının konumuna, cisimlerin rengine, yansıtma ve geçirgenlik özelliklerine göre belirlenir.

Eğer tüm yansımalar ve kırılmalar sonucunda, gönderilen ışın ışık kaynağına ulaşmazsa, ilgili piksel siyaha boyanır. Burada yapılan yansıma ve kırılma işlemleri için bir derinlik değeri belirtilmelidir. Aksi taktirde işlemler çok uzun zaman alabilir.

Işının Tanımı

Işının matematiksel olarak ne ifade ettiğini belirtmek faydalı olacaktır. Işın, başlangıç noktası ve doğrultusu olan vektörel bir büyüklüktür. Başlangıç noktası R0 olan, Rd doğrultusu boyunca ilerleyen R vektörü aşağıdaki gibi tanımlanabilir:

``R = R0 + t Rd , t > 0 (2.1)

Burada t, Rd doğrultusu boyunca giden R ışınının R0 başlangıç noktasına uzaklığıdır. t değerinin R0 ile Rd arasındaki uzaklığa tam olarak eşit olması için Rd`nin boyu 1 olmalı, yani Rd normalize edilmelidir.

Birincil Işınların Üretilmesi

Bakış noktasından yollanan ve görüntü düzlemindeki her pikselin merkezinden geçen ışınlara, Birincil Işınlar (Primary Rays) denir. Işın izleme yönteminin ilk adımı birincil ışınların oluşturulmasıdır.

Birincil ışınlar cisimlere çarpıp yansıyarak ya da kırılarak ışık kaynağına ulaşırsa görüntü düzlemindeki ilgili pikselin rengi, bu birincil ışının çarpıp yansıdığı ya da kırıldığı cisimlerin fiziksel özelliklerine göre belirlenecektir.

Birincil ışınların üretilebilmesi için, ilk olarak doğrultunun hesaplanması gerekir. Bunun için 2.1 ifadesi yeniden düzenlenir :

Rd = (R0 - R) / t (2.2)

Anlaşılacağı gibi, birincil ışının doğrultusunun hesaplanması için iki noktaya ve bir uzaklık bilgisine ihtiyaç vardır. İki noktadan birincisi genellikle R0 = 0 0 0 olarak seçilen bakış noktasıdır. İkinci nokta ise, renk değeri hesaplanmak istenen pikselin koordinatlarıdır. t değeri hipotenüs teoreminden hesaplanabileceği gibi iki nokta arası uzaklık formülünden de bulunabilir. Ancak biz t değerini, kesişim testi neticesinde bulacağız.

Bununla beraber, Rd`nin normalize edilmiş halini bulmak için X, Y ve Z koordinatlarını ayrı ayrı t`ye bölmek yeterlidir. Rd`nin bulunması ile birincil ışın üretimi bitmiş olur. Böylece başlangıç noktası ve doğrultusu bilinen bir vektör elde edilmiştir. Bu birincil ışın ile manzaradaki bir yüzeyin kesişip kesişmediğini tespit etmek için, başlangıç noktası R0`ın ve doğrultu vektörü olan Rd`nin bilinmesi yeterlidir.

Kesişim testlerinde, ışın ile yüzeyin kesişimi araştırılır. Eğer kesişim varsa 0`dan büyük bir t değeri geri döndürülür. Aksi taktirde t değeri 0 olur. Hesaplanan bu t değeri sayesinde yüzey üzerindeki kesişim noktasının koordinatları belirlenir. Eğer ışın bu kesişim noktasından kırılarak veya yansıyarak yoluna devam edecekse, kesişim noktası yeni başlangıç noktası yani R0 olur. Yansıma veya kırılma doğrultusu belirlenerek yeniden kesişim testleri yapılır. Bu ışınlara İkincil Işın (Secondary Rays) denir. İkincil ışınlar istenen derinlik değerindeki bir özyinelemeli bir algoritma ile ışık kaynağına ulaşıncaya kadar yeniden hesaplanır.

Gerçek Piksel Koordinatlarının Hesaplanması

Görüntü düzleminin her bir pikseline karşılık, manzarada birden çok piksel karşılık düşer. Örneğin 10 x 10 boyutunda ve bakış noktasından z doğrultusunda 5 birim uzakta bir görüntü düzleminin bulunduğunu varsayalım. Eğer manzaramızın çözünürlüğü 1024 x 768 olarak seçilirse, 10 x 10 birimlik görüntü düzleminin herhangi bir (X , Y , 5) noktasından geçen ışının gerçek piksel koordinatları :

(10 * X / 1024 - X0 , Y0 - 10 * Y / 768 , 5) olur. (2.3)

Bu ifadedeki (X0 , Y0 , 5) noktası , 10 x 10 birimlik görüntü düzleminin en üst sol köşesinin koordinatlarıdır.

Görünmeyen Yüzeylerin Kaldırılması



Görünmeyen yüzeylerin kaldırılmasının, gözlemci tarafından 3B nesnelere bakıldığında, manzaradaki cisimleri oluşturan yüzeylerden görünmeyenlerin kaldırılması, dolayısı ile görünenlerin belirlenmesi işlemine verilen ad olduğunu belirtmiştik.

Görünmeyen yüzeylerin kaldırılmasında kullanılan başlıca yöntemler Derinlik Tamponu (Z-Buffer) ve Işın İzleme (Ray Tracing) `dir.

Derinlik tamponu yönteminde üç boyutlu cisimlerin iki boyutlu görüntü düzlemine izdüşümü alınırken, ilgili pikselin renk değerinin yanı sıra cisimle kesişim noktasının Z değeri de saklanır. Aynı piksel için yeni bir cisim kesişimi algılandığında Z değerleri karşılaştırılır. Yeni Z değeri eskisinden küçükse bu pikselin rengi yeni cismin rengi ile değiştirilir ve Z değeri yenisiyle güncellenir.

Işın izleme yöntemi ile görünmeyen yüzeyler kaldırılırken, bakış noktasına göre aynı doğrultuda bulunan yüzeylerden, t uzaklığı en küçük olanı seçilmelidir. İlgili pikselin renk değeri hesaplanırken, seçilen bu yüzey esas alınır, diğerleri göz ardı edilir.

Dikkat edilirse, Z Buffer yöntemi ve benzeri tüm diğer yöntemlerde kullanılan poligon türü üçgen olmasına rağmen, ışın izlemede işlemler yönteminde piksel mertebesinde gerçekleştirilir. Bu sayede eğrisel yüzeylerde bile iyi sonuçlar elde edilir. Diğer yöntemlerde bu derece gerçekçi sonuçlar elde etmek için poligonların son derece küçük seçilerek bir piksel boyutuna indirilmesi gerekir ki oldukça zor, hatta imkansız denilebilir.

Arka Yüzeylerin Kaldırılması (Backface Culling)

Görünmeyen yüzeylerle ilgili diğer bir konu da arka yüzeylerin kaldırılmasıdır. Arka yüzeyler, bakış noktasından bakıldığında asla görülemeyecek olan yüzeylerdir. Örneğin dik olarak bakılan bir küpün arka yüzeyi asla görülemez. Bu yüzeylerin kaldırılması ışın izleme yönteminin hızlanmasını sağlar. Bununla birlikte arka yüzeylerin kaldırılması ışın izleme yöntemi ile çok kolay gerçekleştirilebilir.

===Işın - Nesne Kesişim Testleri Işın izleme yönteminin en temel özelliği, bakış noktasından gönderilen ışınların cisimlerle kesişip kesişmediğini anlamak üzere yapılan kesişim testleridir. Bu testlerde, kesişimi araştırılacak cismin matematiksel denklemi ile ışının başlangıç noktası ve doğrultusunun koordinatları kullanılır. Sonuçta, varsa, kesişim noktası ve bu nokta ile bakış noktası arasındaki t uzaklığı hesaplanır. Aynı doğrultuda birden fazla kesişim noktası bulunabilir. Bu durumda en küçük t değeri esas alınır. Böylece görünmeyen yüzeyler kaldırılmış olur.

Bu kısımda ışın izleme yönteminde kullanılacak temel matematiksel işlemler için gerekli vektörel ifadeler ve işlemler anlatılacaktır.

Işın İzlemede Kullanılan Temel Matematiksel İfadeler



Üç Boyutlu Uzayda Noktanın Tanımı
Üç boyutlu uzayda bir P noktası, kendine ait X, Y, Z koordinatları ile aşağıdaki gibi ifade edilebilir:

P = x y z (2.4)

Skaler Çarpım


İki vektörün skaler çarpım değeri karşılıklı olarak x, y ve z değerlerinin çarpımlarının toplamına eşittir. Skaler çarpımı * sembolü ile temsil edilirse V1 ve V2 vektörlerinin skaler çarpımı aşağıdaki gibi hesaplanır:

V1 * V2 = (V1X * V2X) + (V1Y * V2Y) + (V1Z * V2Z) (2.5)

V1 ve V2 vektörlerinin boyunun 1 birim olduğu, yani her iki vektörün de normalize olduğu durumda, bu iki vektörün skaler çarpımı iki vektörün arasındaki açının kosinüs değerini verir. İki vektör arasındaki açının kosinüsü difüz aydınlatmada kullanılır.

Vektörel Çarpım
Vektörel çarpım işlemini x sembolüyle temsil edersek V1 ve V2 vektörlerinin vektörel çarpımı aşağıdaki gibi hesaplanır: V1 x V2 = V1Y* V2Z - V1Z* V2Y V1Z* V2X - V1X* V2Z V1X* V2Y - V1Y* V2X (2.6)

Vektörel çarpım, ışın izleme yönteminde üçgenlerin normalini bulmak için kullanılır. Yansıyan veya kırılan ışınların yeni doğrultularının hesaplanması için yüzeye dik olan vektörün, yani yüzey normalinin, bilinmesi gerekir.

Difüz ve speküler aydınlatma yapılırken de yüzey normali kullanılır. Ayrıca arka yüzey kaldırmada da hangi yüzün arka yüzey olduğunu belirlerlerken yüzey normali esas alınır. Bakış noktası ile arasında 90°`den daha büyük açı bulunan yüzeyler, arka yüzey kabul edilir.

Tüm bu işlemlerde kullanılacak olan yüzey normalinin birim vektör olması, yeni normalize olması, gerekir.

Barisentrik Koordinatlar
Üçgenin bir köşesinden başlanıp, kenarları belli katsayılarla çarparak başlangıçta alınan köşeye eklenirse, üçgen içinde istenen bir noktaya ulaşmak mümkündür. Kenarların çarpıldığı katsayılara Barisentrik Koordinatlar denir. Üçgen içindeki herhangi bir noktanın barisentrik koordinatlar cinsinden gösterimi aşağıdaki gibidir :

t (u , v) = V0 + u (V1 - V0) + v (V2 - V0) (2.7)

Bu ifadedeki u ve v değerleri barisentrik koordinatlardır ve aşağıdaki şartları sağlamalıdır:

u a‰¥ 0 ve v a‰¥ 0 için u + v a‰¤ 1

Barisentrik koordinatlar bu çalışmada hızlı kesişim testleri gerçekleştirilirken kullanılmıştır. Tomas - Möller kesişim testinde Barisentrik koordinatlardan faydalanılarak daha kısa sürede kesişim testi yapılabilmektedir.

Işın - Yüzey Kesişim Testi

Orijine olan uzaklığı D olan, Pn = A B C normaline sahip olan P yüzeyini denklemi aşağıdaki gibidir :

Ax + By + Cz + D = 0 (2.8)

Köşe koordinatları Vi (X , Y , Z) olan üçgenin oturduğu yüzeyin denklemi aşağıdaki gibi hesaplanabilir :

A * Vo,x + B * Vo,y + C * Vo,z + D = 0 (2.9)

2.9 ifadesinden D değeri bulunur. Eğer P yüzeyi ile R ışını kesişiyorsa, R`nin o noktaya karşılık gelen t değeri için yüzey denklemi sağlanmalıdır.

A * (X0 + tXd) + B * (Y0 + tYd) + C * (Z0 + tZd) + D = 0 (2.10)

2.10 ifadesi t`ye göre yeniden düzenlenirse, başlangıç noktası ile yüzey arasındaki uzaklık belirlenmiş olur :

t = - (A * X0 + B * Y0 + C * Z0) / (A * Xd + B * Yd + C * Zd) (2.11)

Eğer t < 0 ise kesişim yoktur. Eğer t > 0 ise kesişim vardır ve kesişim noktası I aşağıdaki gibi hesaplanabilir :

I (X , Y , Z) = (X0 + tXd , Y0 + tYd , Z0 + tZd) (2.12)

Işın-Üçgen Kesişim Testleri

3B nesneler genellikle üçgenlerden oluşacak şekilde modellenir. Bu sebeple kesişim testi algoritmalarının çoğu üçgenler üzerine yoğunlaşmıştır.

Alan Hesabı İle Işın - Üçgen Kesişim Testi
Bu yöntem, ışın - üçgen kesişim testleri arasından en basit olanıdır. Öncelikle ışın - yüzey kesişim testi yapılmalıdır. Daha sonra ışın ve yüzeyi oluşturan üçgenin köşe noktaları görüntü düzlemine perspektif olarak izdüşürülür. Kesişim noktası ile üçgenin ikişer noktası sıra ile alınarak üç tane alt üçgen elde edilir. Bu üçgenlerin alanları hesaplanarak toplanır. Elde edilen toplam alan, kesişim testi yapılan üçgenin alanına bir ε kadar yakınsa ışın üçgenin içindedir yani ışın ile üçgen kesişmektedir denir.

Açı Hesabı ile Işın -Üçgen Kesişim Testi
Işın düzlem kesişim testinden elde edilen kesişim noktasının üçgenin içerisinde olup olmadığının kontrolü için kullanılan diğer bir yöntem de açı testidir. Yine ilk olarak ışın - yüzey kesişim testi yapılmalıdır. Daha sonra ışın ve yüzeyi oluşturan üçgenini köşe noktaları görüntü düzlemine perspektif olarak izdüşürülür. Kesişim noktası ile üçgenin ikişer noktası sıra ile alınarak üç tane üçgen elde edilir. Bu üçgenlerin I noktasını merkez nokta kabul eden açıları hesaplanarak toplanır. Elde edilen toplam açı 360° ise ışın üçgenin içindedir yani ışın ile üçgen kesişmektedir denir.

Tomas Möller Işın - Üçgen Kesişim Testi
Yukarıda anlatılan tekniklerin her ikisi de kesişim testi yapmadan önce ışın - yüzey kesişim testi yapılmakta, daha sonra perspektif izdüşümü yapılmaktadır. Böylece problem 3B`dan 2B`a indirgenmekte ve test esnasında 2B noktanın 2B üçgenin içinde olup olmadığı araştırılmaktadır. Ancak tüm bu işlemler için öncelikle yüzey denkleminin belirlenmesi, dolayısı ile normalin hesaplanması gerekmektedir. Elbette ki kesişim testine geçilmeden önce yapılan bu işlemler algoritmanın yavaş çalışmasına neden olmaktadır. Bunun yerine kullanılan Tomas - Möller kesişim testinde yüzey normalinin hesaplanması gerekmemektedir.

Kesişim Testi Algoritması
Başlangıç noktası R0 olan ve Rd doğrultusu boyunca ilerleyen R vektörünü aşağıdaki gibi tanımlamıştık

R = R0 + t Rd , t > 0 (2.1)

Kesişim testi yapılacak olan üçgenin köşeleri Vi ise, üçgen üzerindeki herhangi bir t (u , v) noktasının barisentrik koordinatlarını aşağıdaki gibi ifade etmiştik:

t (u , v) = V0 + u (V1 - V0) + v (V2 - V0) (2.7)

R ışını, verilen üçgeni bir t (u , v) noktasında kesiyorsa, aşağıdaki ifade sağlanmalıdır :

R0 + t Rd = V0 + u (V1 - V0) + v (V2 - V0) (2.13)

2.13 ifadesi düzenlenirse, u, v ve t`ye bağlı bir lineer denklem sistemi elde edilir. Bu sistemin çözülmesi halinde u, v ve t bulunur. Görüldüğü gibi bu yöntemde yüzey normali ve perspektif izdüşüme gerek yoktur.

Algoritmanın Uygulanması
Tomas - Möller yöntemine ilişkin yalancı dil kodu (pseudocode) aşağıda verilmiştir:

IşınÜçgenKesişimi (o , d, vo , v1 , v2)
  1. e1 = v1 - v2
  2. e2 = v2 - v0
  3. p = d x e2
  4. α = e1 * p
  5. if (α > -ε and α < ε) return (REJECT , 0 , 0 , 0);
  6. f = 1 / α
  7. s = o - vo
  8. u = f (s * p)
  9. if (u < 0.0 or u > 1.0) return (REJECT , 0 , 0 , 0);
  10. q = s x e1
  11. v = f (d * q)
  12. if (v < 0.0 or u + v > 1.0) return (REJECT , 0 , 0 , 0);
  13. t = f (e2 * q)
  14. return (INTERSECT , u , v , t);


Gölgeler

Bir yüzeye ışığın gelmesini engelleyen başka bir yüzey varsa, ışığın ulaşamadığı yüzey gölgede kalmış olur. Gölge testi için, kesişim noktasından ışık kaynağına yollanan ışınlar ile diğer nesnelerin kesişimleri araştırılır. Eğer kesişim tespit edilirse yüzey gölgelenir.

Gölgelemenin gerçekleşmesi için, test için gönderilen ışından elde edilen kesişim noktası ile testi yapılan yüzey arasındaki uzaklığın, yüzeyin ışık kaynağına olan uzaklığından daha küçük olması gerekir.

Aynasal Yansıma

Diğer yöntemlerde çok zor tanımlanmasına rağmen, ışın izleme yönteminde yansıyan ve kırılan ışınlar mükemmel şekilde modellenebilir. Böylece son derece gerçekçi görüntüler elde edilebilir.

Eğer bir yüzeyin yansıtıcılık özelliği varsa, bu yüzeye çarparak yansıyan ışın diğer bir yüzeye çarptığında, bu yüzeyin rengi yansıtıcılık özelliği bulunan yüzey üzerinde görülür. Elbette bu işlem için de derinliği belirlenmiş özyinelemeli bir algoritma koşulmalıdır.

Yansıma değerinin belirlenmesi oldukça kolay bir işlemdir. Gerekli olan bir nokta ve bir doğrultudur. Nokta, ışın ile yansıtıcı yüzeyin kesişim noktasıdır ki artık yeni bir başlangıç noktası olmuştur. Bu noktadan yansıyacak olan ışının doğrultusu , gelen ışının doğrultusuna ve normale bağlıdır. Zira gelen ışın ile normal arasındaki açı, yansıyan ışın ile normal arasındaki açıya eşit olmalıdır. N ilgili yüzeyin normali, I gelen ışının olmak üzere Rref yansıma doğrultusu aşağıdaki gibi hesaplanır :

Rref = I - 2 (I * N) * N (2.14)


POV-Ray gibi ışın izleme programları ise simüle edilen bir kamera ile başlarlar ve ışık ışınlarını sahneye yollarlar. Kullanıcı kameranın, ışık kaynaklarının, nesnelerin yerini ve bunların yüzey özelliklerini belirler, eğer isterse sahneye sis, duman, ateş gibi atmosferik etkiler de ekleyebilir.

Sonuç görüntüdeki her piksel için bir ya da daha çok ışın kameradan sahneye yöneltilir ve sahnedeki bir nesne ile kesişip kesişmediğine bakılır. Kameradan çıkan bu ışının bir nesneyi kestiği her noktadaki yüzey rengi hesaplanır. Bunun için ışınlar sahnedeki her ışık kaynağına da yönlendirilir ve böylece kaynaklardan gelen ışık miktarı da hesaplanır. Benzer şekilde her yüzey noktasının gölgede kalıp kalmadığı hesaplanır. Yüzeyin şeffaf olup olmamasına göre de ne kadar ışığı geçirdiği ve ne kadar ışık kırılmasına yol açtığı da hesaplanarak nihai renk belirlenir.

İç bağlantılar



Linkler



Işın izleme yazılımları



Kaynaklar

Vikipedi

เว็บ สล็อต - 2 yıl önce
เว็บ สล็อต  Apply for online gambling websites, casinos, online slots, the best websites in the world of gambling. No minimum deposit, real money, real rich.

Mabel Elle - 7 ay önce
ทุกวันนี้ผมมีความสุขมาก ๆ เพราะผมมีมือถือสมาร์ทโฟนที่สามารถใช้เล่นเกมสล็อตออนไลน์ได้ที่แค่ผมกดที่ slot888 ผมก็สามารถเล่นเกมสล็อตออนไลน์ได้เลยทันที และนอกจากนี้เกมสล็อตออนไลน์ยังเป็นเกมที่ให้ความสนุกสนานและความเพลิดเพลินกับผมอย่างเต็มที่อีกด้วย ไม่ว่าจะเข้าไปเล่นกี่รอบก็ยังประทับใจอยู่ตลอด และเกมสล็อตออนไลน์ยังทำให้ผมได้ลุ้นรับเงินรางวัลพิเศษอีกมากมายด้วยทำให้ผมมีความสุขมากที่สุด และความสุขของผมอีกหนึ่งอย่างก็คือการได้อยู่กับครอบครัวอันเป็นที่รัก เท่านี้ชีวิตของผมก็มีความสุขมาก ๆ ในทุก ๆ วัน

Thirthanas - 7 ay önce
ทำเงินรัว ๆ ไม่อั้น ไปกับเว็บเกมบาคาร่าอันดับ 1 ได้ที่ [bcr99thThailand](https://bcr99th.co/) เปิดให้บริการตลอด 24 ชั่วโมง สมัครสมาชิกวันนี้รับทุนเล่นบาคาร่าฟรีทัน และลงเดิมพันได้อย่างต่อเนื่อง ระบบเกมลื่นไหล ไม่มีสะดุด ลงทุนเริ่มต้นเพียงแค่ 1 บาทเท่านั้น เล่นง่าย ได้รางวัลเร็ว และชนะเท่าไหร่พร้อมจ่ายไม่อั้น ฝากถอนโอนไว ทำรายการรวดเร็วทันใจ ด้วยแอพพลิเคชั่นทรูมันนี่วอลเล็ต และการันตีถอนเงินได้จริงแน่นอน

OKBet - 7 ay önce
A very awesome blog post. We are really grateful for your blog post. You will find a lot of approaches after visiting your post. OKBet

<a href="https://tuvn5688.com/">TUVN</a> - 5 ay önce
TUVN ヴィグディス・フィンボガドゥテ [url=https://tu168168.com/]TUVN[/url]

<a href="https://tuvn5688.com/">TUVN</a> - 5 ay önce
TUVN これを受けて [url=https://tu168168.com/]TUVN[/url]

OKBet - 5 ay önce
ExceExcellent to the point article and news.. Well appreciated, My sites: OKBet app

TUVN - 5 ay önce
TUVN いでいると話す。すべての TUVN

TUVN - 5 ay önce
TUVN TU娛樂城 TUVN 一方で、ペンス氏の

TU - 5 ay önce
TUVN TU娛樂城 ダゲスタンのセルゲイ・メリコフ首

pg slot - 5 ay önce
ipro 191 เป็นยอดเยี่ยมเว็บไซต์พนันคาสิโนออนไลน์ ฝาก-ถอน อัตโนมัติเพียงแต่ 30 วินาที แค่นั้น pg slot ซึ่งถือได้ว่าเว็บไซต์พนันคาสิโนที่เหมาะสมที่สุดในทวีปเอเชีย ด้วยประสบการณ์มาก

TU - 5 ay önce

TUVN - 5 ay önce
TUVN 百家樂 の製油所で火災が発生した。

sagame6699 - 5 ay önce
ปัจจุบันต้องยอมรับว่าโลกของ เรียกว่าโลกของระบบออนไลน์ sagame6699 เล่นง่าย น่าเชื่อถือ

evoplay สล็อตแตกง่าย - 5 ay önce
เพราะแทบทุกอย่างมีให้บริการบนโลกออนไลน์ evoplay สล็อตแตกง่าย ระบบที่มีความเสถียร สนุกจุใจทั้งวันทั้งคืน

slotpgทางเข้า - 5 ay önce
เพื่อตอบโจทย์ความอำนวยสะดวกของคนทุกประเภทที่เล่น slotpgทางเข้า ระบบออกแบบให้เข้าใจง่ายเพื่อรองรับผู้เล่นทุกรูปแบบที่หลากหลาย

เว็บสล็อตเว็บตรง - 5 ay önce
รวมถึงเว็บเดิมพันที่เปิดบริการให้เล่นอย่างหลากหลาย เว็บสล็อตเว็บตรง

pgslotทางเข้า - 5 ay önce
แต่เรามีเว็บ pgslotทางเข้า สำหรับผู้ที่ชื่นชอบในการเดิมพัน ที่เล่นง่ายมั่นคงปลอดภัย

pragmaticplay - 5 ay önce
และเป็นที่ยอมรับอย่างสูง เพราะเล่นง่าย น่าเชื่อถือ pragmaticplay สามารถได้ตลอดการเดิมพัน ทั้งยังเปิดบริการให้เข้าเล่นได้ 24 ชั่วโมง

hihuay.com หวยออนไลน์ - 5 ay önce
ทั้งผู้ที่ชื่นชอบการแทงเลข hihuay.com หวยออนไลน์ เช่นหวยรัฐบาล หวยหุ้น หรือหวยยี่กี

Görüş/mesaj gerekli.
Markdown kullanılabilir.

POV-Ray
2 yıl önce

Vision Raytracer, Türkçe: Işın Görme Sürerliği İzleyici), çoğu işletim sisteminde çalışan açık kaynak kodlu ve özgür bir ışın izleme programı. David Kirk Buck...

POV-Ray, Işın izleme, Ray tracing, Vim
Phong yansıma modeli
4 yıl önce

ampirik bir modeldir. Işın izleme ya da ışıma gibi yansıma modellerinden farklı olarak Phong modeli sadece ışık kaynağından çıkan ışınları gözönüne alır, diğer...

Phong yansıma modeli, Aynasal aydınlatma, Göz, Işın, Ortam aydınlatma, Yaygın aydınlatma
Optik
2 yıl önce

kırılma kullanarak polarize ışık ışınları elde etmek mümkündür. Kırılan ve yansıyan ışın dik açıyla gelirse yansıyan ışın "düzlemsel (lineer) polarizasyon"...

Optik, Fizik, Kırınım, Snell Yasası, Uzay, Geometrik optik
Uzaktan algılama
2 yıl önce

Önleme Ormansızlaşma ve Çölleşme İzleme ve Araştırmaları Kereste Üretimi Tahmini ve Planlaması Orman Yangını İzleme Orman Yönetimi Nem miktarı Tür çeşitliliğinin...

Uzaktan algılama, 1946, 1955, 1957, 1959, 1972, 1978, 1982, 1985, ABD, Baraj
Trityum
2 yıl önce

kullanılmaktadır.[kaynak belirtilmeli] Trityum ve bileşikleri etiketleme ve izleme deneylerinde kullanılır. Mesela biyokimya çalışmalarında, trityumla etiketlenmiş...

Trityum, Atmosfer, Biyokimya, Buharlaşma ısısı, Helyum, Hidrojen, Lityum, Nötron, Polimer, Proton, Radyoaktif
Nükleer Tıp
2 yıl önce

Nükleer tıp, canlılara verilen ışın etkin (radyoaktif) maddelerin yaydıkları ışınların özel yöntemler veya aygıtlarla dışarıdan sayımı (parıltı sayımı)...

Nükleer tıp, Nükleer tıp
Obi-Wan Kenobi
2 yıl önce

yaşlı Jedi’a ışın kılıcıyla öldürücü darbeyi indirirken, Kenobi Güç’le bir olur. Geride hiçbir şey bırakmaz, sadece boş cübbesi ve ışın kılıcı kalmıştır...

Obi-Wan Kenobi, Anakin Skywalker, Asi Birliği, Darth Vader, Erkek, Galaktik Cumhuriyet, General, Güç, Jedi, Luke Skywalker, Padawan
Enes Batur Gerçek Kahraman
2 yıl önce

(Enes Batur) Ömer Başdoğan (Ömer) Altan Erkekli (Master) Damla Aslanalp (Işın) Kanbolat Görkem Arslan (Tan Veyder) Ebru Ojen Şahin (Ceyda) Selin Deveci...