affine transformation
Főnév
affine transformation (tsz. affine transformations)
Affine transformation – magyarul: affin transzformáció – a lineáris algebra és geometria egyik alapvető fogalma, amely egy egyenest egyenessé, egy síkot síkká képez le, miközben megőrzi a pontok közötti arányokat és a párhuzamosságot, de nem feltétlenül a távolságokat és szögeket.
Az affin transzformációk kulcsfontosságúak:
- Számítógépes grafikában
- Képmanipulációban
- Robotikában
- Geometriai modellezésben
🧠 1. Mi az az affin transzformáció?
Az affin transzformáció egy lineáris transzformáció (pl. elforgatás, nyújtás, tükrözés), kombinálva egy eltolással.
Matematikailag így írható le:
- : egy n×n mátrix (lineáris rész)
- : egy n-dimenziós vektor (eltolás)
- : a bemeneti vektor
- : az eredmény (transzformált vektor)
🧱 2. Példák 2D-ben
Példa 1: Eltolás
→ Minden pont eltolódik 3 egységgel jobbra és 2-vel felfelé.
Példa 2: Forgatás
→ Eredeti pont elforgatása az origó körül szögben.
Példa 3: Skálázás
→ Nyújtás x-irányban kétszeresére.
🔄 3. Homogén koordinátás forma
Az affin transzformációkat gyakran homogén koordinátákkal (3×3 mátrix 2D esetén) írjuk, hogy az eltolást is mátrixszorzással kezelhessük:
📐 4. Tulajdonságok
| Tulajdonság | Megmarad? |
|---|---|
| Párhuzamosság | ✅ Igen |
| Egyenesek | ✅ Igen |
| Arányok (arányos osztás) | ✅ Igen |
| Távolságok | ❌ Nem |
| Szögek | ❌ Nem |
| Kör → ellipszis | ✅ Igen (általában torzul) |
🧰 5. Alkalmazások
👨💻 Számítógépes grafika:
- Objektumok forgatása, nyújtása, tükrözése
- Képek elmozdítása, torzítása (pl. OpenCV
warpAffine())
🧮 Gépi tanulás / képfeldolgozás:
- Data augmentation: kép elforgatása, átméretezése
🛰️ Geodézia és térképészet:
- Térképek átalakítása különböző vetületek között
🤖 Robotika:
- Koordinátarendszerek közötti transzformáció (pl. robotkar és szenzor között)
⚙️ 6. Implementáció (pl. Python/OpenCV)
import cv2
import numpy as np
image = cv2.imread("input.jpg")
rows, cols = image.shape[:2]
# 3 pont alapján számolt affin mátrix
src = np.float32([[0,0], [1,0], [0,1]])
dst = np.float32([[0,0], [1,0.2], [0.2,1]])
M = cv2.getAffineTransform(src, dst)
# transzformált kép
output = cv2.warpAffine(image, M, (cols, rows))
📏 7. Összefoglalás
Az affin transzformáció egy olyan geometriai művelet, amely:
- megtartja a párhuzamosságot és az egyenességet,
- torzíthat (például skáláz vagy nyújt),
- sokféle alkalmazásban jelen van a grafikától a térinformatikán át a gépi látásig.
A matematikai rugalmassága és stabilitása miatt ez az egyik legalapvetőbb transzformáció minden számítási geometriában.
- affine transformation - Szótár.net (en-hu)
- affine transformation - Sztaki (en-hu)
- affine transformation - Merriam–Webster
- affine transformation - Cambridge
- affine transformation - WordNet
- affine transformation - Яндекс (en-ru)
- affine transformation - Google (en-hu)
- affine transformation - Wikidata
- affine transformation - Wikipédia (angol)