1 / 29

THE MATHEMATICS OF PARTICLES & THE LAWS OF MOTION

THE MATHEMATICS OF PARTICLES & THE LAWS OF MOTION. THE MATHEMATICS OF PARTICLES. Vektoren & „Calculus“. - Definition - „The handedness of space“ - Mathematik und Vektoren ------------------------------------ - „differential calculus“ - „integral calculus“. Vektoren

Download Presentation

THE MATHEMATICS OF PARTICLES & THE LAWS OF MOTION

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. THE MATHEMATICSOF PARTICLES&THE LAWS OF MOTION

  2. THE MATHEMATICSOF PARTICLES

  3. Vektoren & „Calculus“ - Definition - „The handedness of space“ - Mathematik und Vektoren ------------------------------------ - „differential calculus“ - „integral calculus“

  4. Vektoren ----------------------------------

  5. - Verschiedene Ansichten auf Vektoren: als einfache Gleichungen (x=2y; y=2,3 => x=4,6), mal als Struktur mit Skalaren zur Multiplikation, Addition und Subtraktion der Werte. - Im 2D und 3D dienen Vektoren als Abbildung von Positionen in einem Raum. Und jede Position hat nur einen beschreibenden Vektor.

  6. - „handedness of space“ - 2 Wege zur Einrichtung eines Koordinaten-Systems: - „left-handed way“ & „right-handed way“ - Es gibt kein einheitliches System dafür – Jeder Entwickler nimmt eine andere Form – es spielt für den Code der Physik keine Rolle.

  7. - Vektoren können aber auch die Angaben einer Veränderung der Position beschreiben:

  8. class Vector3 { // ... Other Vector3 code as before ... /** Gets the magnitude of this vector. */ real magnitude() const { return real_sqrt(x*x+y*y+z*z); } /** Gets the squared magnitude of this vector. */ real squareMagnitude() const { return x*x+y*y+z*z; } /** Turns a non-zero vector into a vector of unit length. */ void normalize() { real l = magnitude(); if (l > 0) { (*this)*=((real)1)/l; } } };

  9. Skalar- und Vektor-Multiplikation - Alle Komponente des Vektors werden mit dem Skalar multipliziert: class Vector3 { // ... Other Vector3 code as before ... /** Multiplies this vector by the given scalar. */ void operator*=(const real value) { x *= value; y *= value; z *= value; } /** Returns a copy of this vector scaled to the given value. */ Vector3 operator*(const real value) const { return Vector3(x*value, y*value, z*value); } };

  10. Vektor Addition und Subtraktion class Vector3 { // ... Other Vector3 code as before ... /** Adds the given vector to this. */ void operator+=(const Vector3& v) { x += v.x; y += v.y; z += v.z; } /** * Returns the value of the given vector added to this. */ Vector3 operator+(const Vector3& v) const { return Vector3(x+v.x, y+v.y, z+v.z); } };

  11. Komponenten-Produkt & Skalar-Produkt - „KP“ ist nichts anderes als eine einfache Multiplikation von zwei Vektoren, mit einem Vektor als Ergebnis: - Beim „SP“ werden die Vektoren ebenfalls multipliziert, allerdings wird das Ergebnis zu einem Skalar:

  12. Vektor-Produkt - auch genannt: Kreuz-Produkt, aufgrund der überkreuzenden Berechnung: - ist nicht kommutativ, d.h. a x b ungleich b x a. Bei den anderen Operatoren wäre das Ergebnis trotz Tausches korrekt. Für ein korrektes Ergebnis müsste man daraus folgendes machen: a x b = -b x a - geometrisch gesehen, ist das „VP“ sehr wichtig für die Richtungsangaben, da jede Richtung orthogonal angegeben wird.

  13. Orthogonale Ebene - für die Erstellung einer orthogonalen Ebene mit 3 gleichen Vektoren, wollen wir diese Normalisieren. „1. Find vector c by performing the cross product c = a × b. 2. If vector c has a zero magnitude, then give up: this means that a and b are parallel. 3. Now we need to make sure a and b are at right angles. We can do this by recalculating b based on a, and c using the cross product: b = c × a (note the order). 4. Normalize each of the vectors to give the output: a, b, and c.“ - Vektoren sind zu einander orthogonal, wenn ihr Skalar-Produkt 0 ergibt!

  14. Calculus ------------------------------

  15. Definition - jede Form von mathematischen Systemen. - in unserem Fall, spricht man von der Analysis: => „the study of functions that operate on real numbers“ - Veränderung über Zeit: Position des Objekts oder seine Geschwindigkeit. - 2 Wege zum Verstehen: 1. Beschreibung der Veränderung an sich. 2. Beschreibung des Ergebnis der Veränderung.

  16. DIFFERENTIAL CALCULUS - Für die Rate der Veränderung einer Position wird in der Programmierung von dem Begriff „velocity“ gesprochen. - Berechnung der „velocity“: - Genauere Lösung indem die Lücke unendlich klein gemacht wird: - Zur Vereinfachung:

  17. Beschleunigung - Neben der Geschwindigkeit besitzt das Objekt eine Beschleunigung. - Wenn p (Position) und v( „velocity“) gegeben sind, können wir diese berechnen. - Die Beschleunigung ist die Rate der Veränderung der Geschwindigkeit eines Objekts. - Formel:

  18. „Vector Differential Calculus“ - bei Vektoren sieht die Bestimmung ähnlich aus. - die vorangegangenen Formeln zur Bestimmung von Geschwindigkeit und Beschleunigung, sind für 3D geeignet und lassen sich so, auf jede einzelne Variable eines Vektors anwenden:

  19. Integral Calculus - in physics engines wird die Integration dazu benutzt, Position und die Geschwindigkeit zu aktualisieren. - Formel: p° = Geschwindigkeit am Anfang des Zeitintervals p°° = Beschleunigung über die komplette Zeitspanne - In der Mathematik werden die Formeln immer so umgestellt, das man aus einer Formel für die Beschleunigung, eine Formel für Geschwindigkeit erhält usw.

  20. „Vector Integral Calculus“ - Berechnung auf Komponent-für-Komponent Basis:

  21. THE LAWS OF MOTION

  22. Partikel & Gesetze & Integrator - Partikel • Definition ------------------------------------ - „The first two laws“ - „Momentum, Gravity and Velocity“ ------------------------------------ - Integration einzelner Werte - Vollständige Integration

  23. Ein Partikel - hat eine Position, aber keine Ausrichtung. Bsp.: Kugel = Uns ist egal in welcher Richtung sie zeigt, wichtig ist, in welche Richtung sie sich bewegt. - Für jedes Partikel wird eine ständige Aktualisierung von verschiedenen Eigenschaften benötigt: → aktuelle Position, die Geschwindigkeit und die Beschleunigung. - Diese Werte sind alles Vektoren.

  24. Physics engines basieren auf den Gesetzen der Bewegung von Newton. - Er entwickelte 3 Gesetze die sehr genau beschreiben, wie sich „Partikel“ verhalten. - Die ersten beiden lauten: „1. An object continues with a constant velocity unless a force acts upon it. 2. A force acting on an object produces acceleration that is proportional to the object’s mass.“

  25. 1. Gesetz - erklärt uns, was geschieht, wenn keine Kräfte in der Umgebung vorhanden sind. - Ein Objekt, welches sich in einem Raum ohne Kräfte bewegt, wird sich immer weiter mit einer konstanten Geschwindigkeit bewegen, da keine Kräfte eine Verlangsamung oder einen Stop bewirken könnten. - in der realen Welt ginge dies nicht, in einer Engine allerdings schon. class Particle { // ... Other Particle code as before ... /** * Holds the amount of damping applied to linear * motion. Damping is required to remove energy added * through numerical instability in the integrator. */ real damping; };

  26. 2. Gesetz -

  27. Ein Partikel

  28. Ein Partikel

  29. Ein Partikel

More Related