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