Skip to content

Fundamental Bereich Berechnung

Max edited this page Jan 26, 2014 · 1 revision

Definition

Der Fundamentalbereich einer Punktgruppe ist ein Representantensystem der Wirkung der konkreten Gruppe auf eine Punktmenge auf der Einheitskugel.

Die Symmetrien der Gruppe partitioniere so die Oberfläche einer Kugel in einzelne Flächen, von denen keine zwei Punkte auf einander abgebildet werden.

Idee

Die Partitionierung kann berechnet werden indem man die Gruppe auf einen Punkt wirken lässt und den Schnitt der Kugeloberfläche mit dem Voronoidiagram dieser Punkte zu berechnen. Dabei muss man darauf achten, dass der Punkt, den man gewählt hat auf keiner der Symmetryachsen liegt, da man sonst die Wirkung dieser Operation vernachlässigen würde.

Umsetzung

Haben wir eine Voronoizelle zum Punkt x_1 mit den Nachbarn x_2, ..., x_n berechnet, betrachten wir das Ergebnis nun in einer Hyperbolischen Geometrie, d.h. wir betrachten die Kugeloberfläche als gerade. Insbesondere betrachten wir die Ebene, die durch den Kegel (0, x_2, ..., x_n) mit der Kugeloberfläche gebildet wird.

Wir nehmen immer an, dass die Punkte sich in allgemeiner Lage befinden, also wird insbesondere der Schnitt immer ein Simplex ergeben. Das bedeutet ein Dreieck (3D) oder ein Tetraeder(4D).

Von diesem wissen wir, dass eine orthogonal Transformation existiert, so dass wir das ganze in einer Dimension niedriger Darstellen können.

Aber diese berechnen wir zur Zeit noch nicht. Sondern benutzen ein einheitssimplex und projizieren in das berechnete hinein.

Konstruktion

Haben wir nun die Punkte x_1, x_2, .. , x_n wählen wir je d-1 Punkte y_1, ... y_(d-1) aus [2..n] die paarweise verschieden sind und berechnen den Schwerpunkt von x_1, y_1, ..., y_(d-1). Dieser Punkt liegt auf einer Kante des Kegels (0, x_2, ..., x_n).

Haben wir alle diese Punkte können wir daraus ein Simplex erstellen.

Hinweis: Wir haben d über d-1 viele Punkte erstellt aus denen wir in Allgemeiner Lage immer ein Simplex erstellen können, das n muss d+1 sein, da in allgemeiner Lage die Site x_1 genau d Nachbern haben muss in d Dimensionen.

Haben wir nun die Punkte y_1, ... y_d müssen wir diese jetzt in d - 1 Dimensionen darstellen. Dies passiert zur Zeit indem das ganze auf den Nullpunktverschoben wird y_i* = y_i - y_1 wobei nun y_2*, ..., y_d* ein affiner Vektorraum mit y_1 als translation sind um auf den Ursprünglichen zu kommen. Nun wollen wir das ganze auf ein anderes Simplex abbilden bestehend aus e_1, ..., e_(d-1) Einheitsvektoren darstellen. Da es sich bei beiden um ein Simplex handelte sind die Ecken eine Basis des R^(d-1). Bilden wir also die lineare Abbildung f(e_1) = y_(i+1)* so wissen wir das nach Abbildung wiederum ein Simplex herraus kommt.

Die Matrix einer solchen Abbildung ist leicht zu bestimmen:

A_f = ( y_2*, ..., y_d* ) Spaltenmatrix

Die Abbildung die wir erreicht haben ist nun nicht mehr orthogonal, da sie die Länge von Vektoren verändert, aber wir findet für jeden Punkt im Einheitssimplex einen eindeutigen Punkt im Ursprünglichen Simplex.

Berechnung

Bekommen wir nun einen Punkt x aus dem Simplex e_1, ..., e_(d-1) gegeben, so können wir ihn in den Fundamentalbereich Abbilden mit der Berechnung

x_f = normalize((A_f x) + y_1)

Wir bilden also zunächst vom Einheitssimplex in das verschobene Simplex ab, dann verschieben wir den Punkt wieder zurück mit dem affinen Vektor y_1. Zum Schluss müssen wir den Vektor noch normalisieren, da wir den Simplex ja mit einem Hyperebenen schnitt berechnet haben, der eigentliche Fundamentalbereich aber auf der Kugeloberfläche war.

Clone this wiki locally