Last chance! 50% off DataCamp Premium
Sale ends in
Transformasi afin adalah proses yang memetakan titik-titik di ruang ke titik baru dengan menerapkan transformasi linear dan pergeseran, yang disebut translasi. Anda dapat memutar, menskalakan, menggeser (shear), merefleksikan, lalu menggeser semuanya, dan garis lurus akan tetap lurus.
Transformasi afin hadir di mana-mana karena mampu menangkap beragam perubahan geometris yang mempertahankan geometri suatu objek sekaligus tetap murah untuk dihitung.

Beragam aplikasi transformasi afin. Sumber gambar: Napkin AI
Gagasannya bermula ketika para matematikawan seperti Leonhard Euler dan August Ferdinand Möbius mencoba mencari tahu properti apa yang tetap invarian bahkan ketika hal-hal lain berubah.
Kini, ini menjadi bagian penting dari dunia digital, mendukung segala hal mulai dari CSS di laman web hingga pencitraan medis yang rumit.
Transformasi afin berada tepat di antara “aljabar linear murni” dan “geometri dunia nyata.” Transformasi ini menjaga matematika tetap rapi sekaligus memungkinkan translasi, yang tidak dapat dilakukan oleh pemetaan linear semata.
Sebuah ruang vektor memiliki titik istimewa yang disebut titik asal (origin) (meski tidak digambar, ia ada secara konseptual). Dalam ruang vektor, vektor dapat dijumlahkan dan diskalakan, dan ada “vektor nol” yang dibedakan.
Sebuah ruang afin tampak seperti ruang vektor tanpa asal yang dipilih. Anda tetap bisa membahas:
Namun Anda tidak dapat menjumlahkan dua titik secara bermakna, karena penjumlahan titik bergantung pada pilihan asal.
Secara formal, sebuah ruang afin A di atas ruang vektor V adalah himpunan titik dengan aksi V yang bebas dan transitif. Secara praktis: selisih antar titik berada di V, tetapi titik-titiknya sendiri tidak.
Sebuah transformasi afin adalah pemetaan antar ruang afin yang mempertahankan kombinasi afin (dibahas nanti) dan, secara geometris, mempertahankan garis lurus dan kesejajaran.
Dalam koordinat, transformasi afin berbentuk:

Transformasi afin dalam bentuk matriks.
Dengan:
Struktur “linear + konstanta” inilah yang membuat peta afin populer di rekayasa dan komputasi: ekspresif, namun tetap cepat dan stabil untuk diterapkan.
Transformasi afin mempertahankan sejumlah hubungan geometris yang “struktural,” sambil membiarkan bentuk meregang atau miring.

Properti yang Dipertahankan dalam Transformasi Afin. Sumber Gambar: Napkin AI
Dipertahankan:
Cara ringkas untuk mengekspresikannya adalah melalui kombinasi afin:

Peta afin mempertahankan kombinasi ini.
Tidak dipertahankan (secara umum):
Terakhir, transformasi afin tertutup terhadap komposisi: melakukan satu transformasi afin setelah lainnya tetap menghasilkan transformasi afin.
Transformasi afin membentuk grup di bawah operasi komposisi (sering disebut grup afin, ditulis Aff(n)).
Komposisinya berjalan rapi jika

dan

maka

Ini tetap afin.
Catatan tentang keterbalikan (invertibility): Ax+b dapat dibalik jika A dapat dibalik (det(A)≠0). Lalu:

Jadi Anda mendapatkan aljabar yang kuat: bangun transformasi kompleks dengan merangkai yang sederhana, dan balikkan saat diperlukan.
Untuk menghitung transformasi afin secara efisien, kita memanfaatkan matriks—terutama koordinat homogen, yang memfasilitasi translasi dengan cara yang kompatibel dengan matriks.
Dalam n dimensi, transformasinya sebagai berikut:

dengan
A mengatur perubahan bentuk (komponen linear).
b mengatur perpindahan (translasi)
Syarat kebalikan adalah bahwa matriks (A) harus dapat dibalik. Sederhananya, jika (A) memampatkan semua titik ke sebuah garis (menyebabkan penurunan rank), maka tidak bisa dibalik secara unik.
Translasi tidak dapat direpresentasikan oleh matriks (n x n) yang bertindak pada (x) saja. Koordinat homogen mengatasi hal ini dengan memperkenalkan satu koordinat tambahan.
Representasikan titik 2D ((x, y)) sebagai ((x, y, 1)).
Maka transformasi afin 2D menjadi sebuah matriks 3×3:

Transformasi afin 2D menggunakan koordinat homogen (matriks 3×3). Sumber: Penulis
Keuntungan:
Sebagian besar transformasi afin yang digunakan dalam praktik melibatkan beberapa langkah.
Translasi memindahkan setiap titik dengan perpindahan yang sama: T(x)=x+b
Bentuk homogen 2D direpresentasikan oleh:

Translasi sebagai matriks transformasi homogen (2D). Sumber: Penulis
Bentuk ini digunakan dalam grafika (untuk memindahkan objek), robotika (untuk mengubah kerangka koordinat), dan visi (untuk penyelarasan citra).
Skala seragam: Dalam 2D, skala seragam berarti menggunakan faktor yang sama (s) di semua arah.

Matriks penskalaan 2D seragam. Sumber: Penulis
Skala tak seragam:

Matriks penskalaan 2D tak seragam. Sumber: Penulis
Skala 3D, di sisi lain, seperti matriks diagonal 3×3. Saat Anda menskalakan sesuatu, garis lurus dan kesejajaran dipertahankan, tetapi jarak berubah (kecuali s=1).
Rotasi 2D dengan sudut (theta):

Transformasi rotasi 2D dengan sudut. Sumber: Penulis
Saat Anda memutar sesuatu dalam 3D, Anda melakukannya mengelilingi suatu sumbu (x, y, atau z) dengan matriks yang sesuai. Ketika Anda menambahkan translasi ke rotasi, hasilnya tetap afin (dan menjadi “gerak kaku” jika hanya rotasi dan translasi).
Shear “membuat bentuk menjadi miring.” Shear sumbu-x 2D adalah:

Representasi x-shear 2D. Sumber: Penulis
Shear sumbu-y:

Representasi y-shear 2D. Sumber: Penulis
Shear sering digunakan dalam tipografi, distorsi visual, dan efek yang tampak seperti perspektif (meski perspektif sejati adalah proyektif, bukan afin).
Ketika Anda merefleksikan terhadap sumbu atau bidang yang melalui titik asal, itu dianggap refleksi linear (dan karenanya afin).
Refleksi 2D terhadap sumbu-x:

Refleksi 2D terhadap sumbu-x. Sumber: Penulis
Terhadap sumbu-y:

Refleksi 2D terhadap sumbu-y. Sumber: Penulis
Refleksi mengubah orientasi dan bermanfaat untuk menganalisis simetri, mengenali pola, dan memroses geometri.
Dalam sistem nyata, jarang sekali Anda hanya menggunakan satu transformasi; Anda menautkan banyak transformasi bersama.
Misalkan:

dan

Maka:

Urutan berpengaruh. Memutar terlebih dahulu lalu mentranslasi tidak sama dengan mentranslasi dahulu lalu memutar. Ini karena translasi “terseret” oleh matriks berikutnya.
Cara praktis untuk mengingatnya adalah:
Untuk

jika (A) dapat dibalik:

Dalam visi komputer, ini sering digunakan: Anda kerap memetakan piksel keluaran kembali ke piksel masukan (pemetaan invers) untuk mengisi celah.
Transformasi afin adalah “transformasi linear yang disertai pergeseran bawaan.”
Sebuah transformasi linear - L(x)=Ax - harus memenuhi:
Sebuah transformasi afin T(x)=Ax+b:
Setiap peta linear adalah afin (atur b=0), tetapi tidak semua pemetaan afin adalah linear (translasi non-nol mematahkan linearitas).
Anda dapat menuliskan ulang:

sebagai “lakukan bagian linear (Ax), lalu tambahkan translasi (b).”
Anda sudah mengenal versi 1D jika pernah melihat (y=mx+c). Inilah juga alasan peta afin sering digunakan dalam jaringan saraf: sebuah lapisan padat menghitung (Wx+b), yang merupakan peta afin. Setelah itu, non-linearitas ditambahkan.
Grafika komputer dan visi komputer menggunakan transformasi afin.
Di sinilah transformasi afin berhenti terasa abstrak dan mulai benar-benar berguna.
Dalam pemrosesan citra, transformasi afin digunakan untuk:
Dua gagasan implementasi penting:
Interpolasi penting karena koordinat hasil pemetaan sering kali tidak tepat jatuh pada piksel utuh. Beberapa cara umum:
Transformasi afin digunakan di mana-mana dalam grafika 3D:
Poin halus namun penting: ketika skala tidak seragam, normal permukaan tidak selalu berubah dengan cara yang sama seperti titik. Untuk memastikan pencahayaan yang benar, pipa rendering umumnya menggunakan inverse-transpose dari bagian linear untuk normal.
Robotika adalah contoh nyata betapa merajalelanya sistem koordinat.
Transformasi afin memetakan:
Dalam pelokasian berbasis visi (mis., odometri visual), perpindahan kecil antar frame sering kali dapat didekati secara lokal sebagai afin dalam ruang citra, yang membantu memantau dan memperkirakan gerak.
Dalam pembelajaran mesin, penskalaan fitur sering kali bersifat afin:
Ini penting karena banyak model (terutama yang berbasis gradien) bekerja lebih baik ketika fitur berada pada skala yang serupa.
Transformasi afin tampak lugas pada awalnya, tetapi teorinya dalam, terutama ketika Anda mulai peduli pada invarian seperti luas atau sistem koordinat alternatif.

Konsep Lanjutan Transformasi Afin. Sumber Gambar: Napkin AI
Koordinat barisentris menyatakan sebuah titik sebagai campuran berbobot dari simpul-simpul segitiga:

Koordinat ini invarian-afin, artinya jika Anda mengubah segitiga dan titiknya secara afin, λi tetap sama.
Itulah mengapa koordinat barisentris banyak digunakan dalam: pemetaan tekstur, interpolasi mesh, dan analisis elemen hingga.
Sebuah transformasi afin mempertahankan luas (2D) atau volume (3D) ketika:

Determinan A memberi tahu seberapa besar perubahan luas atau volume ketika elemen linear diterapkan.
Jika (|det(A)| > 1), ruang membesar; jika kurang dari satu, mengecil. Jika negatif, orientasi berubah (seperti refleksi). Ini penting untuk visual, simulasi fisika, dan pemodelan deformasi.
Hubungan:
Jadi: isometri ⊂ kesebangunan ⊂ transformasi afin
Hirarki ini membantu Anda memilih model yang tepat untuk pernyataan masalah. Misalnya, jika Anda perlu mempertahankan jarak, maka afin terlalu luas.
Transformasi afin adalah jenis transformasi proyektif. Transformasi proyektif dapat memodelkan perspektif, seperti bagaimana garis-garis sejajar bertemu di titik hilang. Transformasi afin tidak dapat melakukannya.
Dalam koordinat homogen, transformasi proyektif mengizinkan baris terakhir yang lebih umum daripada ([0,0,1]). Kebebasan yang meningkat itulah yang menghasilkan efek perspektif.
Konsep afin juga bekerja dalam dimensi lebih tinggi, seperti transformasi homogen 4D dalam grafika 3D.
Transformasi afin adalah “matematika yang mudah,” tetapi cara penerapannya bisa menentukan hasilnya.
Masalah umum:
Praktik terbaik:
Transformasi afin sangat cocok untuk paralelisme; setiap titik atau piksel berubah secara independen. Ini membuatnya ideal untuk SIMD dan kernel GPU.
Itulah mengapa pelengkungan citra dan pipa rendering bekerja baik dengan GPU: mereka dapat melakukan banyak operasi perkalian dan penjumlahan sekaligus.
Beberapa optimasi umum: menggunakan operasi fused multiply-add, melakukan batching transformasi, dan mengurangi jumlah transfer memori.
Transformasi afin “cukup kaku” untuk banyak tugas, dan juga dapat digunakan untuk membangun model yang lebih fleksibel.
Dalam morfometri dan pencitraan medis, penyelarasan afin murni hanyalah langkah pertama. Setelah penyelarasan kasar, model deformasi berbasis B-spline memungkinkan Anda membuat pelengkungan halus yang non-rigid sambil tetap menjaga kemudahan interpretasi titik kendali.
Bayangkan begini: afin merapikan gambar secara keseluruhan, dan B-spline menangani lengkungan kecilnya.
Banyak sistem pengenalan berupaya invarian-afin sehingga objek tetap dapat dikenali meski sudut pandang berubah dengan cara yang mirip translasi afin.
Teknik meliputi:
Ini membuat operasi seperti pencocokan, pelacakan, dan temu kembali lebih andal.
Dalam GIS, transformasi afin muncul dalam georeferensi peta, penyelarasan layer dari berbagai sumber, atau pendekatan lokal untuk konversi koordinat.
Transformasi geodetik nyata bisa lebih rumit, namun model afin sering digunakan sebagai pendekatan lokal atau sebagai bagian dari pipa yang lebih luas.
Anda tidak perlu memulai semuanya dari nol; sebagian besar ekosistem memiliki dukungan yang baik.
Gagasan inti lintas bahasa:

Alat dan Pustaka Terbaik untuk Transformasi Afin. Sumber Gambar: Napkin AI
Perangkat yang banyak digunakan:
Pilih sesuai domain Anda: OpenCV untuk citra, GLM untuk grafika, GDAL/PROJ untuk GIS.
Mendengar ide yang sama dijelaskan dengan cara berbeda terkadang membuatnya lebih jelas.
Peta afin dapat didefinisikan sebagai fungsi yang mempertahankan kekhususan kombinasi afin:
Formulasi ini tidak terikat pada satu asal tertentu, yang sangat selaras dengan semangat “geometri afin.” Ia juga segera memperjelas bahwa garis dipetakan menjadi garis.
Jika transformasi afin terasa abstrak, kaitkan dengan yang sudah Anda kenal: (y=mx) bersifat linear (melalui asal), dan (y=mx+b) bersifat afin (memiliki efek kemiringan yang sama dan pergeseran).
Dalam dimensi lebih tinggi, (m) menjadi matriks (A), namun ceritanya tetap sama: bertindak secara linear dan berpindah.
Transformasi afin, jika disederhanakan, pada dasarnya adalah ini: “Saya akan menjaga dunia Anda yang terdiri dari garis lurus dan tepi sejajar, tetapi saya tidak bisa menjanjikan sudut-sudutnya tetap sama.”
Jika Anda berpikir dalam kerangka matriks dan sistem linear, lihat Linear Algebra for Data Science in R dan tutorial yang berfokus pada matriks, termasuk Row Echelon Form Explained.
Jika Anda ingin masuk ke visi komputer, proyek seperti Food Image Classification with Hugging Face dan kursus seperti Working with Hugging Face adalah langkah berikut yang baik.
Profesional berpengalaman di bidang ilmu data, kecerdasan buatan, analitik, dan strategi data.
Transformasi afin memetakan titik menggunakan T(x)=Ax+bT, di mana A adalah transformasi linear dan b adalah translasi. Ini mencakup rotasi, skala, shear, refleksi, dan pergeseran dalam satu kerangka.
Transformasi linear, yang ditulis L(x)=Ax, harus memetakan asal ke dirinya sendiri. Transformasi afin menyertakan translasi (b≠0), yang berarti dapat menggeser asal.
Transformasi afin mempertahankan garis lurus, kolinearitas, dan kesejajaran, sehingga menjaga “struktur garis.” Transformasi ini juga mempertahankan rasio jarak sepanjang garis yang sama (misalnya, titik tengah tetap titik tengah).
Jarak dan sudut umumnya berubah, sehingga bentuk dapat meregang atau melengkung. Luas dan volume juga dapat berubah, kecuali jika memenuhi kondisi determinan.
Ya—standarisasi dan skala min-maks adalah contoh peta afin. Keduanya mengubah koordinat untuk membuat optimasi bekerja lebih baik tanpa terlalu mengubah hubungan.
Belajar bersama DataCamp
Kursus
Kursus
Kursus
blogs
David Woods
13 mnt
blogs
Hugo Bowne-Anderson
13 mnt
blogs
Dario Radečić
15 mnt

blogs
Javier Canales Luna
14 mnt