Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

2D-Spielewelten Softwaretechnologie II Christian Daum.

Ähnliche Präsentationen


Präsentation zum Thema: "2D-Spielewelten Softwaretechnologie II Christian Daum."—  Präsentation transkript:

1 2D-Spielewelten Softwaretechnologie II Christian Daum

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

3 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

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

5 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

6 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...

7 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.

8 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:

9 Wo Se grad sagen Vektor: Exkurs Vektoren IV Berechnung 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 = (a 1, a 2 ) und b = (b 1, b 2 ) Formel:a b = a 1 b 1 + a 2 b 2 Alternative Notation (Buch): b) Skalarprodukt eines Vektors s mit sich selbst (durch Multiplikation mit sich selbst): Formel:s 2 = x 2 + y 2 Alternative Notation (Buch): c) Betrag (Länge) eines Vektors s (durch Wurzel des Skalarproduktes eines Vektors mit sich selbst): Formel: | s | = (s s 2 2 ) 1/2 Alternative Notation (Buch):

10 Wo Se grad sagen Vektor: Exkurs Vektoren V Berechnung 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)

11 Wo Se grad sagen Vektor: Exkurs Vektoren VI Berechnung 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:

12 Step 3: Simulation der Erdbewegung a) 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):

13 Step 3: Simulation der Erdbewegung b) 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

14 Step 3: Simulation der Erdbewegung b) 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

15 Step 3: Simulation der Erdbewegung c) 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: F ZP = Zentripetalkraft Über die Kette ausgeübte Kraft, welche den Sitz in der Kreisbahn hält (zur Mitte strebende Kraft) Zentripetalbeschleunigung Durch F ZP auf den Sitz ausgeübte Beschleunigungskraft (ebenfalls zur Mitte strebende Kraft) Sowohl Kraft als auch Beschleunigung wirken also in dieselbe Richtung! F ZF = Zentrifugalkraft Auch Fliehkraft: nach außen wirkende Gegenkraft zur F ZP V(t) = Geschwindigkeitsvektor Bei reißender Kette fliegt der Sitz aufgrund seiner Massenträgheit in genau diese Richtung aus der Bahn

16 Step 3: Simulation der Erdbewegung c) Berechnung der Kräfte, welche die Erde auf ihrer Umlaufbahn halten Zusammenspiel F ZP & F ZF Die beiden Kraftvektoren F ZP & F ZF 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: F ZP & F ZF heben sich gegenseitig auf (die F ZP wird hier natürlich nicht durch eine Kette sondern durch Massenanziehungskraft zw. Astronaut & Erde verursacht) Bei der Erdumlaufbahn wird die F ZP 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

17 Step 3: Simulation der Erdbewegung c) Berechnung der Kräfte, welche die Erde auf ihrer Umlaufbahn halten Kraftgesetz der Gravitationskraft: r N = 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

18 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

19 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:

20 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

21 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:

22 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

23 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

24 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 & Regeln Die Einheitsmatrix Multiplikation mit Vektor: Multiplikation mit Matrix:

25 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 & Regeln Die Nullmatrix

26 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 & Regeln Addition, Subtraktion & (Matrizen-)Multiplikation Multiplizieren der Zeilen der ersten Matrix mit den Spalten der zweiten Matrix und anschließende Addition der Produkte...

27 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

28 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

29 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

30 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 x alt und y alt 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 x alt und y alt offensichtlich besteht: Welttransformation mit Matrizen III – Generierung einer Translationsmatrix

31 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

32 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:

33 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

34 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:

35 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

36 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

37 Anhang A - Kreisgleichung Lösungsansatz Kreisgleichung: -> s entspricht dem Kreisradius bzw. dem Ortsvektor s = 1aU, -> folglich ist s 2 = 1aU 2 -> 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!

38 Anhang B - Kreisumfang Formel Kreisumfang: Demnach beträgt der Umfang des Einheitskreises: (entspricht einem Winkel von 360 ° im Bogenmaß)

39 Anhang C - Normal-/Einheitsvektor -> Vektor, dessen Betrag = 1 ist (s. Ortsvektor Erde) -> Die Normierung erfolgt durch Division aller Komponenten eines Vektors mit dessen Betrag:


Herunterladen ppt "2D-Spielewelten Softwaretechnologie II Christian Daum."

Ähnliche Präsentationen


Google-Anzeigen