En "enkel" introduktion till Konform Geometrisk Algebra (CGA)
En ”enkel” introduktion till Konform Geometrisk Algebra (CGA)
Punkter, linjer, cirklar – utan ekvationssystem.
Varför CGA?
I klassisk analytisk geometri skriver vi ekvationer för linjer och cirklar och löser små system. I konform geometrisk algebra (CGA) blir samma objekt algebraiska element (så kallade blades). Det ger två direkta vinster:
- Enhetligt språk: punkter, linjer och cirklar behandlas likadant.
- Linjära test: den enkla regeln \(X(P)\wedge \text{Objekt}=0\) ersätter ekvationssystem.
Basen i 2D‑CGA och inbäddning av punkter
2D‑CGA använder fyra basisvektorer: \(\{e_x, e_y, e_0, e_\infty\}\), där \(e_0\) och \(e_\infty\) är null (de kvadrerar till noll) och \(e_0\cdot e_\infty = -1\).
En Euklidisk punkt \((x,y)\) bäddas in som en null‑vektor:
Avstånd med en inreprodukt
För två punkter \(P=(x_1,y_1)\) och \(Q=(x_2,y_2)\) gäller:
Linjen genom två punkter
I CGA skrivs linjen genom punkterna \(A\) och \(B\) (OPNS – ”outer product null space”) som:
En punkt \(P\) ligger på linjen om och endast om:
Numeriskt exempel
Välj \(A=(1,0)\) och \(B=(0,1)\). Då är
Linjen blir:
Testa \(P=(2,-1)\): \(X(P)=e_0+2e_x-e_y+\tfrac{5}{2}e_\infty\). Man finner \(X(P)\wedge L=0\), alltså ligger \(P\) på linjen. I vanliga koordinater är det linjen \(x+y=1\).
Sammanfattning (linje):
- \(L=X(A)\wedge X(B)\wedge e_\infty\).
- \(X(P)\wedge L=0 \iff P\) ligger på linjen.
- Ingen lutning, inga koefficienter – bara en wedge.
Cirkeln genom tre punkter
Tre icke‑kollinära punkter i planet bestämmer en unik cirkel. I CGA är:
(OPNS‑form). En punkt \(P\) ligger på cirkeln om och endast om:
Numeriskt exempel
Välj \(A=(1,0)\), \(B=(0,1)\), \(C=(-1,0)\). Då får man (i vanliga koordinater) enhetscirkeln \(x^2+y^2=1\), men i CGA räcker:
För \(P=\!\left(\tfrac{\sqrt2}{2}, \tfrac{\sqrt2}{2}\right)\) gäller \(X(P)\wedge C=0\) → \(P\) ligger på cirkeln. För \(D=(0,2)\) blir testet icke‑noll → \(D\) ligger inte på cirkeln.
IPNS‑form & ”avstånd” till cirkel
Dualisera med pseudoskalaren \(I\) i CGA: \(C^\ast = C\,I^{-1}\). Då är incidens‑testet en enkel inreprodukt:
För en cirkel med centrum \(c\) och radie \(r\) kan man skriva \(C^\ast = X(c) - \tfrac12 r^2 e_\infty\). Då blir:
vilket direkt talar om om \(P\) ligger inuti, på eller utanför cirkeln (negativt, noll, positivt).
Sammanfattning (cirkel):
- \(C=X(A)\wedge X(B)\wedge X(C)\) (OPNS).
- Testa med \(X(P)\wedge C=0\) eller (IPNS) \(X(P)\cdot C^\ast=0\).
- Dual IPNS ger också ”signed distance” till cirkeln via en enda skalar.
Reflektioner & inversioner (bonuseffekt)
I CGA utförs reflektion i en linje eller cirkel med samma sandwich‑regel:
där \(A\) är objektet du reflekterar i: \(L\) (linje, lämpligt dualiserad) eller \(C^\ast\) (cirkel i IPNS). Det betyder att ”inversion i en cirkel” är lika lätt som ”spegling i en linje”.
Snabb ”verktygslåda” (2D‑CGA)
Punkt:
X(x,y) = e0 + x ex + y ey + ½(x²+y²) e∞ (X² = 0)
Avstånd:
||P - Q||² = -2 ( X(P) · X(Q) )
Linje genom A,B (OPNS):
L = X(A) ∧ X(B) ∧ e∞
P på linjen ⇔ X(P) ∧ L = 0
Cirkel genom A,B,C (OPNS):
C = X(A) ∧ X(B) ∧ X(C)
P på cirkeln ⇔ X(P) ∧ C = 0
Cirkel (IPNS, centrum c, radie r):
C* = X(c) - ½ r² e∞
P på cirkeln ⇔ X(P) · C* = 0
”Signed distance”: X(P) · C* = ½(||P-c||² - r²)
Reflektion (linje/cirkel):
X' = - A X A⁻¹ (A = L eller C*)
Kommentarer