En "enkel" introduktion till Konform Geometrisk Algebra (CGA)

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.
Läsanvisning. Vi håller oss i planet (2D) för enkelhets skull. Allt generaliserar till 3D (sfärer, plan, linjer) med samma idéer.

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:

\[ X(x,y) \;=\; e_0 \;+\; x\,e_x \;+\; y\,e_y \;+\; \tfrac{1}{2}(x^2+y^2)\,e_\infty, \qquad X(x,y)^2 = 0. \]

Avstånd med en inreprodukt

För två punkter \(P=(x_1,y_1)\) och \(Q=(x_2,y_2)\) gäller:

\[ \|P-Q\|^2 \;=\; -2\,X(P)\cdot X(Q). \]

Linjen genom två punkter

I CGA skrivs linjen genom punkterna \(A\) och \(B\) (OPNS – ”outer product null space”) som:

\[ L \;=\; X(A)\,\wedge\,X(B)\,\wedge\,e_\infty. \]

En punkt \(P\) ligger på linjen om och endast om:

\[ X(P)\,\wedge\,L \;=\; 0. \]

Numeriskt exempel

Välj \(A=(1,0)\) och \(B=(0,1)\). Då är

\[ X(A) = e_0 + e_x + \tfrac{1}{2} e_\infty,\qquad X(B) = e_0 + e_y + \tfrac{1}{2} e_\infty. \]

Linjen blir:

\[ L = X(A)\wedge X(B)\wedge e_\infty. \]

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:

\[ C \;=\; X(A)\,\wedge\,X(B)\,\wedge\,X(C) \]

(OPNS‑form). En punkt \(P\) ligger på cirkeln om och endast om:

\[ X(P)\,\wedge\,C \;=\; 0. \]

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:

\[ C = X(A)\wedge X(B)\wedge X(C). \]

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:

\[ X(P)\cdot C^\ast = 0 \quad\iff\quad P \text{ ligger på cirkeln.} \]

För en cirkel med centrum \(c\) och radie \(r\) kan man skriva \(C^\ast = X(c) - \tfrac12 r^2 e_\infty\). Då blir:

\[ X(P)\cdot C^\ast = \tfrac12\big(\|P-c\|^2 - r^2\big), \]

vilket direkt talar om om \(P\) ligger inuti, 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:

\[ X' \;=\; -\,A\,X\,A^{-1}, \]

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*)

Slutord. CGA gör skolgeometri till ren algebra: ”linje = wedge”, ”cirkeltillhörighet = wedge eller dot”. Det är därför CGA känns så kraftfullt redan på den här nivån – du får en knapp handfull regler som täcker nästan allt i plan geometri, och samma regler skalar till 3D (sfärer/plan) och vidare.

Kommentarer

Populära inlägg i den här bloggen

Creating Digital Art Using 2D Fourier Transforms

The Philosophy of Norwood Russell Hanson

Are Stars a Form of Life? A Metabolic Perspective