Kugel - Gaalop

Transcription

Kugel - Gaalop
Geometric Algebra Computing
09.11.2012
Dr.-Ing. Dietmar Hildenbrand
LOEWE Priority Program Cocoon
Technische Universität Darmstadt
Am Montag keine Übung!
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Nächste Vorlesungen
09.11.2012
• Pyramiden-Aufgabe Kinderuni
• Einfacher Roboter in CLUCalc
• Prinzip von Gaalop (Symbolisches
Rechnen)
Mathematische Grundlagen
The way to Gaalop
…
19.10.2012 | Technische Universität Darmstadt | Dietmar Hildenbrand
Was ist das Besondere an der
geometrischen Algebra?
Schule:
Multiplizieren von Zahlen
Geometrische Algebra:
Multiplizieren von geometrischen Objekten
(Punkten, Kugeln etc.)
03.11.2012 | Technische Universität Darmstadt | Dietmar Hildenbrand
Multiplikation von Punkten
Punktpaar: P1^P2
Kugel: P1^P2^P3^P4
Kreis: P1^P2^P3
!
03.11.2012 | Technische Universität Darmstadt | Dietmar Hildenbrand
Kugel
S = P - 0.5*r*r*einf;
03.11.2012 | Technische Universität Darmstadt | Dietmar Hildenbrand
(Mittelpunkt P, Radius r)
Kugel mal Kugel
S1, S2 sind Kugeln
das Produkt
C = S1 ^ S2
beschreibt den Schnitt von S1 und S2,
den Schnitt-Kreis C
03.11.2012 | Technische Universität Darmstadt | Dietmar Hildenbrand
Kugel mal Gerade
Kugel S,
Gerade L
Punktpaar PP = S^L
03.11.2012 | Technische Universität Darmstadt | Dietmar Hildenbrand
Kugel mal Gerade
Kugel S,
Gerade L
Punktpaar PP = S^L
03.11.2012 | Technische Universität Darmstadt | Dietmar Hildenbrand
Kugel mal Gerade
Kugel S,
Gerade L
Punktpaar PP = S^L
Was passiert beim Multiplizieren von Kugel und Kreis?
03.11.2012 | Technische Universität Darmstadt | Dietmar Hildenbrand
Kugel mal Kreis
Kugel S, Kreis C
PP = S^C
03.11.2012 | Technische Universität Darmstadt | Dietmar Hildenbrand
Kugel mal Kugel mal Kugel
Was passiert, wenn drei Kugeln miteinander multipliziert werden?
03.11.2012 | Technische Universität Darmstadt | Dietmar Hildenbrand
Kugel mal Kugel mal Kugel
Was passiert, wenn drei Kugeln miteinander multipliziert werden?
das gleiche wie wenn ein Kreis mit einer Kugel multipliziert wird
Punktpaar: PP = S1^S2^S3;
03.11.2012 | Technische Universität Darmstadt | Dietmar Hildenbrand
Geometrische Algebra
Kugel:
S = P - 0.5*r*r*einf;
S = *(P1^P2^P3^P4);
Kreis:
C = S1^S2;
Punktpaar: PP = S1^S2^S3;
Punkt:
P = SelectPoint(PP);
03.11.2012 | Technische Universität Darmstadt | Dietmar Hildenbrand
(Mittelpunkt P, Radius r)
Aufgabe 1
Dreieck mit den Eckpunkten P1, P2 und P3
Berechne den Punkt P4 mit Abstand
a1
a2
a3
03.11.2012 | Technische Universität Darmstadt | Dietmar Hildenbrand
Aufgabe 2
Dreieck mit den Eckpunkten P1, P2 und P3
Berechne den Punkt P4 mit Abstand
a1
a2
a3
Umhüllende Kugel der Pyramide?
03.11.2012 | Technische Universität Darmstadt | Dietmar Hildenbrand
CLUCalc
Software zum Rechnen mit geometrischer Algebra
Kostenlos aus dem Internet von www.clucalc.info
03.11.2012 | Technische Universität Darmstadt | Dietmar Hildenbrand
Geometrische Algebra
Kugel:
S = P - 0.5*r*r*einf;
S = *(P1^P2^P3^P4);
Kreis:
C = S1^S2;
(Mittelpunkt P, Radius r)
Punktpaar: PP = S1^S2^S3;
Punkt:
P = SelectPoint(PP);
Farbe:
Color(Rot,Grün,Blau,Durchsichtigkeit)
(Werte zwischen 0 und 1)
:S für die obige Kugel etc.
Anzeige:
03.11.2012 | Technische Universität Darmstadt | Dietmar Hildenbrand
Pyramidenaufgabe mit CLUCalc
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Übersicht der geometrischen Basisobjekte
Bem: Repräsentationen sind dual zueinander
10.11.2012 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 20
Übersicht der geometrischen Basisobjekte
IPNS
OPNS
Bem: Repräsentationen sind dual zueinander
10.11.2012 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 21
IPNS von e0?
Menge aller Punkte, welche
erfüllen
kann überführt werden in die implizite Form
was dem Ursprungspunkt entspricht
Anm.: Skalierte algebraische Ausdrücke haben keine Auswirkung auf die
geometrische Form des Objekts (homogene Koordinaten)
10.11.2012 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 22
Bedeutung von
?
Das 5D- konforme Modell beinhaltet eine stereographische Projektion
in den R3
R3
wird auf die Unendlichkeit im zugrunde liegenden Raum abgebildet
10.11.2012 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 23
Geometrische Basisobjekte in
konformer GA
Kugeln unterschiedlicher Dimension
Dimension 3
Kugel mit endlichem Radius
Punkt als Kugel mit Radius = 0
Ebene als Kugel mit unendlichem Radius
Dimension 2
Kreis als 2-dimensionale Kugel
Gerade als Kreis mit unendlichem Radius
Orientierter Punkt als Kreis mit Radius = 0
Dimension 1
Punktpaar als 1-dimensionale Kugel
10.11.2012 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 24
Rechnen in 5D (konforme
geometrische Algebra)
Aufgabenstellung liegt in 3D vor
Übersetzung nach 5D
Bsp. Punkt
Rechnung einfacher und intuitiver
Nicht linear -> linear
Rechnung in 5D
-> Lösung in 3D
10.11.2012 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 25
Einfacher Roboter mit CLUCalc
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Prinzip von Gaalop
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Symbolisches Rechnen mit Maple
Computer Algebra System
Erlaubt symbolisches Rechnen
Cliffordlib für Geometrische Algebra (Fauser/Ablamowicz)
Ziel: Reduktion von Ausdrücken bis zu den einfachsten Additionen und
Multiplikationen
10.11.2012 | Computer Science | Interactive-Graphics Systems Group (GRIS) | Dietmar Hildenbrand | 28
Beispiel für symbolische
Vereinfachung mit Maple
10.11.2012 | Computer Science | Interactive-Graphics Systems Group (GRIS) | Dietmar Hildenbrand | 29
Beispiel für symbolische
Vereinfachung mit Maple
10.11.2012 | Computer Science | Interactive-Graphics Systems Group (GRIS) | Dietmar Hildenbrand | 30
Beispiel für symbolische
Vereinfachung mit Maple
10.11.2012 | Computer Science | Interactive-Graphics Systems Group (GRIS) | Dietmar Hildenbrand | 31
Beispiel für symbolische
Vereinfachung mit Maple
10.11.2012 | Computer Science | Interactive-Graphics Systems Group (GRIS) | Dietmar Hildenbrand | 32
Beispiel für symbolische
Vereinfachung mit Maple
10.11.2012 | Computer Science | Interactive-Graphics Systems Group (GRIS) | Dietmar Hildenbrand | 33
Beispiel für symbolische
Vereinfachung mit Maple
C_e[9] := -1/2*pwx*L1^2
C_e[10] := pwx
…
10.11.2012 | Computer Science | Interactive-Graphics Systems Group (GRIS) | Dietmar Hildenbrand | 34
C_e[16] := …
Geometric Algebra Computing Architecture
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Geometric Algebra Computing Architecture
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Horizon Example in Gaalop
based on the CLUCalc language (www.clucalc.info)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Horizon Example in Gaalop
Symbolic Evaluation of C
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Horizon Example in Gaalop
32-dim multivector array with optimized coefficient computations
… to be further optimized from the storage point of view
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Horizon Example in Gaalop
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Horizon Example in Gaalop
Different formulae -> same optimized result
Gaalop optimizes parts of algorithms!
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Advantages for GPUs
Sum of products -> SIMD
Few special cases
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Reference
„Foundations of
Geometric Algebra Computing“
Dietmar Hildenbrand
Springer, Nov. 2012
Article in Elektronik-Praxis:
http://www.elektronikpraxis.vogel.de/grundlagenwissen/articles/376044/
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Thanks a lot
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt