Noktaların Transformasyonu
Noktaların Transformasyonu
Section titled “Noktaların Transformasyonu”Bilgisayar grafiklerinde, noktaların ve düz çizgilerin dönüşümleri temel bir konudur. Bu derste 2D transformasyonları ve homojen koordinat sistemini öğreneceğiz.
2D vs 3D Transformasyon Matrisleri
Section titled “2D vs 3D Transformasyon Matrisleri”Bilgisayar grafiğinde 3 boyutlu transformasyon aslında öteleme (translation) işlemini de kapsayabilmek için kullanılır.
2D Transformasyon Matrisi (2x2)
Section titled “2D Transformasyon Matrisi (2x2)”Klasik 2x2 matris ile sadece döndürme, ölçekleme ve yansıma yapılabilir:
Sınırlama: Öteleme (translation) yapılamaz! ❌
3D Homojen Koordinat Matrisi (3x3)
Section titled “3D Homojen Koordinat Matrisi (3x3)”Homojen koordinatlarda 3x3 matris kullanarak tüm transformasyonlar tek bir matris ile yapılabilir:
Burada:
- a, b, c, d: Döndürme, ölçekleme, yansıma parametreleri
- e, f: Öteleme (translation) parametreleri (x ve y yönünde)
- Son satır [0 0 1]: Homojen koordinat sabitleyici
Transformasyon Karşılaştırması
Section titled “Transformasyon Karşılaştırması”| Özellik | 2x2 Matris | 3x3 Homojen Matris |
|---|---|---|
| Döndürme | ✅ Yapılabilir | ✅ Yapılabilir |
| Ölçekleme | ✅ Yapılabilir | ✅ Yapılabilir |
| Yansıma | ✅ Yapılabilir | ✅ Yapılabilir |
| Öteleme | ❌ Yapılamaz | ✅ Yapılabilir |
| Birleştirme | Sınırlı | ✅ Tam destek |
Temel Kavramlar
Section titled “Temel Kavramlar”2D uzayda bir nokta P(x, y) vektör formu ile şu şekilde gösterilir:
Transformasyon Matrisi
Section titled “Transformasyon Matrisi”Genel transformasyon matrisi T şu şekilde tanımlanır:
Bir noktanın transformasyonu matris çarpımı ile gerçekleştirilir:
Temel Dönüşümler
Section titled “Temel Dönüşümler”1. Nokta ve Doğru Dönüşümleri: Özel Durumlar
Section titled “1. Nokta ve Doğru Dönüşümleri: Özel Durumlar”a=d=1, b=c=0
Section titled “a=d=1, b=c=0”Transformasyon:
Sonuç: Hiçbir değişiklik olmaz (Identity - Birim matris)
b=c=0, d=1
Section titled “b=c=0, d=1”Transformasyon:
Sonuç: x kısmında uzama (x ekseninde ölçeklendirme)
Örnek: a=2 içinP(2,3) → P'(4,3)x ekseni boyunca 2 kat genişlemeb=c=0, a=1
Section titled “b=c=0, a=1”Transformasyon:
Sonuç: y eksenine göre esneme (y ekseninde ölçeklendirme)
Örnek: d=0.5 içinP(2,4) → P'(2,2)y ekseni boyunca yarıya inmea=d=1, b=c=0
Section titled “a=d=1, b=c=0”Transformasyon:
Sonuç: Orijine göre simetri (esasen değişiklik yok ama orijin önemli)
Transformasyon:
Sonuç: x-y yönünde uzatma (x ekseninde uzama)
2. Dönürme (Rotation) Transformasyonu
Section titled “2. Dönürme (Rotation) Transformasyonu”Orijine göre dönme için temel matrisler:
90° Dönüş
Section titled “90° Dönüş”Keyfi bir noktaya göre dönme işlemi için üç adım:
- Önce noktayı orijine taşıma
- Dönürme işlemi
- Sonra geri taşıma
Adımlar örneklerle açıklanmıştır.
3. Yansıma (Reflection) Transformasyonu
Section titled “3. Yansıma (Reflection) Transformasyonu”X eksenine göre yansıma
Section titled “X eksenine göre yansıma”Örnek:
- P(3,2) → P’(3,-2)
Y eksenine göre yansıma
Section titled “Y eksenine göre yansıma”Örnek:
- P(3,2) → P’(-3,2)
Yansıma matrisleri verilmiştir. X eksenine, y eksenine veya y=x eksenine göre yansıma matrisleri açıklanmıştır.
4. Ölçekleme (Scaling) Transformasyonu
Section titled “4. Ölçekleme (Scaling) Transformasyonu”X ve Y yönünde aynı veya farklı ölçekleme:
Örnekler:
- : Her yönde 2 kat büyütme
- : Her yönde yarıya küçültme
Keyfi bir noktaya göre ölçeklendirme için:
- Ölçekleme merkezini orijine taşı
- Ölçekle
- Geri taşı
Ölçekleme matrisleri açıklanmıştır. Keyfi bir noktaya göre ölçeklendirme için de adımlar örneklerle detaylandırılmıştır.
5. 2 Boyutlu Öteleme ve Homojen Koordinatlar
Section titled “5. 2 Boyutlu Öteleme ve Homojen Koordinatlar”Klasik 2x2 matrislerle öteleme (translation) yapılamaz! Bu yüzden homojen koordinatlar kullanılır.
2x2’lik Matrislerle Neden Öteleme Yapılamaz?
Section titled “2x2’lik Matrislerle Neden Öteleme Yapılamaz?”Öteleme işlemi toplama gerektirir:
Bu işlem, 2x2 matris çarpımı ile yapılamaz.
Homojen Koordinat Sistemi
Section titled “Homojen Koordinat Sistemi”2D koordinatları 3x3’lük transformasyon matrislerinin kullanımını anlatmak için homojen koordinat düzlemine geçiş ve 3x3’lük transformasyon matrislerinin kullanımı gösterilmiştir. Matrisin son sütununun “H” değeri taşıması durumunda normalizasyon ihtiyacına değinilmiştir.
Homojen koordinatlarda bir nokta:
3x3 Transformasyon Matrisi:
Transformasyon:
Bu sayede öteleme, döndürme ve ölçekleme tek bir matris ile ifade edilebilir!
Düzgün Doğruların Transformasyonu
Section titled “Düzgün Doğruların Transformasyonu”Not defterinde düzgün doğruların transformasyonu için örnekler verilmiştir.
Örnek 1
Section titled “Örnek 1”Adımlar:
Örnek 2
Section titled “Örnek 2”Grafik Gösterim
Section titled “Grafik Gösterim” y | A' • | B' • | A • |___________xDoğru üzerindeki noktalar transformasyon sonrası yeni konumlarına hareket eder ancak düzgünlük korunur - yani doğru yine doğru kalır.
Önemli Notlar
Section titled “Önemli Notlar”Özet Tablo
Section titled “Özet Tablo”Birim Matris (Identity)
Section titled “Birim Matris (Identity)”2x2:
3x3 Homojen:
Ölçekleme (Scaling)
Section titled “Ölçekleme (Scaling)”2x2:
3x3 Homojen:
X Eksenine Yansıma
Section titled “X Eksenine Yansıma”2x2:
3x3 Homojen:
Y Eksenine Yansıma
Section titled “Y Eksenine Yansıma”2x2:
3x3 Homojen:
90° Dönüş
Section titled “90° Dönüş”2x2:
3x3 Homojen:
Öteleme (Translation)
Section titled “Öteleme (Translation)”2x2: ❌ Yapılamaz
3x3 Homojen:
Sonraki Adımlar
Section titled “Sonraki Adımlar”Bir sonraki derste şunları öğreneceğiz:
- 3D transformasyonlar
- Keyfi açılarda dönme (θ açısı)
- Composite transformations (Bileşik dönüşümler)
- Görünüm transformasyonları (View transformations)