Afin dönüşüm, uzaydaki noktaları doğrusal bir dönüşüm ve öteleme (translation) uygulayarak yeni noktalara taşıyan bir işlemdir. Döndürebilir, ölçekleyebilir, kaydırabilir (shear), yansıtabilir ve ardından her şeyi öteleyebilirsiniz; düz çizgiler düz kalır.
Afin dönüşümler her yerde karşımıza çıkar; çünkü bir nesnenin geometrisini korurken çok çeşitli geometrik değişimleri yakalar ve hesaplaması ucuzdur.

Afin dönüşümlerin çeşitli uygulamaları. Görsel kaynağı: Napkin AI
Bu fikir, Leonhard Euler ve August Ferdinand Möbius gibi matematikçilerin, bazı şeyler değişse bile hangi özelliklerin sabit kaldığını anlamaya çalıştıkları dönemde ortaya çıktı.
Günümüzde, bir web sayfasındaki CSS'den karmaşık tıbbi görüntülemeye kadar her şeyi çalıştıran dijital dünyanın temel bir parçasıdır.
Afin Dönüşümler Nelerdir?
Afin dönüşümler “saf lineer cebir” ile “gerçek dünya geometrisi”nin tam arasında yer alır. Sadece lineer dönüşümlerin yapamadığı ötelemelere izin verirken matematiği derli toplu tutarlar.
Afin uzayları ve dönüşümleri anlamak
Bir vektör uzayının, orijin adı verilen özel bir noktası vardır (çizmeseniz de kavramsal olarak mevcuttur). Bir vektör uzayında vektörler toplanabilir ve ölçeklenebilir; ayırt edici bir “sıfır vektörü” vardır.
Bir afin uzayı, seçilmiş bir orijini olmayan bir vektör uzayına benzer. Yine de şunlardan bahsedebilirsiniz:
- noktalar (konumlar)
- yer değiştirme vektörleri (ör. “P'den Q'ya git”)
- bir vektörü bir noktaya eklemek (noktayı o yer değiştirme kadar taşımak)
Ancak iki noktayı anlamlı biçimde toplayamazsınız; çünkü noktaların toplanması bir orijin seçimine bağlıdır.
Biçimsel olarak, bir vektör uzayı V üzerinde bir afin uzay A, V'nin serbest ve geçişli etkisine sahip bir nokta kümesidir. Pratikte: noktaların farkları V'de yaşar, ancak tek tek noktalar yaşamaz.
Bir afin dönüşüm, afin kombinasyonları (buna sonra geleceğiz) koruyan ve geometrik olarak düz çizgileri ve paralelliği koruyan afin uzaylar arasında bir eşlemedir.
Koordinatlarda bir afin dönüşüm şu biçimdedir:

Matris biçiminde afin dönüşüm.
Burada:
- x ∈ Rn, giriş noktanızdır (sütun vektörü olarak)
- A ∈ Rn×n, doğrusal kısmı (döndürme, ölçekleme, kaydırma, yansıtma, bileşimler) temsil eden bir matristir
- b ∈ Rn, ötelemeyi temsil eden bir vektördür
Bu “doğrusal + sabit” yapı, afin eşlemelerin mühendislik ve bilişimde bu kadar popüler olmasının nedenidir: İfade gücü yüksektir, ama uygulaması hâlâ hızlı ve kararlıdır.
Afin Dönüşümlerin Temel Özellikleri
Afin dönüşümler, şekillerin esnemesine veya eğilmesine izin verirken “yapısal” olan birkaç geometrik ilişkiyi korur.
Afin dönüşümlerde hangi özellikler korunur?

Afin Dönüşümde Korunan Özellikler. Görsel kaynağı: Napkin AI
Korunanlar:
- Doğrusallık: noktalar önce aynı doğru üzerindeyse, dönüşümden sonra da bir doğru üzerindedir.
- Paralellik: paralel doğrular paralel kalır (grafik ve haritalamada çok önemlidir).
- Dışbükeylik: dışbükey bir şekil dışbükey kalır.
- Bir doğru boyunca oranlar: bir nokta bir doğru parçasını belli bir oranda bölüyorsa, bu oran korunur.
Bunu ifade etmenin güzel bir yolu afin kombinasyonlardır:

Afin eşlemeler bu kombinasyonları korur.
Genel olarak korunmayanlar:
- Uzaklıklar
- Açılar
- Alanlar/hacimler (özel koşullar sağlanmadıkça)
Son olarak, afin dönüşümler bileşime göre kapalıdır: bir afin dönüşümden sonra bir başkasını yapmak hâlâ afin bir dönüşümdür.
Afin dönüşüm grubunun yapısı
Afin dönüşümler, bileşime göre bir grup oluşturur (genellikle afin grupu olarak adlandırılır, Aff(n) ile yazılır).
Şu durumda bileşim temiz çalışır eğer

ve

o hâlde

Bu hâlâ afin bir dönüşümdür.
Tersinirlik hakkında bir not: Ax+b, A tersinir ise (det(A)≠0) tersinirdir. O zaman:

Böylece güçlü bir cebir elde edersiniz: basit dönüşümleri zincirleyerek karmaşık dönüşümler inşa edin ve gerektiğinde geri alın.
Afin Dönüşüm Matrisi
Afin dönüşümleri verimli biçimde hesaplamak için matrislerden yararlanırız—özellikle de ötelemeleri matrislerle uyumlu bir şekilde kolaylaştıran homojen koordinatlardan.
n boyutta dönüşüm şöyledir:

burada
Tersinirlik gereksinimi, (A) matrisinin tersinir olmasıdır. Basitçe söylemek gerekirse, (A) tüm noktaları bir doğruya sıkıştırıyorsa (rütbe düşüyorsa) bunu tekil olarak geri çevirmek mümkün değildir.
Homojen koordinatlar ve genişletilmiş matris gösterimi
Ötelemeler, tek başına (x) üzerine etkiyen (n x n) bir matrisle temsil edilemez. Homojen koordinatlar, ek bir koordinat ekleyerek bu sorunu çözer.
Bir 2B noktayı ((x, y)) olarak değil ((x, y, 1)) olarak temsil edin.
Böylece 2B bir afin dönüşüm 3×3 matris olur:

Homojen koordinatlarla 2B afin dönüşüm (3×3 matris). Kaynak: Yazar
Yararları:
- Bileşim çarpmaya indirgenir (yalnızca matris çarpımı gerekir).
- Optimize edilmiş hatlar (grafik ve görüntüleme kütüphaneleri bunu tercih eder)
- Öteleme, döndürme, ölçekleme ve kaydırmanın tutarlı yönetimi
Afin Dönüşüm Türleri
Pratikte kullanılan çoğu afin dönüşüm birkaç adımdan oluşur.
Afin dönüşümlerde öteleme
Öteleme, her noktayı aynı yer değiştirme kadar taşır: T(x)=x+b
2B homojen form şu şekilde gösterilir:

Homojen dönüşüm matrisi olarak öteleme (2B). Kaynak: Yazar
Bu form, grafikte (nesneleri taşımak için), robotikte (koordinat çerçevelerini değiştirmek için) ve görüntülemede (görüntü hizalamaları için) kullanılır.
Ölçekleme dönüşümleri: Eş ölçekli ve eş olmayan
Eş ölçekli (uniform) ölçekleme: 2B'de, tüm yönlerde aynı (s) katsayısını kullanmak demektir.

Eş ölçekli 2B ölçekleme matrisi. Kaynak: Yazar
Eş olmayan (non-uniform) ölçekleme:

Eş olmayan 2B ölçekleme matrisi. Kaynak: Yazar
3B ölçekleme ise 3×3 diyagonal bir matrise benzer. Ölçekleme yaptığınızda, düz çizgiler ve paralellik korunur; ancak uzaklıklar değişir (s=1 olmadıkça).
2B ve 3B'de dönme dönüşümleri
Açı (theta) kadar 2B döndürme:

Açıyla 2B döndürme dönüşümü. Kaynak: Yazar
3B'de bir şeyi döndürdüğünüzde, bunu bir eksen (x, y veya z) etrafında, karşılık gelen matrislerle yaparsınız. Döndürmeye öteleme eklendiğinde dönüşüm afin kalır (ve yalnızca döndürme ve öteleme yapılırsa “rijit hareket” olur).
Kaydırma (shear) dönüşümlerinin açıklaması
Kaydırma şekilleri “yatırır”. 2B x-kaydırma şöyledir:

2B x-kaydırma gösterimi. Kaynak: Yazar
y-kaydırma:

2B y-kaydırma gösterimi. Kaynak: Yazar
Kaydırmalar; tipografi, görsel bükülmeler ve perspektife benzeyen efektlerde sıkça kullanılır (gerçek perspektifin projektif, afin değil, olduğunu unutmayın).
Afin geometride yansıtma dönüşümleri
Orijinden geçen eksenler veya düzlemler boyunca yansıttığınızda, bu doğrusal yansıtma sayılır (ve dolayısıyla afindir).
x-ekseni üzerinde 2B yansıma:

x-ekseni üzerinde 2B yansıma. Kaynak: Yazar
y-ekseni üzerinde:

y-ekseni üzerinde 2B yansıma. Kaynak: Yazar
Yansımalar, yönelimi değiştirir ve simetriyi analiz etmek, desenleri tanımak ve geometriyi işlemek için faydalıdır.
Afin Dönüşümleri Bileşlemek ve Terslemek Nasıl Yapılır
Gerçek sistemlerde nadiren tek bir dönüşüm kullanırsınız; çoğunu birbirine bağlarsınız.
Birden fazla afin dönüşümü bileşlemek
Diyelim ki:

ve

O hâlde:

Sıra önemlidir. Önce döndürüp sonra ötelemek, önce öteleyip sonra döndürmekle aynı değildir. Bunun nedeni, ötelemelerin bir sonraki matris tarafından “yakalanması”dır.
Hatırlamak için faydalı bir yaklaşım:
- Homojen matrisler kullanıyorsanız, bileşim matris çarpımıdır
- Çarpmada soldaki, uyguladığınız son dönüşümdür.
Ters afin dönüşümler: Hesaplama ve uygulamalar
Şu durumda

(A) tersinir ise:

Görüntülemede bu sık kullanılır: Çıkış piksellerini boşlukları doldurmak için genellikle giriş piksellerine geri eşlersiniz (ters eşleme).
Doğrusal ve Afin Dönüşümler
Afin dönüşümler “yerleşik bir kaydırmaya sahip doğrusal dönüşümler”dir.
Doğrusal ve afin dönüşümler arasındaki temel farklar
Bir doğrusal dönüşüm - L(x)=Ax - şunları sağlamalıdır:
- L(0)=0 (orijin orijinde kalır)
- L(x+y)=L(x)+L(y)
- L(cx)=cL(x)
Bir afin dönüşüm T(x)=Ax+b:
- 0'ı 0'a eşlemek zorunda değildir
- çizgileri düz tutar ve paralelliği korur
- ötelemeyi dışarı aldığınızda doğrusal davranır
Her doğrusal eşleme afindir (b=0 yapın), ancak her afin eşleme doğrusal değildir (sıfır olmayan herhangi bir öteleme doğrusallığı bozar).
Afin dönüşümler doğrusal + öteleme olarak
Şöyle yeniden yazabilirsiniz:

yani “önce doğrusal kısmı (Ax) yap, sonra ötelemeyi (b) ekle.”
1B sürümünü, (y=mx+c) gördüyseniz zaten biliyorsunuz. Bu nedenle afin eşlemeler sinir ağlarında sık kullanılır: yoğun katman (Wx+b) hesaplar; bu bir afin eşlemedir. Ardından doğrusal olmayanlık eklenir.
Bilgisayar grafikleri ve bilgisayarlı görü, afin dönüşümleri kullanır.
Bilgisayar Grafikleri ve Bilgisayarlı Görüde Afin Dönüşümler
Afin dönüşümlerin soyut olmaktan çıkıp işe yaradığı yer burasıdır.
Afin dönüşümlerle görüntü dönüştürme ve bükme
Görüntü işlemekte afin dönüşümler şunlar için kullanılır:
- döndürme ve yeniden boyutlandırma
- öteleme (görüntüleri taşımak)
- eğim düzeltme (shear)
- hizalama/kayıt (görüntü eşleştirme)
İki önemli uygulama fikri:
- İleri eşleme (forward mapping): her bir giriş pikselini ileriye aktarmaktır. Bu, boşluk/delik oluşturabilir.
- Ters eşleme (inverse mapping): her bir çıkış pikseli için geriye eşleyip nereden geldiğini bulmaktır; genellikle daha iyidir.
Enterpolasyon önemlidir; çünkü eşlenen koordinatlar sık sık tam piksellere karşılık gelmez. Yaygın yöntemler:
- En yakın komşu: en hızlısı, bloklu görünüm
- Bilineer: daha yumuşak, genelde varsayılan
- Bikübik: daha yumuşak ama daha fazla işlem gücü ister
3B grafikler ve gerçeklemde afin dönüşümler
Afin dönüşümler 3B grafiklerde her yerde kullanılır:
- model dönüşümleri (nesne yereli → dünya)
- görüş dönüşümleri (dünya → kamera)
- izdüşüm hazırlığı (projektif adımdan önce afin kısım gelir)
İnce ama önemli bir nokta: Ölçekleme eş olmayan olduğunda, yüzey normalleri her zaman noktalarla aynı şekilde değişmez. Doğru aydınlatma için, işleme hatlarında normaller için doğrusal kısmın ters-transpozu yaygın olarak kullanılır.
Robotikte afin dönüşümler
Robotik, koordinat sistemlerinin her yerde bulunurluğudur.
Afin dönüşümler şunları eşler:
- robot taban çerçevesi ↔ kol çerçevesi ↔ uç efektör çerçevesi
- kamera çerçevesi ↔ dünya çerçevesi
- lidar ↔ araç koordinatları
Görüye dayalı konumlamada (ör. görsel odometri), kareler arası küçük hareketler, görüntü uzayında yerel olarak sıklıkla afin olarak yaklaşanabilir; bu da hareketi izlemek ve çözümlemek için yararlıdır.
Koordinat uzayı eşleme ve veri normalizasyonu
Makine öğreniminde özellik ölçekleme çoğunlukla afindir:
- Min-maks ölçekleme: (x' = alpha x + beta)
- Standardizasyon: (x' = (x-μ)/σ) (bu da afindir)
Bu önemlidir; çünkü birçok model (özellikle gradyan temelli olanlar) özellikler benzer ölçeklerdeyken daha iyi çalışır.
İleri Düzey Afin Dönüşüm Kavramları ve Kuramı
Afin dönüşümler ilk bakışta basit görünür, ancak özellikle alan gibi değişmezlerle veya alternatif koordinat sistemleriyle ilgilenmeye başladığınızda kuram derindir.

İleri Düzey Afin Dönüşüm Kavramları. Görsel Kaynağı: Napkin AI
Afin geometri ve barisentrik koordinatlar
Barisentrik koordinatlar bir noktayı, üçgenin köşelerinin ağırlıklı bir karışımı olarak ifade eder:

Bu koordinatlar afin-değişmezdir; yani, üçgeni ve noktayı afin bir şekilde değiştirirseniz, λi aynı kalır.
Bu yüzden barisentrik koordinatlar; doku eşleme, ağ (mesh) enterpolasyonu ve sonlu elemanlar analizinde yaygın biçimde kullanılır.
Ölçü koruyan ve eş alanlı afin dönüşümler
Bir afin dönüşüm, alanı (2B) veya hacimi (3B) şu durumda korur:

A'nın determinantı, doğrusal bileşen eklendiğinde alanın veya hacmin ne kadar değiştiğini bildirir.
(|det(A)| > 1) ise uzay büyür; birden küçükse küçülür. Negatifse yönelim değişir (örneğin bir yansıma gibi). Bunlar, görseller, fizik simülasyonları ve deformasyon modellemesi için hayati önemdedir.
Afin geometride benzerlik dönüşümleri ve izometriler
İlişkiler:
- Afin: (Ax+b) (genel durum)
- Benzerlik: ölçekleme + döndürme + öteleme (açıları ölçek faktörüne kadar korur)
- İzometri (rijit): döndürme + öteleme (uzaklıkları ve açıları korur)
Dolayısıyla:izometriler ⊂ benzerlikler ⊂ afin dönüşümler
Bu hiyerarşi, problem ifadesi için doğru modeli seçmenizi sağlar. Örneğin, uzaklığı korumanız gerekiyorsa, afin fazla geniştir.
Projektif dönüşümler ve daha yüksek boyutlu afin genellemeler
Afin dönüşümler, projektif dönüşümlerin bir türüdür. Projektif dönüşümler; paralel doğruların ufuk noktasında kesişmesi gibi perspektifi modelleyebilir. Afin dönüşümler bunu yapamaz.
Homojen koordinatlarda, projektif dönüşümler, ([0,0,1])'den daha genel bir son satıra izin verir. Bu artan serbestlik perspektif etkilerini mümkün kılar.
Afin kavramlar; 3B grafikte 4B homojen dönüşümler gibi daha yüksek boyutlarda da çalışır.
Afin Dönüşümleri Uygulamak
Afin dönüşümler “kolay matematik”tir; ancak nasıl kullanıldıkları sonucu belirleyebilir.
Afin dönüşümlerde sayısal kararlılık ve hassasiyet
Yaygın sorunlar:
- Neredeyse tekil matrisler: (det(A)) 0'a yakınsa tersleme kararsızlaşır
- Kayan nokta hata birikimi: tekrarlanan bileşimler sürüklenmeye yol açabilir
- Ölçekleme uçları: aşırı büyük veya küçük boyutlar hassasiyeti düşürebilir
En iyi uygulamalar:
- Hızlı bir uyarı göstergesi olarak koşul sayısına (ya da en azından |det(A)|'ye) bakın.
- Tersleme için NumPy ve Eigen gibi kararlı kütüphaneleri seçin.
- Grafik veya robotikte olduğu gibi birçok ardışık işlem yapmanız gerektiğinde, döndürme matrislerini yeniden ortonormalleştirin.
GPU uygulaması ve afin dönüşümlerin paralel işlenmesi
Afin dönüşümler utandıracak kadar paraleldir; yani her nokta veya piksel kendi başına değişir. Bu, onları SIMD ve GPU çekirdekleri için uygun kılar.
Bu yüzden görüntü bükmeleri ve işleme hatları GPU'larla iyi çalışır: aynı anda çok sayıda çarpma ve toplama işlemi yapabilirler.
Yaygın optimizasyonlar: birleştirilmiş çarp-topla işlemlerini kullanmak, dönüşümleri toplu işlemek ve bellek transferlerinin sayısını azaltmak.
Uzmanlaşmış Afin Dönüşüm Uygulamaları ve Genellemeleri
Afin dönüşümler pek çok görev için “yeterince rijit”tir ve daha esnek modeller oluşturmak için de kullanılabilir.
Esnek olmayan kayıtta B-Spline Afin Dönüşümleri
Morfometri ve tıbbi görüntülemede, saf afin hizalama yalnızca ilk adımdır. Kaba hizalamadan sonra, B-spline tabanlı deformasyon modelleri, kontrol noktalarını anlaşılır tutarken yumuşak, esnek olmayan bükülmeler yapmanıza imkân tanır.
Bunu şöyle düşünün: afin genel resmi düzeltir, B-spline'lar ise küçük kıvrımlarla ilgilenir.
Desen tanıma ve bilgisayarlı görüde afin değişmezlik
Birçok tanıma sistemi, bakış açısı afin bir dönüşüme benzer şekilde değiştiğinde bile nesneler tanınabilsin diye afin değişmez olmaya çalışır.
Teknikler şunları içerir:
- afin-değişmez öznitelikler kullanmak (veya parçaları normalize etmek)
- anahtar noktalar için yerel afin çerçeveler belirlemek
- kaydırma ve ölçeğe dayanıklı tanımlayıcılar tasarlamak
Bu, eşleştirme, izleme ve getirme gibi işlemleri daha güvenilir kılar.
CBS ve jeodezik koordinat sistemlerinde afin dönüşümler
CBS'de afin dönüşümler; harita jeoreferanslamasında, farklı kaynaklardan gelen katmanları hizalamada veya koordinat dönüşümlerinin yerel yaklaşımlarında görülür.
Gerçek jeodezik dönüşümler daha karmaşık olabilir; ancak afin modeller sıklıkla yerel yaklaşım olarak veya daha geniş bir hattın parçası olarak kullanılır.
Afin Dönüşüm için Yazılım Kütüphaneleri
Her şeye sıfırdan başlamak zorunda değilsiniz; çoğu ekosistemde iyi destek vardır.
Python, C++ ve Java'da afin dönüşümleri uygulamak
- Python: Matris hesapları için NumPy; görüntü bükmeleri için OpenCV; sayısal araçlar için SciPy.
- C++: Eigen (doğrusal cebir), OpenCV (görü), GLM (grafik matematiği)
- Java: Apache Commons Math ve yığına bağlı olarak görsel araç setleri
Diller arasında temel fikir:
- Noktaları vektör olarak temsil edin
- (Ax+b) uygulayın (veya homojen matris çarpımı)
- Dönüşümleri bileşlemek için matris çarpımlarını kullanın.
- Gerektiğinde (A-1) ile tersleyin
Afin dönüşümler için en iyi yazılım araçları ve kütüphaneler

Afin Dönüşümler için En İyi Araçlar ve Kütüphaneler. Görsel Kaynağı: Napkin AI
Yaygın araçlar:
- OpenCV: warpAffine, getAffineTransform, estimateAffine2D (görü iş akışları)
- NumPy: genel matris işlemleri
- Eigen: yüksek performanslı C++ doğrusal cebir
- GLM / DirectXMath: grafiğe odaklı matematik kütüphaneleri
- GDAL / PROJ (CBS): koordinat dönüşümleri ve coğrafi bilgi hatları
Seçimi alanınıza göre yapın: görüntüler için OpenCV, grafik için GLM, CBS için GDAL/PROJ.
Afin Dönüşümler Üzerine Alternatif Bakış Açıları
Aynı fikri farklı bir şekilde duymak, bazen işleri daha da netleştirebilir.
Alternatif tanımlar: Afin eşlemeler ve afin fonksiyonlar
Bir afin eşleme, afin kombinasyonların bütünlüğünü koruyan bir fonksiyon olarak tanımlanabilir:
Bu formülasyon kendini tek bir orijine bağlamaz; bu, ruhen oldukça “afin geometri”dir. Ayrıca çizgilerin çizgilere dönüştüğünü baştan açık eder.
Afin dönüşümler soyut geliyorsa, bildiklerinize bağlayın: (y=mx) doğrusaldır (orijinden geçer) ve (y=mx+b) afindir (aynı eğim etkisine sahiptir ve bir kaydırma ekler).
Daha yüksek boyutlarda (m) bir matris (A) olur; ancak hikâye aynıdır: doğrusal davranır ve yer değiştirir.
Sonuç
Afin dönüşümler, tüm süslemeleri çıkarırsanız, özünde şuna indirgenir: “Düz çizgilerden ve paralel kenarlardan oluşan dünyanızı koruyacağım; ama açıların aynı kalacağını garanti edemem.”
Matrisler ve doğrusal sistemler açısından düşünüyorsanız, R ile Veri Bilimi için Lineer Cebir ve Satır Basamaklı Biçim Açıklaması gibi matris odaklı eğitimlere göz atın.
Bilgisayarlı görmeye girmek istiyorsanız, Hugging Face ile Gıda Görüntüsü Sınıflandırma gibi projeler ve Hugging Face ile Çalışmak gibi kurslar iyi bir sonraki adım olabilir.
Afin dönüşüm, uzaydaki noktaları doğrusal bir dönüşüm ve öteleme (translation) uygulayarak yeni noktalara taşıyan bir işlemdir. Döndürebilir, ölçekleyebilir, kaydırabilir (shear), yansıtabilir ve ardından her şeyi öteleyebilirsiniz; düz çizgiler düz kalır.
Afin dönüşümler her yerde karşımıza çıkar; çünkü bir nesnenin geometrisini korurken çok çeşitli geometrik değişimleri yakalar ve hesaplaması ucuzdur.
Afin dönüşümlerin çeşitli uygulamaları. Görsel kaynağı: Napkin AI
Bu fikir, Leonhard Euler ve August Ferdinand Möbius gibi matematikçilerin, bazı şeyler değişse bile hangi özelliklerin sabit kaldığını anlamaya çalıştıkları dönemde ortaya çıktı.
Günümüzde, bir web sayfasındaki CSS'den karmaşık tıbbi görüntülemeye kadar her şeyi çalıştıran dijital dünyanın temel bir parçasıdır.
Afin Dönüşümler Nelerdir?
Afin dönüşümler “saf lineer cebir” ile “gerçek dünya geometrisi”nin tam arasında yer alır. Sadece lineer dönüşümlerin yapamadığı ötelemelere izin verirken matematiği derli toplu tutarlar.
Afin uzayları ve dönüşümleri anlamak
Bir vektör uzayının, orijin adı verilen özel bir noktası vardır (çizmeseniz de kavramsal olarak mevcuttur). Bir vektör uzayında vektörler toplanabilir ve ölçeklenebilir; ayırt edici bir “sıfır vektörü” vardır.
Bir afin uzayı, seçilmiş bir orijini olmayan bir vektör uzayına benzer. Yine de şunlardan bahsedebilirsiniz:
Ancak iki noktayı anlamlı biçimde toplayamazsınız; çünkü noktaların toplanması bir orijin seçimine bağlıdır.
Biçimsel olarak, bir vektör uzayı
Vüzerinde bir afin uzayA,V'nin serbest ve geçişli etkisine sahip bir nokta kümesidir. Pratikte: noktaların farklarıV'de yaşar, ancak tek tek noktalar yaşamaz.Bir afin dönüşüm, afin kombinasyonları (buna sonra geleceğiz) koruyan ve geometrik olarak düz çizgileri ve paralelliği koruyan afin uzaylar arasında bir eşlemedir.
Afin dönüşüm formülü: Vektör uzaylarını kullanarak tanım
Koordinatlarda bir afin dönüşüm şu biçimdedir:
Matris biçiminde afin dönüşüm.
Burada:
Bu “doğrusal + sabit” yapı, afin eşlemelerin mühendislik ve bilişimde bu kadar popüler olmasının nedenidir: İfade gücü yüksektir, ama uygulaması hâlâ hızlı ve kararlıdır.
Afin Dönüşümlerin Temel Özellikleri
Afin dönüşümler, şekillerin esnemesine veya eğilmesine izin verirken “yapısal” olan birkaç geometrik ilişkiyi korur.
Afin dönüşümlerde hangi özellikler korunur?
Afin Dönüşümde Korunan Özellikler. Görsel kaynağı: Napkin AI
Korunanlar:
Bunu ifade etmenin güzel bir yolu afin kombinasyonlardır:
Afin eşlemeler bu kombinasyonları korur.
Genel olarak korunmayanlar:
Son olarak, afin dönüşümler bileşime göre kapalıdır: bir afin dönüşümden sonra bir başkasını yapmak hâlâ afin bir dönüşümdür.
Afin dönüşüm grubunun yapısı
Afin dönüşümler, bileşime göre bir grup oluşturur (genellikle afin grupu olarak adlandırılır, Aff(n) ile yazılır).
Şu durumda bileşim temiz çalışır eğer
ve
o hâlde
Bu hâlâ afin bir dönüşümdür.
Tersinirlik hakkında bir not: Ax+b, A tersinir ise (det(A)≠0) tersinirdir. O zaman:
Böylece güçlü bir cebir elde edersiniz: basit dönüşümleri zincirleyerek karmaşık dönüşümler inşa edin ve gerektiğinde geri alın.
Afin Dönüşüm Matrisi
Afin dönüşümleri verimli biçimde hesaplamak için matrislerden yararlanırız—özellikle de ötelemeleri matrislerle uyumlu bir şekilde kolaylaştıran homojen koordinatlardan.
Afin dönüşüm matrislerinin genel formu
n boyutta dönüşüm şöyledir:
burada
Aşekil değişimini (doğrusal bileşen) belirler.byer değiştirmeyi (öteleme) düzenlerTersinirlik gereksinimi, (A) matrisinin tersinir olmasıdır. Basitçe söylemek gerekirse, (A) tüm noktaları bir doğruya sıkıştırıyorsa (rütbe düşüyorsa) bunu tekil olarak geri çevirmek mümkün değildir.
Homojen koordinatlar ve genişletilmiş matris gösterimi
Ötelemeler, tek başına (x) üzerine etkiyen (n x n) bir matrisle temsil edilemez. Homojen koordinatlar, ek bir koordinat ekleyerek bu sorunu çözer.
Bir 2B noktayı ((x, y)) olarak değil ((x, y, 1)) olarak temsil edin.
Böylece 2B bir afin dönüşüm 3×3 matris olur:
Homojen koordinatlarla 2B afin dönüşüm (3×3 matris). Kaynak: Yazar
Yararları:
Afin Dönüşüm Türleri
Pratikte kullanılan çoğu afin dönüşüm birkaç adımdan oluşur.
Afin dönüşümlerde öteleme
Öteleme, her noktayı aynı yer değiştirme kadar taşır: T(x)=x+b
2B homojen form şu şekilde gösterilir:
Homojen dönüşüm matrisi olarak öteleme (2B). Kaynak: Yazar
Bu form, grafikte (nesneleri taşımak için), robotikte (koordinat çerçevelerini değiştirmek için) ve görüntülemede (görüntü hizalamaları için) kullanılır.
Ölçekleme dönüşümleri: Eş ölçekli ve eş olmayan
Eş ölçekli (uniform) ölçekleme: 2B'de, tüm yönlerde aynı (s) katsayısını kullanmak demektir.
Eş ölçekli 2B ölçekleme matrisi. Kaynak: Yazar
Eş olmayan (non-uniform) ölçekleme:
Eş olmayan 2B ölçekleme matrisi. Kaynak: Yazar
3B ölçekleme ise 3×3 diyagonal bir matrise benzer. Ölçekleme yaptığınızda, düz çizgiler ve paralellik korunur; ancak uzaklıklar değişir (s=1 olmadıkça).
2B ve 3B'de dönme dönüşümleri
Açı (theta) kadar 2B döndürme:
Açıyla 2B döndürme dönüşümü. Kaynak: Yazar
3B'de bir şeyi döndürdüğünüzde, bunu bir eksen (x, y veya z) etrafında, karşılık gelen matrislerle yaparsınız. Döndürmeye öteleme eklendiğinde dönüşüm afin kalır (ve yalnızca döndürme ve öteleme yapılırsa “rijit hareket” olur).
Kaydırma (shear) dönüşümlerinin açıklaması
Kaydırma şekilleri “yatırır”. 2B x-kaydırma şöyledir:
2B x-kaydırma gösterimi. Kaynak: Yazar
y-kaydırma:
2B y-kaydırma gösterimi. Kaynak: Yazar
Kaydırmalar; tipografi, görsel bükülmeler ve perspektife benzeyen efektlerde sıkça kullanılır (gerçek perspektifin projektif, afin değil, olduğunu unutmayın).
Afin geometride yansıtma dönüşümleri
Orijinden geçen eksenler veya düzlemler boyunca yansıttığınızda, bu doğrusal yansıtma sayılır (ve dolayısıyla afindir).
x-ekseni üzerinde 2B yansıma:
x-ekseni üzerinde 2B yansıma. Kaynak: Yazar
y-ekseni üzerinde:
y-ekseni üzerinde 2B yansıma. Kaynak: Yazar
Yansımalar, yönelimi değiştirir ve simetriyi analiz etmek, desenleri tanımak ve geometriyi işlemek için faydalıdır.
Afin Dönüşümleri Bileşlemek ve Terslemek Nasıl Yapılır
Gerçek sistemlerde nadiren tek bir dönüşüm kullanırsınız; çoğunu birbirine bağlarsınız.
Birden fazla afin dönüşümü bileşlemek
Diyelim ki:
ve
O hâlde:
Sıra önemlidir. Önce döndürüp sonra ötelemek, önce öteleyip sonra döndürmekle aynı değildir. Bunun nedeni, ötelemelerin bir sonraki matris tarafından “yakalanması”dır.
Hatırlamak için faydalı bir yaklaşım:
Ters afin dönüşümler: Hesaplama ve uygulamalar
Şu durumda
(A) tersinir ise:
Görüntülemede bu sık kullanılır: Çıkış piksellerini boşlukları doldurmak için genellikle giriş piksellerine geri eşlersiniz (ters eşleme).
Doğrusal ve Afin Dönüşümler
Afin dönüşümler “yerleşik bir kaydırmaya sahip doğrusal dönüşümler”dir.
Doğrusal ve afin dönüşümler arasındaki temel farklar
Bir doğrusal dönüşüm - L(x)=Ax - şunları sağlamalıdır:
Bir afin dönüşüm T(x)=Ax+b:
Her doğrusal eşleme afindir (b=0 yapın), ancak her afin eşleme doğrusal değildir (sıfır olmayan herhangi bir öteleme doğrusallığı bozar).
Afin dönüşümler doğrusal + öteleme olarak
Şöyle yeniden yazabilirsiniz:
yani “önce doğrusal kısmı (Ax) yap, sonra ötelemeyi (b) ekle.”
1B sürümünü, (y=mx+c) gördüyseniz zaten biliyorsunuz. Bu nedenle afin eşlemeler sinir ağlarında sık kullanılır: yoğun katman (Wx+b) hesaplar; bu bir afin eşlemedir. Ardından doğrusal olmayanlık eklenir.
Bilgisayar grafikleri ve bilgisayarlı görü, afin dönüşümleri kullanır.
Bilgisayar Grafikleri ve Bilgisayarlı Görüde Afin Dönüşümler
Afin dönüşümlerin soyut olmaktan çıkıp işe yaradığı yer burasıdır.
Afin dönüşümlerle görüntü dönüştürme ve bükme
Görüntü işlemekte afin dönüşümler şunlar için kullanılır:
İki önemli uygulama fikri:
Enterpolasyon önemlidir; çünkü eşlenen koordinatlar sık sık tam piksellere karşılık gelmez. Yaygın yöntemler:
3B grafikler ve gerçeklemde afin dönüşümler
Afin dönüşümler 3B grafiklerde her yerde kullanılır:
İnce ama önemli bir nokta: Ölçekleme eş olmayan olduğunda, yüzey normalleri her zaman noktalarla aynı şekilde değişmez. Doğru aydınlatma için, işleme hatlarında normaller için doğrusal kısmın ters-transpozu yaygın olarak kullanılır.
Robotikte afin dönüşümler
Robotik, koordinat sistemlerinin her yerde bulunurluğudur.
Afin dönüşümler şunları eşler:
Görüye dayalı konumlamada (ör. görsel odometri), kareler arası küçük hareketler, görüntü uzayında yerel olarak sıklıkla afin olarak yaklaşanabilir; bu da hareketi izlemek ve çözümlemek için yararlıdır.
Koordinat uzayı eşleme ve veri normalizasyonu
Makine öğreniminde özellik ölçekleme çoğunlukla afindir:
Bu önemlidir; çünkü birçok model (özellikle gradyan temelli olanlar) özellikler benzer ölçeklerdeyken daha iyi çalışır.
İleri Düzey Afin Dönüşüm Kavramları ve Kuramı
Afin dönüşümler ilk bakışta basit görünür, ancak özellikle alan gibi değişmezlerle veya alternatif koordinat sistemleriyle ilgilenmeye başladığınızda kuram derindir.
İleri Düzey Afin Dönüşüm Kavramları. Görsel Kaynağı: Napkin AI
Afin geometri ve barisentrik koordinatlar
Barisentrik koordinatlar bir noktayı, üçgenin köşelerinin ağırlıklı bir karışımı olarak ifade eder:
Bu koordinatlar afin-değişmezdir; yani, üçgeni ve noktayı afin bir şekilde değiştirirseniz, λi aynı kalır.
Bu yüzden barisentrik koordinatlar; doku eşleme, ağ (mesh) enterpolasyonu ve sonlu elemanlar analizinde yaygın biçimde kullanılır.
Ölçü koruyan ve eş alanlı afin dönüşümler
Bir afin dönüşüm, alanı (2B) veya hacimi (3B) şu durumda korur:
A'nın determinantı, doğrusal bileşen eklendiğinde alanın veya hacmin ne kadar değiştiğini bildirir.
(|det(A)| > 1) ise uzay büyür; birden küçükse küçülür. Negatifse yönelim değişir (örneğin bir yansıma gibi). Bunlar, görseller, fizik simülasyonları ve deformasyon modellemesi için hayati önemdedir.
Afin geometride benzerlik dönüşümleri ve izometriler
İlişkiler:
Dolayısıyla:izometriler ⊂ benzerlikler ⊂ afin dönüşümler
Bu hiyerarşi, problem ifadesi için doğru modeli seçmenizi sağlar. Örneğin, uzaklığı korumanız gerekiyorsa, afin fazla geniştir.
Projektif dönüşümler ve daha yüksek boyutlu afin genellemeler
Afin dönüşümler, projektif dönüşümlerin bir türüdür. Projektif dönüşümler; paralel doğruların ufuk noktasında kesişmesi gibi perspektifi modelleyebilir. Afin dönüşümler bunu yapamaz.
Homojen koordinatlarda, projektif dönüşümler, ([0,0,1])'den daha genel bir son satıra izin verir. Bu artan serbestlik perspektif etkilerini mümkün kılar.
Afin kavramlar; 3B grafikte 4B homojen dönüşümler gibi daha yüksek boyutlarda da çalışır.
Afin Dönüşümleri Uygulamak
Afin dönüşümler “kolay matematik”tir; ancak nasıl kullanıldıkları sonucu belirleyebilir.
Afin dönüşümlerde sayısal kararlılık ve hassasiyet
Yaygın sorunlar:
En iyi uygulamalar:
GPU uygulaması ve afin dönüşümlerin paralel işlenmesi
Afin dönüşümler utandıracak kadar paraleldir; yani her nokta veya piksel kendi başına değişir. Bu, onları SIMD ve GPU çekirdekleri için uygun kılar.
Bu yüzden görüntü bükmeleri ve işleme hatları GPU'larla iyi çalışır: aynı anda çok sayıda çarpma ve toplama işlemi yapabilirler.
Yaygın optimizasyonlar: birleştirilmiş çarp-topla işlemlerini kullanmak, dönüşümleri toplu işlemek ve bellek transferlerinin sayısını azaltmak.
Uzmanlaşmış Afin Dönüşüm Uygulamaları ve Genellemeleri
Afin dönüşümler pek çok görev için “yeterince rijit”tir ve daha esnek modeller oluşturmak için de kullanılabilir.
Esnek olmayan kayıtta B-Spline Afin Dönüşümleri
Morfometri ve tıbbi görüntülemede, saf afin hizalama yalnızca ilk adımdır. Kaba hizalamadan sonra, B-spline tabanlı deformasyon modelleri, kontrol noktalarını anlaşılır tutarken yumuşak, esnek olmayan bükülmeler yapmanıza imkân tanır.
Bunu şöyle düşünün: afin genel resmi düzeltir, B-spline'lar ise küçük kıvrımlarla ilgilenir.
Desen tanıma ve bilgisayarlı görüde afin değişmezlik
Birçok tanıma sistemi, bakış açısı afin bir dönüşüme benzer şekilde değiştiğinde bile nesneler tanınabilsin diye afin değişmez olmaya çalışır.
Teknikler şunları içerir:
Bu, eşleştirme, izleme ve getirme gibi işlemleri daha güvenilir kılar.
CBS ve jeodezik koordinat sistemlerinde afin dönüşümler
CBS'de afin dönüşümler; harita jeoreferanslamasında, farklı kaynaklardan gelen katmanları hizalamada veya koordinat dönüşümlerinin yerel yaklaşımlarında görülür.
Gerçek jeodezik dönüşümler daha karmaşık olabilir; ancak afin modeller sıklıkla yerel yaklaşım olarak veya daha geniş bir hattın parçası olarak kullanılır.
Afin Dönüşüm için Yazılım Kütüphaneleri
Her şeye sıfırdan başlamak zorunda değilsiniz; çoğu ekosistemde iyi destek vardır.
Python, C++ ve Java'da afin dönüşümleri uygulamak
Diller arasında temel fikir:
Afin dönüşümler için en iyi yazılım araçları ve kütüphaneler
Afin Dönüşümler için En İyi Araçlar ve Kütüphaneler. Görsel Kaynağı: Napkin AI
Yaygın araçlar:
Seçimi alanınıza göre yapın: görüntüler için OpenCV, grafik için GLM, CBS için GDAL/PROJ.
Afin Dönüşümler Üzerine Alternatif Bakış Açıları
Aynı fikri farklı bir şekilde duymak, bazen işleri daha da netleştirebilir.
Alternatif tanımlar: Afin eşlemeler ve afin fonksiyonlar
Bir afin eşleme, afin kombinasyonların bütünlüğünü koruyan bir fonksiyon olarak tanımlanabilir:
Bu formülasyon kendini tek bir orijine bağlamaz; bu, ruhen oldukça “afin geometri”dir. Ayrıca çizgilerin çizgilere dönüştüğünü baştan açık eder.
Afin dönüşümler ve (y = mx + b) formülü
Afin dönüşümler soyut geliyorsa, bildiklerinize bağlayın: (y=mx) doğrusaldır (orijinden geçer) ve (y=mx+b) afindir (aynı eğim etkisine sahiptir ve bir kaydırma ekler).
Daha yüksek boyutlarda (m) bir matris (A) olur; ancak hikâye aynıdır: doğrusal davranır ve yer değiştirir.
Sonuç
Afin dönüşümler, tüm süslemeleri çıkarırsanız, özünde şuna indirgenir: “Düz çizgilerden ve paralel kenarlardan oluşan dünyanızı koruyacağım; ama açıların aynı kalacağını garanti edemem.”
Matrisler ve doğrusal sistemler açısından düşünüyorsanız, R ile Veri Bilimi için Lineer Cebir ve Satır Basamaklı Biçim Açıklaması gibi matris odaklı eğitimlere göz atın.
Bilgisayarlı görmeye girmek istiyorsanız, Hugging Face ile Gıda Görüntüsü Sınıflandırma gibi projeler ve Hugging Face ile Çalışmak gibi kurslar iyi bir sonraki adım olabilir.