Hvert punkt i det affine rommet er forbundet med et annet punkt ved en vektor.
Et **affint rom** i matematikken er en utvidelse av et vektorrom hvor punkter og vektorer er mer uavhengige av hverandre. Alle punktene i rommet har samme betydning, og det har derfor ikke noe origo. Punktene kan derfor heller ikke angis ved bruk av posisjonsvektorer som ved bruk av kartesiske koordinater.

Men to vilkårlige punkter kan alltid knyttes sammen med en vektor og definerer en linje. Denne kan parallellforskyves omkring i rommet og på den måten gi ekvivalente vektorer. I motsetning til et euklidsk rom er lengden og vinkler mellom vektorer i et affint rom ikke definerte. Kun forhold mellom avstandene til punkt på samme linje kan bestemmes. Parallellforskyving er den basale operasjon man kan utføre og gir opphav til affin geometri som kan generaliseres til projektiv geometri. Disse geometriene er mer generelle enn euklidsk geometri idet to av Euklids fem aksiomer ikke lenger er gyldige.

Affine relasjoner mellom punkt og vektorer ble først diskutert av Leonhard Euler på midten av 1700-tallet, men vakte liten interesse. Først knapt hundre år senere gjennom arbeidene til August Möbius ble disse tankene tatt opp av andre og videreført. Det affine rom fikk et mer veldefinert fundament spesielt etter at Felix Klein påviste at dets egenskaper kunne utledes matematisk direkte fra egenskaper ved den tilsvarende symmetrigruppen som en del av hans Erlangen-program.

Punkt og vektorer
-----------------

En addisjon av to vektorer er ekvivalent med differansen mellom to punkt.
I to dimensjoner ser et affint rom ut som et blankt ark hvor man kan tegne inn punkt og rette linjer. Der er ikke noe origo eller koordinatsystem, men hver rett linje man kan tegne inn, angir samtidig retningen til en mulig vektor. De kan parallellforskyves omkring, og mellom to punkt kan det alltid legges en rett linje. Dette rommet har to dimensjoner og betegnes vanligvis som **A**2. 

Likedan kan man generelt definere et *n*-dimensjonalt, affint rom **A***n* bestående av en mengde punkt og retninger som kan parallellforskyves. To vilkårlige punkt *P* og *Q*  kan alltid forbindes med en vektor **v**  og uttrykkes ved sammenhengen **v** = *Q - P*. Dette kan visualiseres som et rettet linjestykke som starter i punktet *P* og går til punktet *Q*. Man kan tegne dette som en pil med halen i *P* og spissen i *Q* som vist i figuren.

Omvendt kan man skrive at *Q* = *P* + **v**. Det betyr at punktet *Q* finnes ved å først gå til *P*  hvorfra man forskyver seg et rettet stykke **v**. Punktet *P* + 2**v**  ville bety at man forflyttet seg dobbelt så langt fra *P* i samme retning. Dette kan lett generaliseres da hver vektor kan multipliseres med et reelt tall som i alle vektorrom **R***n*. Dette tallet kan være positivt, negativt eller null. Er det reelle tallet *a* = 0, vil *a* **v** = **0**  hvor **0**  er nullvektoren. Det betyr at vektoren *P - P* = **0**  og tilsvarende for forskyvningen mellom andre, identiske punkt

Tre punkt kan forbindes med vektorer som tilfredsstiller loven for vanlig vektoraddisjon.
Vektorer kan man regne med som i normale vektorrom. I tillegg kan man addere et punkt til en vektor som gir et nytt punkt. Derimot kan man ikke uten videre addere to punkt som man kan i et euklidsk rom med posisjonsvektorer. Klare regneregler må formuleres som aksiom, selv om de kan se selvinnlysende ut. For eksempel, fra definisjonen **v** = (*Q - P*) må man ha at (*P - Q*) = - (*Q - P*) da den motsatte vektoren - **v** er allerede antatt å eksistere. Derfor må også *Q* = *P* + (*Q - P*). På samme måte må derfor (*Q - P*) + **u** = (*Q* + **u**) - *P* for to vilkårlige punkt *P* og *Q* hvor **u** nå er en eller annen vektor. Begge sider av relasjonen er her vektorer som vist i figuren. Derfor må også (*P* + **u**) + **v** = *P* + (**u** + **v**) definere samme punkt for vilkårlige vektorer **u** og **v**.

Disse antagelsene følger som om parentesene ikke fantes. For eksempel, med et tredje punkt *R* = *Q* + (*R - Q*) hvor *Q* = *P* + (*Q - P*), vil man ha at *R* = *P* + (*Q - P*) + (*R - Q*) slik at (*R - Q*) + (*Q - P*) = (*R - P*). Begge sidene av ligningen definerer en vektor, og den er i overensstemmelse med loven for vanlig vektoraddisjon som illustrert i figuren.

Med denne direkte sammenhengen mellom differanser av punkt og ekvivalent vektorer, kan man gjennomføre noen entydige beregninger. Derimot kan vilkårlige punkter ikke uten videre adderes. Det kan kun gjøres når de vektes på en spesiell måte som kalles en *affin kombinasjon* av punktene. På den måten kan man foreta mye mer generelle beregninger i det affine rommet.

Linjer og affine kombinasjoner
------------------------------

Har man to gitt to punkt *P* og *Q* kan man trekke en linje gjennom disse punktene. Et punkt *X* på linjen vil da være gitt ved å starte i punktet *P* og så bevege seg et stykke langs vektoren (*Q - P*) som forbinder de to gitte punktene som vist i figuren. Matematisk betyr det at linjen kan parametriseres som *X* = *P* + *t* (*Q - P*). Har parameteren *t* verdien null, gir dette utgangspunktet *P*, mens for *t* = 1 finner man punktet *Q*. Er derimot *t* > 1, ligger punktet *X* utenfor *Q*, mens for *t* < 0  ligger det utenfor *P*.

To punkt kan adderes sammen ved en affin kombinasjon. Ved å velge et origo, er dette ekvivalent til bruk av posisjonsvektorer for punktene.
Denne konstruksjonen av en linje gjør det nå naturlig å definere en ny operasjon som virker på punkt. Det skjer ved å skrive

{\displaystyle X=P+t(Q-P)=(1-t)P+tQ}
hvor høyresiden angir en tillatt addisjon av to punkt i et affint rom. Man kan også angi punkt på denne linjen ved en tilsvarende relasjon mellom vektorer basert på et felles referansepunkt *O*. Punktet *P* er forskjøvet fra dette med en vektor **r***P* = (*P - O*)  som er dets *posisjonsvektor*. Den tilsvarer at *P* = *O* + **r***P*. Defineres på samme måte posisjonsvektorene **r***Q*  og **r***X*, kan punkter på linjen gjennom *P* og *Q* nå også skrives som

{\displaystyle \mathbf {r} \_{X}=(1-t)\mathbf {r} \_{P}+t\mathbf {r} \_{Q}}
Punktet *O* fungerer som et origo, og resultatet er i overensstemmelse med hva man ville skrive for punkter på linjen i et vanlig vektorrom.

### Affine kombinasjoner

Utfra denne betraktningen kan man mer generelt for to punkt *P1* og *P2* definere den *affine kombinasjonen* av disse to punktene som

{\displaystyle P=\lambda \_{1}P\_{1}+\lambda \_{2}P\_{2}}
når koeffisientene *λ1* og *λ2* oppfyller betingelsen *λ1 + λ2 = 1*. Da er *P = P1 + λ2(P2 - P1)*  som er veldefinert ut fra tidligere antagelser. Med denne definisjonen kan man altså addere punkt.

Denne nye operasjonen kan lett utvides til å gjelde for addisjon av et vilkårlig antall punkt *P1, P2 , ... Pk* i det affine rommet. Da er en affine kombinasjon *λ1P1 + λ2P2 + ... + λkPk* tillatt når betingelsen

{\displaystyle \lambda \_{1}+\lambda \_{2}+\ldots +\lambda \_{k}=1}
er oppfylt. Koeffisientene *λ1, λ2 , ... λk* kan i her i prinsippet anta alle positive eller negative verdier eller være null.

Et punkt *P0* på linjen mellom punktene *P1* og *P2* må oppfylle ligningen *P0 = λ1P1 + λ2P2*. Dermed er den affine kombinasjonen *a0P0 + a1P1 + a2P2 = 0*  da *a0 + a1 + a2 = 0* med *a0 = 1, a1 = - λ1* og *a2 = - λ2*. De tre punktene *P0, P1* og *P2* sies da å være *affint avhengige* av hverandre. De ligger på samme linje.

Mer generelt sies de *k + 1* punktene *P0, P1, P2 , ... Pk* å være affint avhengige av hverandre hvis

{\displaystyle a\_{0}P\_{0}+a\_{1}P\_{1}+a\_{2}P\_{2}+\dots +a\_{k}P\_{k}=0}
når koeffisientene oppfyller betingelsen

{\displaystyle a\_{0}+a\_{1}+a\_{2}+\ldots +a\_{k}=0}
uten at de samtidig alle er lik null. Setter man herfra inn for *a0*, gir ligningen mellom punktene det ekvivalente resultatet

{\displaystyle a\_{1}\mathbf {v} \_{1}+a\_{2}\mathbf {v} \_{2}+\ldots +a\_{k}\mathbf {v} \_{k}=\mathbf {0} }
hvor ***v**i = Pi - P0*. Disse *k* vektorene må derfor være lineært avhengige av hverandre når de tilsvarende punktene er affint avhengige. Det er lett å innse for punkt på en linje. Når alle vektorer refererer seg til et fast punkt som *P0* her, går det affine rommet **A**n over til å bli lik vektorrommet **R**n.

Barysentriske koordinater
-------------------------

Midtpunktet på linjen på linjen *X* = (1 - *t* )*P* + *t Q*  er gitt ved punktet *X* = (*P + Q*)/2 som tilsvarer *t* = 1/2. Dette punktet tilsvarer massesenteret eller *barysenteret* for de to punktene *P* og *Q* når de antas å ha den samme massen. I det mer generelle tilfellet kan man tenke seg at punktet 
*P* har massen 1 - *t* og punktet *P* har massen *t*. Massesenteret vil nå være gitt som *X* = (1 - *t* )*P* + *t Q*  eller i vektornotasjon **r***X* = (1 - *t* )**r***P* + *t***r***Q*. Koeffisientene *λ*1 = 1 - *t*,  og *λ*2 = *t*,  blir kalt for affine eller normaliserte, barysentriske koordinater (*λ*1, *λ*2)  langs linjen da de oppfyller *λ*1 + *λ*2 = 1. Midtpunktet mellom punktene har derfor koordinatene *λ*1 = *λ*2 = 1/2, mens de gitte punktene *P* og *Q* er gitt ved henholdsvis (1,0)  og (0,1).

Barysentriske koordinater for noen punkter innen en trekant. De er uavhengige av den nøyaktige formen til denne.
Mer interessant er å angi punkt i et affint plan på samme måte. Gitt tre affint uavhengige punkt *P*1, *P*2  og *P*3, så er hvert punkt i planet gitt som

{\displaystyle P=\lambda \_{1}P\_{1}+\lambda \_{2}P\_{2}+\lambda \_{3}P\_{3}}
hvor de barysentriske koordinatene (*λ*1, *λ*2, *λ*3) oppfyller betingelsen *λ*1 + *λ*2 + *λ*3 = 1. For gitte verdier av koordinatene kan det tilsvarende punktet finnes ved å beregne massesentrumet for de tre gitte punktene med disse massene. Punkter innen trekanten som har de tre punktene som hjørner, har alle tre koordinatene postive. For punkter utenfor er minst en av dem negativ. De tre hjørnene har henholdsvis koordinatene (1,0,0), (0,1,0) og (0,0,1). Punkter på siden av trekanten som ligger motsatt punktet *P*1, har alle *λ*1 = 0. Mer generelt har punkter som ligger på linjer parallelle til sidekanten motsatt *P*1, samme verdi for koordinaten *λ*1. Tilsvarende gjelder for de andre hjørnene i trekanten og linjer parallelle med deres motsatte sider.

Hvis man tenker seg at de tre hjørnepunktene er bevegelige og flyttes omkring i planet, vil formen til trekanten forandres. Punkter gitt som skjæringspunkt mellom forskjellige linjer forankret i trekantens sider, vil dermed også forskyves. Men deres barysentriske koordinater forblir uforandret. Slike deformasjoner av trekanten kalles *affine transformasjoner*.

Mange geometriske beregningsoppgaver kan løses enklere ved bruk av slike koordinater. Blant annet finner de en utstrakt bruk innen datagrafikk. I rom med høyere dimensjoner defineres barysentriske koordinater på tilsvarende måte.

Origo og koordinatisering
-------------------------

Komponenentene til forskyvningsvektoren **v**  er uavhengig av noe origo. Den sier kun hvor langt man skal bevege seg og i hvilken retning. Hvis vektoren fremstilles som en pil, kan denne plasseres hvor som helst i rommet uten at komponentene forandres. Disse vektorene er såkalte *frie vektorer*.

Noe annet er det å angi koordinatene til et punkt *P*. Disse må alltid bestemmes i forhold til et annet punkt *O*. Man kan da foreta en *koordinatisering* av rommet med *O* som origo. Har rommet *n* dimensjoner, velger man i tillegg *n* affint uavhengige punkt *P*1, *P*2, ... *P**n*  slik at man kan skrive

{\displaystyle P=O+x\_{1}(P\_{1}-O)+x\_{2}(P\_{2}-O)+\ldots +x\_{n}(P\_{n}-O)}
for et passende valg av koeffisienter *x*1, *x*2, ... *x**n*. Vektorene **e***I* = (*P**I* - O)  danner nå et sett med *n* lineært uavhengige basisvektorer. For dette valget av referansepunkt er *posisjonsvektoren* til punktet *P* nå **x** = *P - O* = ∑*i* *x**i* **e***i*. Alternativt kan hvert slikt punkt også angis ved koordinater som *P* = (*x*0, *x*1, *x*2, ... *x**n*)  hvor den første koordinaten *x*0 henviser til origo og oppfyller *x*0 + ∑*i* *x**i* = 1.

Med dette valget av basisvektorer kan nå en vilkårlig vektor **v**  skrives som

{\displaystyle \mathbf {v} =v\_{1}\mathbf {e} \_{1}+v\_{2}\mathbf {e} \_{2}+\ldots +v\_{n}\mathbf {e} \_{n}}
hvor koeffisientene *v*1, *v*2, ... *v**n*   er dens komponenter i denne basisen.

Affine transformasjoner
-----------------------

Hvis man ved koordinatiseringen av et affint rom velger et annet origo, vil koordinatene til hvert punkt forandres. Dette vil være en *koordinattransformasjon*. Denne kan gjøres mer generell ved også å velge et nytt basissystem for vektorene etter flytting av origo. Man har da valgt et nytt *referansesystem*.

Kalles det nye origo for *O'*, vil et vilkårlig punkt *P* i forhold til dette ha koordinater gitt ved vektoren (*P - O'*) = (*P - O*) - (*O' - O*). Den siste vektoren her representerer en forskyvning eller *translasjon* av origo som kan skrives som **b** = ∑*j* *bj* **e***j*. Med dette nye origo kan man også benytte et nytt basissystem

{\displaystyle \mathbf {e} '\_{j}=\sum \_{i=1}^{n}A\_{ij}\mathbf {e} \_{i}}
hvor koeffisientene *Aij* danner en *n×n* invertibel matrise *A*. Hvert slik matriseelement kan betraktes som *i* - te komponent av vektoren ***e'**j*. De nye koordinatene til punktet *P* følger nå fra vektoren (*P - O'*) = ∑*I* *x'i* **e'***I*  som gir

{\displaystyle x\_{i}=\sum \_{j=1}^{n}A\_{ij}x'\_{j}+b\_{i}}
Det er den mest generelle formen for en affin transformasjon. Mer kompakt kan den skrives på matriseform som **x** = *A* **x'** + **b**. Den inverse transformasjonen er da **x'** = *A*-1(**x** - **b**)  hvor *A*−1  er den inverse matrisen til *A*.

### Aktive transformasjoner

Den røde trekanten transformeres til den blå trekanten under den affine transforma-sjonen *x' = y -100, y' = 2x + y - 100.*
I denne utledningen er den affine transformasjonen funnet ved å betrakte hvordan koordinatene til et og samme punkt forandrer seg ved valg av referansesystem. Dette kalles for en *passiv affin transformasjon*. Punkter og linjer forblir uforandret, de beskrives bare ved andre koordinater.

Ved en *aktiv affin transformasjon* benytter man samme referansesystem, men transformerer hvert punkt i det affine rommet over til et annet punkt i det samme rommet med uforandret koordinatisering. Transformasjonen må være slik at linjer forblir linjer og affine kombinasjoner av punkt må forbli affine. Derved vil ikke de barysentriske koordinatene forandres. Og parallelle linjer forblir parallelle. Men vinkler og lengder av linjesegment vil forandres. Betrakter man et punkt *P* med posisjonsvektor ***x***, vil det gå over i et nytt punkt *P'* med posisjonsvektor ***x'***. På samme måte som for de passive transformasjonene, vil dette transformerte punktet få nye koordinater som kan skrives som

{\displaystyle x'\_{i}=\sum \_{j=1}^{n}A\_{ij}x\_{j}+b\_{i}}
Her er igjen *A* er en *n×n* invertibel matrise og *bi* er komponentene til en translasjonsvektor ***b***. På matriseform kan transformasjonen skrives som ***x'** = A **x** + **b***. Mer kompakt kan den angis som *(A,**b**)*. Den virker på posisjonsvektorer som her tenkes å være kolonnematriser.

To påfølgende transformasjoner *(A1,**b**1)* og *(A2,**b**2)* gir opphav til en transformasjon
***x'** = A2(A1**x** + **b**1) + **b**2*. Da dette er en ny, affin transformasjon *(A2A1, **b**2 + A2**b**1)*, danner de tilsammen en matematisk gruppe. I det spesielle tilfellet at matrisen *A* er lik med enhetsmatrisen, er transformasjonen en ren translasjon. Enhver geometrisk figur vil da ganske enkelt forflyttes uforandret i planet eller rommet.

Som et eksempel i to dimensjoner kan man betrakte den affine transformasjonen

{\displaystyle {\begin{bmatrix}x'\\y'\end{bmatrix}}={\begin{bmatrix}0&1\\2&1\end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}+100{\begin{bmatrix}-1\\-1\end{bmatrix}}}
Origo i punktet (0,0) blir transformert til punktet (-100,-100), punktet (0,100) går til origo, mens punktet (200,0) går til (-100,300). Disse tre punktene definerer en trekant. Som vist i figuren, vil trekanten etter transformasjonen få en ny form.

Homogene koordinater
--------------------

Affine transformasjoner blir mye benyttet i datagrafikk og robotikk. For å kunne gjøre beregningene så raskt som mulig, er det en stor fordel å kunne utføre dem som rene matrisetransformasjoner i stedet for å benytte den inhomogene formen ***x'** = A **x** + **b***. Det muliggjøres ved å gi posisjonsvektorene en ekstra komponent som kan settes lik en. Da tar transformasjonen formen

{\displaystyle {\begin{bmatrix}\mathbf {x} '\\1\end{bmatrix}}={\begin{bmatrix}A&\mathbf {b} \ \\\mathbf {0} ^{T}&1\end{bmatrix}}{\begin{bmatrix}\mathbf {x} \\1\end{bmatrix}}}
hvor ***0**T* er den transponerte av nullvektoren i rommet. Den inngår i *den utvidete transformasjonsmatrisen*. To påfølgende transformasjoner er nå gitt direkte ved matriseproduktet

{\displaystyle {\begin{bmatrix}A\_{2}&\mathbf {b\_{2}} \ \\\mathbf {0} ^{T}&1\end{bmatrix}}{\begin{bmatrix}A\_{1}&\mathbf {b\_{1}} \ \\\mathbf {0} ^{T}&1\end{bmatrix}}={\begin{bmatrix}A\_{2}A\_{1}&A\_{2}\mathbf {b\_{1}} +\mathbf {b} \_{2}\ \\\mathbf {0} ^{T}&1\end{bmatrix}}}
Her går det tydelig frem at resultatet er en ny, utvidet transformasjonsmatrise av nøyaktig den formen som tilsier at den representerer en affin transformasjon.

Gis en posisjonsvektor en slik ekstra komponent ved tilordningen

{\displaystyle \mathbf {x} \rightarrow {\begin{bmatrix}\mathbf {x} \\1\end{bmatrix}}}
kalles de *n + 1* komponentene for **homogene koordinater**. For en ren translasjonsvektor vil den ekstra koordinaten ha verdien null slik at den representeres som

{\displaystyle \mathbf {v} \rightarrow {\begin{bmatrix}\mathbf {v} \\0\end{bmatrix}}}
Når den utvidete transformasjonsmatrisen virker på denne, er resultatet da ganske enkelt at ***v'** = A**v*** da dens komponenter ikke påvirkes av translasjonene.

De homogene koordinatene har sin naturlige plass i projektiv geometri hvor en affin transformasjon er en spesiell, projektiv transformasjon. Den ekstra koordinaten opptrer da naturlig fordi at det affine rommet blir utvidet med ekstra punkt i det uendelige.

### Geometrisk bilde

Kort sagt er et affint rom et vektorrom uten et origo. Derfor er for eksempel enhver linje i planet **R**2  gjennom origo *(0,0)* ikke noe affint rom, men punktene på en linje utenom ligger i det affine rommet **A**1. Alle punkt *P = (x,y)* på denne linjen kan angis som *P = P0 + λ**v*** hvor *P0 = (a,b)* er et vilkårlig punkt og ***v** = (1,k)* er en vektor i **R**2  hvis tilsvarende pil har en helning gitt ved *k*. Denne affine linjen har ligningen *y = k(x - a) + b* og hvilket som helst punkt på den kan velges som origo. Differansen mellom to punkt i dette rommet er nå en ren vektor, *P1 - P2 = (λ1 - λ2)**v***.

I det tredimensjonale vektorrommet **R**3  er på tilsvarende vis hvert plan som går utenom origo *(0,0,0),* et affint rom **A**2. Velges dette å være *z = 1* som er parallelt med *xy* - planet og går gjennom punktet (0,0,1), kan alle punkt *P* i dette planet angis som *P = (x1,x2,1)*. Differansen mellom to punkt blir da av formen ***v** = (v1,v2, 0)*, og man har en koordinatisering som ved bruk av homogene koordinater. I dette bildet befinner de affine punktene seg i planet *z = 1*, mens vektorene ligger i planet *z = 0*.

Løsningsrom for lineære ligninger
---------------------------------

Affine rom oppstår som løsningsmengden for et inhomogent, lineært ligningssystem. For to lineære ligninger med tre ukjente vil hver ligning beskrive et plan i det tredimensjonale rommet **R**3. Løsningene ligger da på skjæringslinjen mellom disse to planene såfremt de ikke er parallelle til hverandre. Denne linjen er da det endimensjonale, affine rommet **A**1.

Mer generelt kan man betrakte *m* lineære ligningen i det *n*-dimensjonale rommet **A**n. Dette ligningssystemet kan skrives kompakt som *A**x** = **b*** hvor *A* er *m×n* matrise med koffesientene til de *n* ukjente som inngår i kolonnevektoren ***x***. De inhomogene leddene i ligningssettet inngår i kolonnevektoren ***b***.

Løsningsrommet til det inhomogene ligningssystemet er tett forbundet med nullrommet til matrisen *A*. Det kan bestemmes fra det homogene ligningssettet *A**x** = **0*** som i alminnelighet vil ha *p* lineært uavhengige løsninger ***v**1, **v**2, ... **v**p*. De utspenner et vektorrom med dimensjon *p = n - r* som er nullrommet til matrisen *A* som antas å ha rangen *r*.

For å finne de generelle løsningene til de opprinnelige ligningene, behøver man i tillegg en spesiell eller *partikular løsning* ***x**0* til det inhomogene ligningssystemet *A**x** = **b***. Den kan finnes ved standard bruk av for eksempel Gauss-eliminasjon eller andre systematiske metoder. Den generelle løsningen kan da skrives på formen

{\displaystyle \mathbf {x} =\mathbf {x} \_{0}+\lambda \_{1}\mathbf {v} \_{1}+\lambda \_{2}\mathbf {v} \_{2}+\ldots +\lambda \_{p}\mathbf {v} \_{p}}
hvor *λi* er vilkårlige koeffisienter. Løsningene angir derfor punkt i et *p*- dimensjonalt, affint rom hvor de ubestemte konstantene *λi* spiller rollen som koordinater.

Litteratur
----------

* G. Fischer, *Analytische Geometrie*, Vieweg Verlag, Wiesbaden (2001). ISBN 978-3-528-67235-5.
* D.J. Struik, *Lectures on Analytic and Projective Geometry*, Dover Publications, Inc. New York (2011). ISBN 0-486-48595-1.

Eksterne lenker
---------------

* J. O'Connor, Geometry and Topology, forelesninger ved St. Andrews University.
* J. Gallier, Basics of Affine Geometry, forelesning i Computer Science ved University of Pennsylvania.

|  |  |
| --- | --- |
| Oppslagsverk/autoritetsdata | MathWorld **·** Encyclopædia Universalis **·** NKC
 |