2d-spielewelten softwaretechnologie ii christian daum
TRANSCRIPT
2D-Spielewelten
Softwaretechnologie IIChristian Daum
Ausgangssituation: Die Erde beschreibt eine kreisförmige Bahn um die Sonne auf einem „Einheitskreis“
Daraus folgt ein konstanter Abstand zum Mittelpunkt – also zur Sonne;
Die Sonnenbewegung selbst wird vernachlässigt
Abstand Erde zur Sonne: ca. 150 Millionen km = ca. 1 astronomische Einheit (aU)
Aufgabenstellung I: Simulation der Erdbewegung um die Sonne (in Echtzeit bitteschön)
Vorgehensweise:
Step 1: Wahl des Koordinatensystems
a) Dimensionen
b) Koordinatenursprung
Step 2: Bestimmung der Erd- & Sonnenposition im Koordinatensystem durch Vektoren
[Exkurs Vektoren]
Step 3: Simulation der Erdbewegung
a) Berechnung aller möglichen Varianten der Erdposition auf Ihrer Umlaufbahn
b) Berechnung der Bewegungsrichtung der Erde
c) Berechnung der Kräfte, welche die Erde auf ihrer Umlaufbahn halten
Step 1: Wahl des Koordinatensystems
a) Dimensionen: Die Erde beschreibt ihre Umlaufbahn hier auf 1 Ebene -> ergo ist ein 2D-Koordinatensystem zur Positionsbeschreibung ausreichend
b) Wahl des Ursprungs (0/0) des K-Systems: Prinzipiell frei wählbar -> Empfehlung: Die Erdbewegung sollte sich möglichst einfach beschreiben lassen -> also Sonnenmittelpunkt als Ursprung (Kreisbahn -> konstanter Abstand Erde-Sonne -> konstante Sonnenposition)
Step 2: Bestimmung der Erd- & Sonnenposition im Koordinatensystem durch Vektoren
Aktuelle Erdposition: Durch Ortsvektor s definiert (auch „Abstandsvektor“ genannt) (hier zugleich Einheitsvektor, da konstanter Abstand von 1 aU zum Koordinatenursprung)
Ortsvektor der Erde ist zudem von der Erdbewegung – und damit von der Zeit – abhängig (man nennt ihn deshalb auch eine „Funktion der Zeit“ – s(t) ausgedrückt)
Sonnenposition: Ebenfalls durch einen Ortsvektor definiert (hier zugleich jedoch Nullvektor, da der Ortsvektor der Sonne in Ihrer Funktion als Koordinatenursprung eine Länge von 0 hat, die sich nicht durch einen Pfeil visualisieren lässt)
s(t) = Ortsvektor Erde
v(t) = Geschwindigkeitsvektor Erde
Wo Se grad sagen „Vektor“: Exkurs Vektoren I
Definition Vektor:
Eine Liste von Komponenten (reellen Zahlen, welche jeweils Dimensionen repräsentieren).
Vektoren können geometrisch durch Pfeile repräsentiert werden. Die Komponenten eines Vektors bestimmen dabei Länge & Richtung dieser Pfeile.
Man bezeichnet Vektoren auch als „gerichtete Größen“ – im Gegensatz zu Skalaren (Zahlen) als „ungerichteten Größen“.
2 Schreibweisen für Vektoren (hier 2dimensional):
Unterscheidung durchaus bedeutsam: DirectX arbeitet z.B. mit Zeilenvektoren...
Wo Se grad sagen „Vektor“: Exkurs Vektoren II
Vektorarten:
Ortsvektor: Definiert den Ort eines Punktes (die Vektorkomponenten werden hier mit Punktkoordinaten identifiziert)
Einheitsvektor: Vektor, dessen Betrag („Länge“) gleich 1 ist.
Verbindungsvektor: Verbindung zwischen zwei Punkten. Der Verbindungsvektor ist damit die Differenz zwischen zwei Ortsvektoren. Der Abstand zweier Punkte ist der Betrag ihres Verbindungsvektors.
Nullvektor: Ein Vektor, dessen Komponenten alle 0 sind. Geometrisch betrachtet also der Verbindungsvektor eines Punktes mit sich selbst. Als Ortsvektor interpretiert ist er damit deckungsgleich mit dem Koordinatenursprung.
Wo Se grad sagen „Vektor“: Exkurs Vektoren III
Addition & Subtraktion von Vektoren:
Relevanz: Beispielsweise für die Berechnung eines Zielanflugvektors
Sowohl Addition als auch Subtraktion von Vektoren erfolgen komponentenweise:
Wo Se grad sagen „Vektor“: Exkurs Vektoren IVBerechnung von Skalarprodukten
Skalarprodukt: Rechenoperation, die aus zwei Vektoren gleichen Typs einen Skalar generiert.
Das Skalarprodukt gibt Auskunft über die relativen Richtungen zweier Vektoren a und b:
a b > 0 a und b schließen einen spitzen Winkel ein
a b < 0 a und b schließen einen stumpfen Winkel ein
a b = 0 a und b stehen „normal“ aufeinander
a) Skalarprodukt der beiden zweikomponentigen Vektoren a = (a1, a2) und b = (b1, b2)
Formel: a b = a1b1 + a2b2
Alternative Notation (Buch):
b) Skalarprodukt eines Vektors s mit sich selbst (durch Multiplikation mit sich selbst):
Formel: s2 = x2 + y2
Alternative Notation (Buch):
c) Betrag („Länge”) eines Vektors s (durch Wurzel des Skalarproduktes eines Vektors mit sich selbst):
Formel: | s | = (s12 + s2
2)1/2
Alternative Notation (Buch):
Wo Se grad sagen „Vektor“: Exkurs Vektoren VBerechnung von Skalarprodukten – Merksätze & Beispiele:
a) Das Skalarprodukt zweier senkrechter (linear unabhängiger/orthogonaler) Vektoren ist 0!
Bsp.: Vektoren a = (0, 1) und b= (1, 0)
b) Das Skalarprodukt zweier paralleler (in gleiche Richtung zeigender) Vektoren ist gleich dem Produkt der Beträge der beiden Vektoren!
Bsp.: Vektoren a = (2, 0) und b= (3, 0)
c) Das Skalarprodukt zweier antiparalleler (in entgegengesetzte Richtung zeigende) Vektoren ist gleich dem Produkt der Beträge der beiden Vektoren mal –1!
Bsp.: Vektoren a = (-2, 0) und b= (3, 0)
Wo Se grad sagen „Vektor“: Exkurs Vektoren VIBerechnung von Skalarprodukten – Fazit:
Das Skalarprodukt ergibt sich aus der Multiplikation der Beträge der Vektoren sowie einem Faktor, der sich aus dem Winkel Alpha ergibt, in welchem die Vektoren zueinander stehen. Dieser Faktor ist …
… 1, wenn dieser Winkel 0 ° beträgt, (cos 0° = 1)
… 0, wenn er 90 ° ist, (cos 90° = 0)
… -1, wenn er 180 ° beträgt. (cos 180° = -1)
Die Kosinusfunktion erfüllt oben genannte Anforderungen -> für ein beliebiges Skalarprodukt gilt also:
Oder via DirectX-Funktion:
Step 3: Simulation der Erdbewegunga) Berechnung aller möglichen Varianten der Erdposition auf Ihrer Umlaufbahn
Durch Umrechnung des (Einheits-)Ortsvektors der Erde in die sog. zweidimensionale Polarkoordinatendarstellung (= Beschreibung eines Vektors durch einen Winkel sowie den Vektorbetrag)
Logo – mithilfe der trigonometrischen Funktionen!
a) x-Komponente des Einheitsvektors: Kosinus des Winkels , der von diesem Vektor & der x-Achse eingeschlossen ist
b) y-Komponente des Einheitsvektors: Sinus desselben Winkels
Vektor der Erde als Polarkoordinate ausgedrückt – Variante I (wenn Ortsvektor zugleich Einheitsvektor – also mit konstantem Betrag):
Vektor der Erde als Polarkoordinate ausgedrückt – Variante II (wenn Ortvektor nicht Einheitsvektor – also mit variierendem/ beliebigem Betrag):
Step 3: Simulation der Erdbewegungb) Berechnung der Bewegungsrichtung der Erde
Ausgangssituation: -> Die Bewegungsrichtung der Erde wird durch einen Vektor ausgedrückt -> v(t) -> Die Länge dieses Vektors entspricht dem Geschwindigkeitsbetrag
Problem/Aufgabe: -> Die Geschwindigkeitsrichtung muss variieren, damit die Erde nicht aus der Umlaufbahn schießt
-> Nicht nur der Ortsvektor der Erde variiert also in der Zeit, sondern auch der ihm zugehörige Winkel -> Gesucht ist also sowohl eine Formel für den Ortsvektor als Funktion der Zeit als auch ein Ausdruck für den Winkel des Ortsvektors als Funktion der Zeit
Step 3: Simulation der Erdbewegungb) Berechnung der Bewegungsrichtung der Erde
Lösung: Mithilfe von Geschwindigkeitsvektoren & Winkelgeschwindigkeit
a) Berechnung der Winkelgeschwindigkeit w nach folgender Formel (Winkelgeschwindigkeit notwendig für b) !)
-> wobei T = Umlaufzeit & 2 Pi = Umlaufbahn auf dem Einheitskreis
b) Berechnung des Winkels Alpha des Ortsvektors s als „Funktion der Zeit“ nach folgender Formel: (Alpha(t) notwendig für c) !)
c) Berechnung der Ortsvektors s der Erde als Funktion der Zeit
Step 3: Simulation der Erdbewegungc) Berechnung der Kräfte, welche die Erde auf ihrer Umlaufbahn halten
Berechnung mithilfe von Beschleunigungs- & Kraftvektoren möglich
Erläuterung der relevanten Kräfte am Bsp. eines Kettenkarussells:
FZP = ZentripetalkraftÜber die Kette ausgeübte Kraft, welche den Sitz in der Kreisbahn hält (zur Mitte strebende Kraft)ZentripetalbeschleunigungDurch FZP auf den Sitz ausgeübte Beschleunigungskraft(ebenfalls zur Mitte strebende Kraft) Sowohl Kraft als auch Beschleunigung wirken also in dieselbe Richtung!
FZF = ZentrifugalkraftAuch Fliehkraft: nach außen wirkende Gegenkraft zur FZP
V(t) = Geschwindigkeitsvektor Bei reißender Kette fliegt der Sitz aufgrund seiner Massenträgheit in genau diese Richtung aus der Bahn
Step 3: Simulation der Erdbewegungc) Berechnung der Kräfte, welche die Erde auf ihrer Umlaufbahn halten
Zusammenspiel FZP & FZF
Die beiden Kraftvektoren FZP & FZF zeigen zwar in entgegengesetzte Richtungen – sind vom Vektorbetrag her jedoch identisch.
Addiert man beide Vektoren, heben sich die Kräfte gegenseitig auf (Ergebnis ist also ein Nullvektor)
S. a. schwereloser Astronaut im Erdorbit: FZP & FZF heben sich gegenseitig auf (die FZP wird hier natürlich nicht durch eine Kette sondern durch Massenanziehungskraft zw. Astronaut & Erde verursacht)
Bei der Erdumlaufbahn wird die FZP dementsprechend durch die Massenanziehungskraft zw. Erde & Sonne verursacht
Kraftgesetz: Allgemeine Definition einer Kraft
Wirkt eine Kraft F auf eine Masse m, wird diese um a Beschleunigt:
F = m * a
Kraft = Masse * Beschleunigung
Step 3: Simulation der Erdbewegungc) Berechnung der Kräfte, welche die Erde auf ihrer Umlaufbahn halten
Kraftgesetz der Gravitationskraft:
rN = Einheitsrichtungsvektor Definiert die Richtung der Kraft
• G = Gravitationskonstante: Scheinbar frei wählbarer Zahlenwert; definiert die Einheit, in welcher die Kraft ausgedrückt werden soll – gleichsam die „Krafteinheit“ bzw. „Kraftgröße“. Physiker hingegen müssen sich an eine internationale Konvention halten & die Kraftgröße mit der Einheit SI angeben:
SI-Einheit der Kraft: Newton SI-Einheit der Masse: Kilogramm SI-Einheit der Beschleunigung: Meter / Quadratsekunde
Das Raumschiff: Benötigt: Ein Drahtgittermodell des Raumschiffs zwecks 3dimensionaler Darstellung
Alle Eckpunkte („Vertices“) unseres Raumschiffs werden in ein lokales Koordinatensystem eingetragen & anschließend miteinander verbunden:
Aufgabenstellung: Simulation eines Raumflugs (wahrscheinlich auch in Echtzeit, bitteschön)
Lokales Koordinatensystem (auch Modellkoordinatensystem):
Nur für das jeweilige, in diesem Koordinatensystem erzeugte Objekt von Bedeutung
Weltkoordinatensystem:
Definiert die eigentliche Spielewelt, in welche später die entsprechenden Objekte transformiert werden
Aufgabe: Der Schiffsrumpf soll skaliert werden
Benötigt werden 2 Skalierungsfaktoren scaleX & scaleY (analog zu den Dimensionen des Modellkoordinatensystems)
Holla die Waldfee – das Raumschiff ist zu klein:
„Regulärer Ortsvektor“ eines Schiffs-Vertex:
Skalierter Ortsvektor eines Schiffs-Vertex:
Durch Multiplikation der Komponenten des Ortsvektors mit den entsprechenden Skalierungsfaktoren, lässt sich der Ortsvektor – & damit das Schiff – beliebig skalieren:
Unser Schiff soll im Weltkoordinatensystem einen Ortsvektor s haben:
Im Modellkoordinatensystem hat unser Schiff – wie bereits gezeigt – ebenfalls einen Ortsvektor (v):
Transformation: Durch Addition der Komponenten des Ortsvektors s im Weltkoordinatensystem zu den Komponenten des Ortsvektors v im Modellkoordinatensystem erfolgt die Transformation des Schiffes in das Weltkoordinatensystem:
Ready to take off I – Transformation des Raumschiffes in das Weltkoordinatensystem
Eine Schiffsbewegung entspricht einem in der Zeit variierenden Ortsvektor s:
Ready to take off II – Translationsbewegung des Schiffes
s(t) Ortsvektor des Schiffs zum Zeitpunkt t
s(t+Δt) Ortsvektor des Schiffs zum Zeitpunkt t+Δ t
Δs Strecke, die das Schiff in der Zeitspanne Δ t zurücklegt (=Verschiebungsvektor)
Formel zur Geschwindigkeitsberechnung:
Formel zur Bewegungssimulation:
Problem: Zwar bewegt sich das Schiff, allerdings sind dessen Vertices nicht korrekt ausgerichtet
Lösung: Die Vertices müssen entsprechend des gewünschten Kurses um den Schiffsmittelpunkt neu ausgerichtet werden – allerdings erneut im Modellkoordinatensystem
Ready to take off III – Rotation des Schiffes (Nase auf Kurs bringen)
Formeln zur Rotationsberechnung: Folgende Spezialfälle müssen berücksichtigt werden:
Dies leisten folgende Formeln:
Die Schiffsrotation erfolgt um die hier nicht dargestellte z-Achse
Problem: Die bisherigen Lösungsansätze zur Manipulation des Schiffes (skalieren, rotieren, verschieben..) erfüllen zwar ihren Zweck, sind jedoch zu langsam, da sie zahlreiche Rechenoperationen erfordern.
Lösung: Mit Hilfe von Matrizen lassen sich sowohl Skalierung, Rotation als auch Translation in einem Schritt erledigen.
Definition Matrix:
Eine Anordnung von Zahlenwerten in Tabellenform mit m Zeilen und n Spalten.
Diese Zeilen und Spalten werden auch als Zeilen- bzw. Spalten-Vektoren einer Matrix bezeichnet.
Wie bei Vektoren spricht man bei den Einträgen einer Matrix von deren Komponenten
Welttransformation mit Matrizen Exkurs Matrizen I
Definition: Eine quadratische Matrix, deren Hauptdiagonale nur aus 1en besteht - alle restlichen Komponenten bestehen ausschließlich aus 0en:
Regel: Eine Multiplikation eines Vektors oder einer Matrix mit einer Einheitsmatrix liefert als Ergebnis immer den Vektor oder die Matrix selbst:
Exkurs Matrizen II: Die wichtigsten Matrizen & RegelnDie Einheitsmatrix
Multiplikation mit Vektor:
Multiplikation mit Matrix:
Definition: Tataa – eine solche besteht ausschließlich aus 0en:
Regel: Eine Multiplikation eines Vektors oder einer Matrix mit einer Nullmatrix liefert als Ergebnis immer einen Null-Vektor oder eine Null-Matrix:
Exkurs Matrizen III: Die wichtigsten Matrizen & RegelnDie Nullmatrix
Addition & Subtraktion von Matrizen: Funktionieren analog zur Addition & Subtraktion von Vektoren komponentenweise. Auch hier gilt die Bedingung: Die Dimensionen müssen übereinstimmen!
Multiplikation mit einem Skalar:
Matrizenmultiplikation I: Funktionsweise der Multiplikation analog zum Skalarprodukt zweier Vektoren (logo: Ein Vektor ist letztlich nichts anderes als eine einzeilige bzw. einspaltige Matrix): Multiplikationsregel für Matrizen: Komponentenweise Zeile mal Spalte!
Exkurs Matrizen IV: Die wichtigsten Matrizen & RegelnAddition, Subtraktion & (Matrizen-)Multiplikation
Multiplizieren der Zeilen der ersten Matrix mit den Spalten der zweiten Matrix und anschließende Addition der Produkte...
Lässt sich die Regel zur Matrizenmultiplikation jedoch nicht problemlos anwenden, ist die Operation auch nicht erlaubt:
2maliges Anwenden der Regel erlaubt! Bei vertauschten Faktoren ist die Regel jedoch auch hier nicht mehr anwendbar!
Exkurs Matrizen V: Die wichtigsten Matrizen & Regeln Matrizenmultiplikation II
Gesucht sind in einem ersten Schritt jeweils Matrixgleichungen für die Rotation, Translation und Skalierung unseres Schiffes.
Diese drei Gleichungen werden in einem späteren Schritt zu 1 Matrixgleichung verjüngt, welche alle das Raumschiff betreffenden Transformationsvorgänge in einer einzigen Rechenoperation bewältigt und einen neuberechneten Vektor als Ergebnis liefert.
Eine Matrixgleichung für die Rotationsberechnung könnte wie folgt aussehen:
Die beiden ursprünglichen Gleichungen ... ... werden zu einer Rotationsmatrix
Welttransformation mit Matrizen I– Generierung einer Rotationsmatrix
Um eine Skalierungsmatrix zu generieren, kann man sich eine bereits beschriebene Eigenschaft der Einheitsmatrix zu nutze machen: Die Multiplikation eines Vektors mit einer Einheitsmatrix liefert als Ergebnis immer den Vektor selbst:
Ursache: De facto handelt es sich hierbei um eine „Skalierung“ des Vektors um den Faktor 1. Ergo lässt sich ein Vektor auf diese Weise beliebig skalieren, wenn der Faktor entsprechend verändert wird. So betrachtet, wird die Einheitsmatrix gleichsam zur „Skalierungsmatrix“:
Daraus folgt nachstehende Matrixgleichung zur Skalierung eines Vektors:
Welttransformation mit Matrizen II– Generierung einer Skalierungsmatrix
Dies mag auf den ersten Blick aufwendiger erscheinen, als die bisherige Vorgehensweise zur Skalierung unseres Schiffes, ist als vorbereitender Schritt jedoch notwendig, um später unsere Eierlegendewollmilchsau – die omnipotente Matrixgleichung – generieren zu können
Auf unglaublich verschlungenen, meinen bescheidenen Geist gänzlich sprengenden Pfaden wird aus ...
... über ...
... DAS:
Nur soviel: Aus irgendwelchen Gründen wird hier eine weitere Dimension bzw. Komponente w eingeführt, die „uns nicht weiter stören soll, da ihr Wert immer gleich eins bleibt“...
Na gut, noch mehr: Dies sei notwendig, da die Verschiebungen Δx und Δy andernfalls abhängig von xalt und yalt würden – Δx und Δy jedoch ganz im Gegenteil nicht von diesen abhängig seien. Die Abhängigkeit wiederum finde sich in der Grundlage sowohl der Rotations- als auch der Skalierungsmatrix, nämlich folgender Gleichung, wo eben jene (dort jedoch unproblematische) Abhängigkeit zu xalt und yalt offensichtlich besteht:
Welttransformation mit Matrizen III– Generierung einer Translationsmatrix
Nun können die einzelnen Matrixgleichungen zusammengesetzt werden
1. Zusammenfügen von Skalierungs- & Rotationsmatrix
Die Skalierungsmatrix Die Rotationsmatrix
Kombination & Multiplikation beider Gleichungen:
Erweitern der nun kombinierten Rotations- & Skalierungsmatrix um 1 Dimension (damit das Ganze auch zur sagenumrankten Translationsmatrix konform ist:)
Welttransformation mit Matrizen IV– Generierung einer (ach was sag ich: der) Mega-Matrix
2. Zusammenfügen der kombinierten Rotations- & Skalierungsmatrix mit der Translationsmatrix
Durch schrittweise „Multiplikation“ mit der Translationsmatrix: (Prämisse: Die Translation soll erst nach vollzogener Rotation & Skalierung stattfinden)
Welttransformation mit Matrizen IV– Generierung einer (ach was sag ich: der) Mega-Matrix
Schritt 3 erklärt sich (ggf.) wie folgt:
Auf eine Multiplikation der Rotations- Skalierungsmatrix mit der Translationsmatrix könne verzichtet werden – stattdessen genüge es, lediglich die Verschiebungen Δx und Δy hinzuzuaddieren. Ursprünglich findet sich im Buch folgende „Endgleichung“, die ich allerdings für einen Tippfehler halte, da dort seltsamerweise und auftauchen:
x y
2. Zusammenfügen der kombinierten Rotations- & Skalierungsmatrix mit der Translationsmatrix
Attentione: Die Reihenfolge der Matrizenmultiplikation bestimmt immer die Transformationsreihenfolge des Vektors!
Grund: Die Transformationsmatrizen werden immer von rechts nach links abgearbeitet (zumindest bei Spaltenvektoren) – dies gilt es bei der Aufstellung von Matrizengleichungen zu beachten!
Beispiel für eine Matrixgleichung zur Transformation eines Spaltenvektors: Ein Vektor soll zuerst durch die Matrix1, dann durch die Matrix2 und schließlich durch die Matrix3 transformiert werden – dann muss die zugehörige Formel (in Kurzform) lauten: neuer Vektor = Matrix3 * Matrix2 * Matrix1 * alter Vektor bzw. (auf unser Raumschiff bezogen): neuer Vektor = Translation * Rotation * Skalierung * alter Vektor
Welttransformation mit Matrizen IV– Generierung einer (ach was sag ich: der) Mega-Matrix
3. DirectX-Kompatibilität der Transformationsmatrix gewährleisten (durch Transponierung)
Problem: Unsere Transformationsmatrix für Rotation, Skalierung & Translation des Raumschiffes ist lediglich zu Spaltenvektoren kompatibel –nicht jedoch zu den in DirectX verwendeten Zeilenvektoren!
Lösung: Transponieren („umstellen“) unserer Transformationsmatrix
Beispiel für eine Transponierung:
Welttransformation mit Matrizen IV– Generierung einer (ach was sag ich: der) Mega-Matrix
Diese Matrix soll dergestalt transponiert werden, dass sie auch bei der Multiplikation mit einem Zeilenvektor dasselbe Ergebnis (wiederum in Zeilenform) liefert!
Durch Anwendung der Multiplikationsregel für Matrizen (komponentenweise Zeile mal Spalte) resultiert folgende (transponierte) Matrix als Lösung:
3. DirectX-Kompatibilität der Transformationsmatrix gewährleisten (durch Transponierung)
Erläuterung: Beim direkten Vergleich der beiden Matrizen lässt sich erkennen, dass die Matrixelemente lediglich um die Hauptdiagonale der Matrix gespiegelt wurden, die Hauptdiagonale selbst sich jedoch nicht verändert hat:
Transponierung der Transformationsmatrix Wenn wird diese Erkenntnis auf unsere Transformationsmatrix anwenden, kommen wir zu folgendem, nun DirectX-kompatiblen Ergebnis:
Welttransformation mit Matrizen IV– Generierung einer (ach was sag ich: der) Mega-Matrix
3. DirectX-Kompatibilität der Transformationsmatrix gewährleisten (durch Transponierung)
Reihenfolge der Matrizen ändern (Matrixgleichung zur Transformation eines Zeilenvektors): Der Zeilenvektor steht bei der Multiplikation mit der Transformationsmatrix vor der Matrix – im Gegensatz zum Spaltenvektor, welcher bisher hinter der Transformationsmatrix stand. Daher muss nun auch die Reihenfolge der Matrizen geändert werden:
neuer Vektor = alter Vektor * Matrix1 * Matrix2 * Matrix3
bzw.
neuer Vektor = alter Vektor * Skalierung * Rotation * Translation
Welttransformation mit Matrizen IV– Generierung einer (ach was sag ich: der) Mega-Matrix
Anhang A - Kreisgleichung
Lösungsansatz Kreisgleichung:
-> s entspricht dem Kreisradius bzw. dem Ortsvektor s = 1aU,
-> folglich ist s2 = 1aU2
-> x erstreckt sich von –1aU bis + 1aU,
Umstellen der Gleichung:
-> Durch Umstellen der Gleichung lassen sich nun also jeweils die zugehörigen y-Koordinaten ermitteln
-> Dieser Lösungsansatz ist jedoch zu kompliziert, da sich eigentlich nur der (Dreh-)Winkel
zwischen der y-Achse & dem Ortsvektor der Erde ändert!
-> Ergo (is klar: liegt doch auf der Hand!):
2dimensionale Polarkoordinatendarstellung!
)( 22 xsy
222 yxs
Anhang B - Kreisumfang
Formel Kreisumfang:
Demnach beträgt der Umfang des Einheitskreises:
(entspricht einem Winkel von 360 ° im Bogenmaß)
rU *2 41592654 3,1 Kreiszahl
76,28318530 1*2 U
Anhang C - Normal-/Einheitsvektor
-> Vektor, dessen Betrag = 1 ist (s. Ortsvektor Erde)
-> Die Normierung erfolgt durch Division aller Komponenten eines Vektors mit dessen Betrag: