Ga naar hoofdinhoud

Affiene transformatie uitgelegd: eigenschappen en toepassingen

Leer over de definitie, formule, kerneigenschappen, homogene coördinaten en toepassingen van affiene transformaties in graphics, computervision, robotica en datapreprocessing.
Bijgewerkt 2 okt 2026  · 14 min lezen

Verken met AI

ChatGPTClaudePerplexity

Een affiene transformatie is een proces dat punten in de ruimte naar nieuwe punten verplaatst door een lineaire transformatie en een verschuiving toe te passen, wat translatie wordt genoemd. Je kunt roteren, schalen, scheren, spiegelen en daarna alles verschuiven, terwijl rechte lijnen recht blijven. 

Affiene transformaties zijn alomtegenwoordig omdat ze een breed scala aan geometrische veranderingen omvatten die de geometrie van een object behouden en toch goedkoop te berekenen zijn.

Diverse toepassingen van affiene transformaties

Diverse toepassingen van affiene transformaties. Bron van de afbeelding: Napkin AI

Het idee ontstond toen wiskundigen zoals Leonhard Euler en August Ferdinand Möbius probeerden uit te vinden welke eigenschappen invariant blijven, zelfs wanneer andere dingen veranderen. 

Tegenwoordig is het een essentieel onderdeel van de digitale wereld, van de CSS op een webpagina tot geavanceerde medische beeldvorming.

Wat zijn affiene transformaties?

Affiene transformaties zitten precies tussen “pure lineaire algebra” en “geometrie in de echte wereld” in. Ze houden de wiskunde netjes, terwijl ze wel translatie toestaan, wat lineaire afbeeldingen op zichzelf niet kunnen.

Affiene ruimten en transformaties begrijpen

Een vectorruimte heeft een speciaal punt dat de oorsprong wordt genoemd (ook als je die niet tekent, bestaat hij conceptueel). In een vectorruimte kun je vectoren optellen en schalen, en is er een onderscheiden “nulvector”.

Een affiene ruimte lijkt op een vectorruimte zonder gekozen oorsprong. Je kunt nog steeds praten over:

  • punten (locaties)
  • verplaatsingsvectoren tussen punten (bijv. “ga van P naar Q”)
  • een vector bij een punt optellen (verplaats het punt met die verplaatsing)

Maar je kunt twee punten niet betekenisvol optellen, omdat de optelling van punten afhangt van een keuze van oorsprong.

Formeel is een affiene ruimte A boven een vectorruimte V een verzameling punten met een vrije en transitieve werking van V. Praktisch: verschillen tussen punten leven in V, maar de individuele punten zelf niet.

Een affiene transformatie is een afbeelding tussen affiene ruimten die affiene combinaties behoudt (daarover later meer) en geometrisch rechte lijnen en paralleliteit bewaart.

Formule voor affiene transformatie: definitie met vectorruimten

In coördinaten heeft een affiene transformatie de vorm:

Affiene transformatie in matrixvorm. 

Waarbij:

  • x ∈ Rn je invoerpunt is (als kolomvector)
  • A ∈ Rn×n een matrix is die het lineaire deel voorstelt (rotatie, schaling, schuiving, spiegeling, combinaties)
  • b ∈ Rn een vector is die de translatie vertegenwoordigt

Deze “lineair + constante” structuur verklaart waarom affiene afbeeldingen zo populair zijn in engineering en computing: ze zijn expressief, maar nog steeds snel en stabiel toe te passen.

Belangrijke eigenschappen van affiene transformaties

Affiene transformaties behouden verschillende “structurele” geometrische relaties, terwijl ze toestaan dat vormen worden uitgerekt of scheefgetrokken.

Welke eigenschappen blijven behouden in affiene transformaties?

Eigenschappen die behouden blijven bij affiene transformaties

Eigenschappen die behouden blijven bij affiene transformaties. Bron: Napkin AI

Behouden:

  1. Collineariteit: als punten vooraf op dezelfde lijn liggen, liggen ze achteraf ook op één lijn.
  2. Paralleliteit: evenwijdige lijnen blijven evenwijdig (dit is belangrijk in graphics en cartografie).
  3. Convexiteit: een convexe vorm blijft convex.
  4. Verhoudingen langs een lijn: als een punt een lijnstuk in een verhouding verdeelt, blijft die verhouding behouden.

Een handige manier om dit uit te drukken is via affiene combinaties:

Affiene afbeeldingen behouden deze combinaties.

Niet behouden (in het algemeen):

  • Afstanden
  • Hoeken
  • Oppervlakken/volumes (tenzij aan speciale voorwaarden is voldaan)

Tot slot zijn affiene transformaties gesloten onder compositie: het uitvoeren van de ene affiene transformatie na de andere levert nog steeds een affiene transformatie op.

Groepsstructuur van affiene transformaties

Affiene transformaties vormen een groep onder compositie (vaak de affiene groep genoemd, genoteerd als Aff(n)).

De compositie werkt netjes als

en

dan

Dit is nog steeds affien. 

Een opmerking over invertibiliteit: Ax+b is inverteerbaar als A inverteerbaar is (det⁡(A)≠0). Dan geldt:

Zo krijg je een krachtige algebra: bouw complexe transformaties door eenvoudige te schakelen, en draai ze terug wanneer nodig.

Affiene transformatie-matrix

Om affiene transformaties efficiënt te berekenen, gebruiken we matrices—met name homogene coördinaten, die translatie op een matrix-compatibele manier mogelijk maken.

Algemene vorm van affiene transformatie-matrices

In n dimensies is de transformatie als volgt:

waarbij

  • A de vormverandering bepaalt (lineair component).

  • b de verplaatsing regelt (translatie)

De eis voor invertibiliteit is dat matrix (A) inverteerbaar moet zijn. Simpel gezegd: als (A) alle punten samenperst op één lijn (waardoor de rang afneemt), kan hij niet eenduidig worden teruggedraaid.

Homogene coördinaten en uitgebreide matrixrepresentatie

Translaties kunnen niet worden weergegeven door een (n x n)-matrix die alleen op (x) werkt. Homogene coördinaten lossen dit op door een extra coördinaat toe te voegen.

Stel een 2D-punt ((x, y)) voor als ((x, y, 1)).

Dan wordt een 2D-affiene transformatie een 3×3-matrix:

2D-affiene transformatie met homogene coördinaten (3×3-matrix). Bron: auteur

2D-affiene transformatie met homogene coördinaten (3×3-matrix). Bron: auteur

Voordelen:

  • De compositie wordt eenvoudiger tot vermenigvuldiging (alleen matrixvermenigvuldiging nodig).
  • Geoptimaliseerde pipelines (graphics- en vision-bibliotheken geven hier de voorkeur aan)
  • Consistente behandeling van translatie, rotatie, schaling en schuiving

Typen affiene transformaties

De meeste affiene transformaties in de praktijk bestaan uit een handvol stappen. 

Translatie in affiene transformaties

Translatie verplaatst elk punt met dezelfde verplaatsing: T(x)=x+b

2D-homogene vorm wordt weergegeven door:

Translatie als homogene transformatie-matrix (2D). Bron: auteur

Translatie als homogene transformatie-matrix (2D). Bron: auteur

Deze vorm wordt gebruikt in graphics (om dingen te verplaatsen), robotica (om coördinatenstelsels te veranderen) en vision (voor beelduitlijningen).

Schaaltransformaties: uniform en niet-uniform

Uniforme schaling: In 2D betekent uniforme schaling dat je in alle richtingen dezelfde factor (s) gebruikt. 

Uniforme 2D-schaalmatrix. Bron: auteur

Uniforme 2D-schaalmatrix. Bron: auteur

Niet-uniforme schaling:

Niet-uniforme 2D-schaalmatrix. Bron: auteur

Niet-uniforme 2D-schaalmatrix. Bron: auteur

3D-schaling is daarentegen als een 3×3-diagonaalmatrix. Als je schaalt, blijven rechte lijnen en paralleliteit behouden, maar afstanden veranderen (tenzij s=1).

Rotatietransformaties in 2D en 3D

2D-rotatie met hoek (theta):

2D-rotatietransformatie met een hoek. Bron: auteur

2D-rotatietransformatie met een hoek. Bron: auteur

Als je in 3D roteert, doe je dat rond een as (x, y of z) met de bijbehorende matrices. Als je translatie toevoegt aan een rotatie, blijft het affien (en wordt het een “rigide beweging” als je alleen rotatie en translatie gebruikt).

Schuivende transformaties uitgelegd

Schuiving “kantelt” vormen. Een 2D x-shear is:

2D x-shear-representatie. Bron: auteur

2D x-shear-representatie. Bron: auteur

Een y-shear:

2D y-shear-representatie. Bron: auteur

2D y-shear-representatie. Bron: auteur

Shears worden vaak gebruikt in typografie, visuele vervormingen en effecten die op perspectief lijken (hoewel echt perspectief projectief en niet affien is). 

Spiegelingstransformaties in affiene geometrie

Wanneer je spiegelt ten opzichte van assen of vlakken die door de oorsprong lopen, is dat een lineaire spiegeling (en dus affien).

2D-spiegeling ten opzichte van de x-as:

2D-spiegeling over de x-as. Bron: auteur

2D-spiegeling over de x-as. Bron: auteur

Over de y-as:

2D-spiegeling over de y-as. Bron: auteur

2D-spiegeling over de y-as. Bron: auteur

Spiegelingen veranderen de oriëntatie en zijn nuttig voor het analyseren van symmetrie, het herkennen van patronen en het verwerken van geometrie.

Hoe affiene transformaties te componeren en te inverteren

In echte systemen gebruik je zelden slechts één transformatie; je schakelt er veel achter elkaar.

Meerdere affiene transformaties componeren

Stel:

en

Dan:

De volgorde doet ertoe. Eerst roteren en dan transleren is niet hetzelfde als eerst transleren en dan roteren. Dit komt omdat translaties door de volgende matrix worden “opgevangen”.

Een handige manier om het te onthouden is:

  • Als je homogene matrices gebruikt, is compositie matrixvermenigvuldiging
  • De laatste transformatie die je toepast, staat links in de vermenigvuldiging.

Inverse affiene transformaties: berekening en toepassingen

Voor

als (A) inverteerbaar is:

In vision wordt dit vaak gebruikt: je brengt uitvoerpixels vaak terug naar invoerpixels (inverse mapping) om gaten op te vullen.

Lineaire vs. affiene transformaties

Affiene transformaties zijn “lineaire transformaties met een ingebouwde verschuiving.”

Belangrijkste verschillen tussen lineaire en affiene transformaties

Een lineaire transformatie - L(x)=Ax - moet voldoen aan:

  • L(0)=0 (oorsprong blijft op oorsprong)
  • L(x+y)=L(x)+L(y)
  • L(cx)=cL(x)

Een affiene transformatie T(x)=Ax+b:

  • hoeft niet 0 naar 0 te sturen
  • houdt lijnen recht en bewaart paralleliteit
  • werkt lineair zodra je de translatie wegdenkt

Elke lineaire afbeelding is affien (zet b=0), maar niet alle affiene afbeeldingen zijn lineair (elke niet-nul translatie verbreekt lineariteit).

Affiene transformaties als lineair plus translatie

Je kunt herschrijven:

als “doe het lineaire deel (Ax), voeg dan translatie (b) toe.” 

De 1D-versie ken je al als je ooit (y=mx+c) hebt gezien. Daarom worden affiene afbeeldingen ook vaak gebruikt in neurale netwerken: een dense layer berekent (Wx+b), wat een affiene afbeelding is. Daarna wordt niet-lineariteit toegevoegd. 

Computergraphics en computervision gebruiken affiene transformaties.

Affiene transformaties in computergraphics en computervision

Hier worden affiene transformaties minder abstract en echt praktisch nuttig.

Beeldtransformatie en -vervorming met affiene transformaties

In beeldverwerking worden affiene transformaties gebruikt voor:

  • rotatie en formaatwijziging
  • translatie (afbeeldingen verplaatsen)
  • scheefcorrectie (shear)
  • uitlijning/registratie (afbeeldingen matchen)

Twee belangrijke implementatie-ideeën:

  • Forward mapping: elk invoerpixel wordt vooruit gemapt. Dit kan gaten/holes creëren. 
  • Inverse mapping: voor elk uitvoerpixel map je terug om te vinden waar het vandaan komt; dit is meestal de betere optie.

Interpolatie is belangrijk omdat de gemapte coördinaten vaak niet precies op hele pixels vallen. Veelvoorkomende methoden zijn:

  • Nearest neighbor: snelst, met blokvorming
  • Bilineair: vloeiender, meestal de standaard
  • Bicubisch: vloeiender maar kost meer rekenkracht

Affiene transformaties in 3D-graphics en rendering

Affiene transformaties worden overal in 3D-graphics gebruikt:

  • modeltransformaties (object lokaal → wereld)
  • viewtransformaties (wereld → camera)
  • voorbereiding van projectie (affien deel gebeurt vóór de projectieve stap)

Een subtiel maar belangrijk punt: wanneer schaling niet-uniform is, veranderen oppervlaknormaallijnen niet altijd op dezelfde manier als punten. Om correcte belichting te garanderen, gebruiken renderpipelines vaak de inverse-transpose van het lineaire deel voor normal vectors.

Affiene transformaties in robotica

Robotica draait om de alomtegenwoordigheid van coördinatenstelsels.

Affiene transformaties mappen:

  • robotbasisframe ↔ armframe ↔ eind-effectorframe
  • cameraframe ↔ wereldframe
  • lidar ↔ voertuigcoördinaten

Bij vision-gebaseerde lokalisatie (bijv. visuele odometrie) kunnen kleine bewegingen tussen frames lokaal vaak als affien in beeldruimte worden benaderd, wat helpt bij het volgen en het schatten van beweging. 

Coördinatenruimtemapping en datanormalisatie

In machine learning is feature scaling vaak affien:

  • Min-max-scaling: (x' = alfa x + bèta)
  • Standaardisatie: (x' = (x-μ)/σ) (ook affien)

Dit is belangrijk omdat veel modellen (vooral op gradiënt gebaseerde) beter werken wanneer features vergelijkbare schalen hebben.

Geavanceerde concepten en theorie rond affiene transformaties

Affiene transformaties lijken in eerste instantie eenvoudig, maar de theorie is diepgaand, zeker wanneer je je gaat bezighouden met invarianten zoals oppervlakte of alternatieve coördinatenstelsels.

Geavanceerde concepten van affiene transformaties. Bron: Napkin AI

Geavanceerde concepten van affiene transformaties. Bron: Napkin AI

Affiene geometrie en barycentrische coördinaten

Barycentrische coördinaten drukken een punt uit als een gewogen mix van de hoekpunten van de driehoek:

Deze coördinaten zijn affien-invariant, wat betekent dat als je de driehoek en het punt op een affiene manier verandert, λi hetzelfde blijft.

Daarom worden barycentrische coördinaten veel gebruikt in: texture mapping, mesh-interpolatie en eindige-elementenanalyse.

Maatbehoudende en equiareale affiene transformaties

Een affiene transformatie behoudt oppervlakte (2D) of volume (3D) wanneer:

De determinant van A vertelt je hoeveel de oppervlakte of het volume verandert wanneer het lineaire element wordt toegevoegd.

Als (|det(A)| > 1), wordt de ruimte groter; maar als die kleiner is dan één, wordt de ruimte kleiner. Als hij negatief is, verandert de oriëntatie (zoals bij een spiegeling). Dit is cruciaal voor visuals, fysicasimulaties en het modelleren van vervorming.

Gelijkvormigheidstransformaties en isometrieën in affiene geometrie

Relaties:

  • Affien: (Ax+b) (algemene geval)
  • Gelijkvormig: schaling + rotatie + translatie (behoudt hoeken, tot op schaal)
  • Isometrie (rigide): rotatie + translatie (behoudt afstanden en hoeken)

Dus: isometrieën ⊂ gelijkvormigheden ⊂ affiene transformaties

Deze hiërarchie helpt je het juiste model te kiezen voor een probleemstelling. Als je bijvoorbeeld afstanden moet behouden, is affien te ruim.

Projectieve transformaties en affiene extensies in hogere dimensies

Affiene transformaties zijn een type projectieve transformatie. Projectieve transformaties kunnen perspectief modelleren, zoals hoe evenwijdige lijnen elkaar ontmoeten in een verdwijnpunt. Affiene transformaties kunnen dit niet.

In homogene coördinaten laten projectieve transformaties een bredere laatste rij toe dan ([0,0,1]). Die extra vrijheid zorgt voor perspectiefeffecten.

Affiene concepten werken ook in hogere dimensies, zoals 4D-homogene transformaties in 3D-graphics.

Affiene transformaties implementeren

Affiene transformaties zijn “gemakkelijke wiskunde”, maar de manier waarop je ze gebruikt kan het resultaat maken of breken.

Numerieke stabiliteit en precisie bij affiene transformaties

Veelvoorkomende problemen:

  • Bijna-singuliere matrices: als (det(A)) dicht bij 0 ligt, wordt inversie onstabiel 
  • Ophoping van drijvendekommafouten: herhaalde composities kunnen weglopen
  • Extreme schaling: extreem grote of kleine schalen kunnen de nauwkeurigheid verminderen.

Best practices:

  • Bekijk het conditiegetal (of op zijn minst |det(A)|) als een snelle waarschuwing. 
  • Kies voor inversie stabiele bibliotheken zoals NumPy en Eigen.
  • Re-orthonormaliseer rotatiematrices wanneer je veel opeenvolgende stappen uitvoert, zoals in graphics of robotica.

GPU-implementatie en parallelle verwerking van affiene transformaties

Affiene transformaties zijn bij uitstek parallel: elk punt of pixel verandert op zichzelf. Dit maakt ze geschikt voor SIMD en GPU-kernels.

Daarom werken beeldvervormingen en renderpipelines goed met GPU's: ze kunnen veel vermenigvuldigingen en optellingen tegelijk uitvoeren.

Enkele gangbare optimalisaties zijn: fused multiply-add gebruiken, transformaties batchen en het aantal geheugentransfers beperken. 

Gespecialiseerde toepassingen en extensies van affiene transformaties

Affiene transformaties zijn voor veel taken “rigide genoeg”, en ze kunnen ook worden gebruikt om flexibelere modellen te bouwen.

B-spline-affiene transformaties voor niet-rigide registratie

In morfometrie en medische beeldvorming is zuiver affiene uitlijning slechts de eerste stap. Na grove uitlijning maken B-spline-gebaseerde vervormingsmodellen het mogelijk om vloeiende, niet-rigide vervormingen te maken, terwijl de controlepunten begrijpelijk blijven.

Zie het zo: affien zet het geheel recht, en B-splines verzorgen de kleine bochten.

Affiene invariantie in patroonherkenning en computervision

Veel herkensystemen proberen affien-invariant te zijn, zodat objecten nog steeds worden herkend wanneer het gezichtspunt op een affiene manier verandert. 

Technieken omvatten:

  • affien-invariante features gebruiken (of patches normaliseren)
  • lokale affiene frames voor keypoints bepalen
  • descriptors ontwerpen die robuust zijn tegen scheefstand en schaal

Dit maakt bewerkingen zoals matchen, tracken en ophalen betrouwbaarder.

Affiene transformaties in GIS en geodetische coördinatenstelsels

In GIS komen affiene transformaties voor bij georefereren van kaarten, het uitlijnen van lagen uit verschillende bronnen of lokale benaderingen van coördinatenconversies.

Echte geodetische transformaties kunnen complexer zijn, maar affiene modellen worden vaak gebruikt als lokale benaderingen of als onderdeel van een bredere pipeline.

Softwarebibliotheken voor affiene transformaties 

Je hoeft niet alles vanaf nul te bouwen; de meeste ecosystemen hebben goede ondersteuning.

Affiene transformaties implementeren in Python, C++ en Java

  • Python: NumPy voor matrixrekenen; OpenCV voor beeldvervormingen; SciPy voor numerieke tools. 
  • C++: Eigen (lineaire algebra), OpenCV (vision), GLM (graphics-wiskunde)
  • Java: Apache Commons Math en vision-toolkits afhankelijk van de stack

Kernidee over talen heen:

  1. Stel punten voor als vectoren
  2. Pas (Ax+b) toe (of homogene matrixvermenigvuldiging)
  3. Gebruik matrixvermenigvuldigingen om transformaties te componeren. 
  4. Draai om indien nodig met (A-1)

Beste softwaretools en -bibliotheken voor affiene transformaties

Beste tools en bibliotheken voor affiene transformaties. Bron: Napkin AI

Beste tools en bibliotheken voor affiene transformaties. Bron: Napkin AI

Veelgebruikte tools:

  • OpenCV: warpAffine, getAffineTransform, estimateAffine2D (vision-workflows)
  • NumPy: matrixbewerkingen in het algemeen
  • Eigen: high-performance C++ lineaire algebra
  • GLM / DirectXMath: graphics-gerichte wiskundebibliotheken
  • GDAL / PROJ (GIS): coördinatentransformaties en geospatiale pipelines

Kies op basis van je domein: OpenCV voor beelden, GLM voor graphics, GDAL/PROJ voor GIS.

Alternatieve perspectieven op affiene transformaties

Dezelfde gedachte anders uitgelegd horen kan soms veel verhelderen.

Alternatieve definities: affiene afbeeldingen en affiene functies

Een affiene afbeelding kan worden gedefinieerd als een functie die de integriteit van affiene combinaties behoudt:

Deze formulering bindt zich niet aan één oorsprong, wat heel “affiene geometrie” in geest is. Het maakt ook meteen duidelijk dat lijnen in lijnen overgaan.

Affiene transformaties en de formule (y = mx + b)

Als affiene transformaties abstract aanvoelen, relateer ze dan aan wat je al kent: (y=mx) is lineair (het gaat door de oorsprong), en (y=mx+b) is affien (het heeft hetzelfde hellingeffect plus een verschuiving).

In hogere dimensies wordt (m) een matrix (A), maar het verhaal blijft hetzelfde: het werkt lineair en verschuift de boel.

Conclusie

Affiene transformaties, als je alle extra's weghaalt, komen hierop neer: “Ik houd je wereld van rechte lijnen en evenwijdige randen intact, maar ik kan niet beloven dat je hoeken hetzelfde blijven.”

Als je in termen van matrices en lineaire systemen denkt, bekijk dan Linear Algebra for Data Science in R en tutorials die zich richten op matrices, waaronder Row Echelon Form Explained.

Als je met computervision aan de slag wilt, zijn projecten zoals Food Image Classification with Hugging Face en cursussen zoals Working with Hugging Face een goede volgende stap.


Vikash Singh's photo
Author
Vikash Singh
LinkedIn

Ervaren professional in data science, kunstmatige intelligentie, analytics en datastrategie.

FAQs

Wat is een affiene transformatie?

Een affiene transformatie beeldt punten af met T(x)=Ax+b, waarbij A een lineaire transformatie is en b een translatie. Het omvat rotatie, schaling, schuiving, spiegeling en verschuiving in één kader.

Hoe verschilt een affiene transformatie van een lineaire transformatie?

Een lineaire transformatie, geschreven als L(x)=Ax, moet de oorsprong naar zichzelf sturen. Een affiene transformatie omvat translatie (b≠0), wat betekent dat hij de oorsprong kan verschuiven.

Welke geometrische eigenschappen blijven behouden bij affiene transformaties?

Affiene transformaties behouden rechte lijnen, collineariteit en paralleliteit, en houden zo de “lijnstructuur” intact. Ze behouden ook de verhoudingen van afstanden langs dezelfde lijn (bijvoorbeeld: middens blijven middens).

Welke eigenschappen blijven niet behouden?

Afstanden en hoeken veranderen over het algemeen, wat betekent dat vormen kunnen uitrekken of vervormen. Oppervlakte en volume kunnen ook veranderen, tenzij aan de determinantenvoorwaarde wordt voldaan.

Is feature scaling in machine learning een affiene transformatie?

Ja—standaardisatie en min-max-scaling zijn voorbeelden van affiene afbeeldingen. Ze wijzigen de coördinaten om optimalisatie beter te laten werken zonder de onderlinge verhoudingen al te veel te veranderen.

Onderwerpen
Data Science

Leer met DataCamp

Cursus

Lineaire algebra voor data science in R

4 uur
21.8K
Deze cursus is een inleiding tot lineaire algebra, een van de belangrijkste wiskundige onderwerpen die ten grondslag liggen aan datawetenschap.
Bekijk detailsRight Arrow
Start Cursus
Meer bekijkenRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer BekijkenMeer Bekijken