Multiply adı üzerinde bildiğimiz çarpma işlemidir.
1. Skaler Multiply Skaler = Skaler
2 adet sayı birbiri ile çarpılır.
0.5 Multiply 3 = 1.5
2. Skaler Multiply Vektör yada Vektör Multiply Skaler = Vektör
1 skaler bir vektör ile çarpılır. Yer değiştirme önemli değildir. Skaler, vektörün her elemanı ile çarpılıp yeni bir vektör elde edilir.
0.5 Multiply (1.0, 3.0, 2.0) = (0.5x1.0, 0.5x3.0, 0.5x2.0) = (0.5, 1.5, 1.0)
3. Vektör Multiply Vektör = Vektör
2 vektörün bileşenleri birbiri ile çarpılır ve yeni bir vektör elde edilir.
(1.0, 5.0, 3.0) Multiply (1.0, 2.0, 3.0) = (1.0x1.0, 5.0x2.0, 3.0x3.0) = (1.0, 10.0, 9.0)
Vektörler bilgisayar grafiklerinde bir kaç yerde kullanılabilir.
- Pozisyon, açı ve ölçeklendirme bilgilerini tutmak ve bunlar arasındaki lineer ve geometrik işlemleri gerçekleştirmek için n boyutlu uzayda n boyutlu vektörler kullanılır. 3 boyutlu uzay için (X, Y, Z).
- Saydamlık bilgisi taşımayan renk, 3 boyutlu vektör(R, G, B); saydamlık bilgisi taşıyan renk ise 4 boyutlu vektör(R, G, B, A) ile ifade edilir.
Aslında 3. örnekteki gibi bir işlem lineer cebirde tanımlı bir işlem değildir. Bazı ihtiyaçlardan dolayı bilgisayar grafiklerinde kullanılır. Vektörler üzerinde tanımlı asıl çarpma işlemi başka ve 2 türlüdür.
1. Nokta Çarpım / Skaler Çarpım(Dot Product)
n boyutlu 2 vektörün elemanlarının karşılıklı çarpımlarının toplamını veren skaler bir değerdir.
a = (a1, a2, a3) ve b = (b1, b2, b3) olmak üzere;
a.b = a1b1 + a2b2 + a3b3 olarak tanımlanır.
Örnek:
Vektör . Vektör = Skaler
(1.0, 2.0, 3.0) Dot (1.0 0.5, 0.1) = 1.0x1.0 + 2.0x0.5 + 3.0x0.1 = 1 + 1 + 0.3 = 2.3
Bu işlem geometride
A . B = ||A|| ||B|| cos(θ) olarak tanımlıdır.
θ, bu iki vektör arasındaki açıdır. 0-90 derece arasında bir açının kosinüs değeri, açının değeri arttıkça azalır. Bu yüzden bilgisayar grafiklerinde kamera doğrultusu, ışık doğrultusu ve yüzey normali gibi vektörlerin birbirlerine göre açılarını hesaplamada kullanılır. Aşağıdaki örnekte UE4 üzerinde tanımlı
Fresnel materyal fonksiyonu gösterilmiştir. Bu fonksiyon kameranın(oyuncunun) bakış açısı ile materyale sahip nesnenin her yüzey parçasının normalinin
Dot Product işlemine tabi tutulmasıdır. Böylece dik bakılan yüzeylerin az, kenar yüzeylerin fazla parlaması benzetimi yapılmaktadır.
2. Çapraz Çarpım(Cross Product)
Sadece 3 boyutlu vektörler için anlamlıdır. 3 boyutlu uzayda herhangi 2 vektör 1 adet düzlemden geçer. Bu iki vektörün çapraz çarpımı ise bu yüzeyin normalini verir.
a = (a1, a2, a3) ve b = (b1, b2, b3) olmak üzere;
a x b = (a2b3-a3b2, a3b1-a1b3, a1b2-a2b1) olarak tanımlanır.
Örnek:
Vektör x Vektör = Vektör
a = (1.0, 0.0, 0.0) vektörü X ekseni üzerinde 1 birimlik vektör, b = (0.0, 1.0, 0.0) ise Y ekseni üzerinde 1 birimlik vektördür.
(1.0, 0.0, 0.0) x (0.0, 1.0, 0.0) = (0.0x0.0-0.0x1.0, 0.0x0.0-1.0x0.0, 1.0x1.0-0.0x0.0) = (0-0, 0-0, 1-0) = (0.0, 0.0, 1.0) yani Z ekseni üzerinde 1 birimlik vektörü verir.
Bu örneği RGB türünden renk vektörleri olarak düşünseydik kırmızı ile yeşilin çapraz çarpımının mavi olacağı gözükmektedir.
Texture Coordinate 2 boyutlu bir vektördür. Bir kaplama için başlangıç ofseti, tekrar çarpanı, ölçeklendirme, yüzeydeki 2 boyutlu pozisyon, gibi bilgiler tanımlamak için kullanılır ve T=(U,V) olarak gösterilir.