Hauptinhalt
Kurs: Programmierung > Lerneinheit 5
Lektion 4: Vektoren- Einführung in die Vektoren
- Challenge: Vektor-Walker
- Mehr Vektormathematik
- Challenge: Lichtschwert
- Größenordnung & Normalisierung von Vektoren
- Challenge: Grafische Darstellung des Betrags
- Vektorbewegung
- Challenge: Bremsendes Auto
- Statische Funktionen vs. Instanzmethoden
- Challenge: Statische Funktionen
- Interaktive Vektorbewegung
- Challenge: Mausverfolger
- Projekt: Computerkreaturen
© 2024 Khan AcademyNutzungsbedingungenDatenschutzerklärungCookie-Meldung
Mehr Vektormathematik
Die Addition war nur ein erster Schritt. Es gibt viele weitere mathematische Operationen, welche häufig mit Vektoren verwendet werden. Es folgt eine umfassende Liste der Operationen, welche das
PVector
-Objekt von ProcessingJS als Funktionen anbietet. Einige der wichtigsten davon schauen wir uns nun genauer an. Wenn unsere Beispielprogramme in späteren Abschnitten anspruchsvoller werden, wirst du weitere Funktionen kennen lernen.add()
— addiert ektorensub()
— subtrahiert Vektorenmult()
— skaliert den Vektor durch Multiplikationdiv()
— skaliert den Vektor durch Divisionmag()
— berechnet die Länge eines Vektorsnormalize()
— normalisiert den Vektor zum Einheitsvektor der Länge 1limit()
— begrenzt die Länge eines Vektorsheading2D()
— stellt den 2-dimensionalen Ortsvektor als Winkel dardist()
— berechnet den euklidischen Abstand zwischen zwei Vektoren (welche hier als Punkte aufgefasst werden)angleBetween()
— gibt den Winkel zwischen zwei Vektoren andot()
— berechnet das Skalarprodukt zweier Vektorencross()
— berechnet im 3-dimensionalen Raum das Kreuzprodukt zweier Vektoren
Da wir uns die Addition schon angeschaut haben, beginnen wir gleich mit der Subtraktion. Diese ist relativ einfach, wir ersetzen einfach das Pluszeichen durch ein Minuszeichen.
Vektorsubtraktion
auch geschrieben werden als:
daher sieht die Funktion in
PVector
folgendermassen aus:PVector.prototype.sub = function(vector2) {
this.x = this.x - vector2.x;
this.y = this.y - vector2.y;
};
Das folgende Beispiel veranschaulicht die Vektorsubtraktion indem es die Differenz zwischen zwei Punkten (der Mausposition und der Mitte des Canvas, berechnet).
Grundlegende Rechengesetze mit Vektoren
Wenn wir mit reellen Zahlen rechnen, folgen diese den grundlegenden Rechengesetzen:
Das Kommutativgesetz:
Das Assoziativgesetz:
Die gleichen Rechengesetze gelten auch für Vektoren:
Das Kommutativgesetz:
Das Assoziativgesetz:
Vektormultiplikation
Wenn wir uns nun die Multiplikation anschauen, müssen wir etwas umdenken. Wenn wir einen Vektor multiplizieren, bedeutet dies, dass wir einen Vektor skalieren. Wenn wir einen Vektor auf das doppelte oder ein Drittel seiner Länge (seine Richtung bleibt dabei gleich) skalieren wollen, sagen wir: “Multipliziere den Vektor mit 2” oder “Multipliziere den Vektor mit 1/3.” Beachte, dass wir den Vektor mit einem Skalar, einer einfachen Zahl, und nicht mit einem Vektor multiplizieren.
Um eine Vektor zu skalieren, multiplizieren wir jede Komponente (x und y) mit einem Skalar.
kann geschrieben werden als:
Schauen wir uns ein Beispiel in Vektornotation an.
Daher kann die Funktion im
PVector
-Objekt folgendermaßen geschrieben werden:PVector.prototype.mult = function(n) {
this.x = this.x * n;
this.y = this.y * n;
}
Und
mult
kann so einfach verwendet werden wie:var u = new PVector(-3,7);
// Dieser PVector ist nun dreimal so lang und gleich (-9,21).
u.mult(3);
Hier das Beispiel von vorher, aber wir multiplizieren den Vektor jedesmal mit .0.5 und er wird somit halbiert:
Anstatt mit 0,5 zu multiplizieren könnten wir auch durch 2 dividieren. Die Division funktioniert wie die Multiplikation, wir ersetzen den Operator für die Multiplikation (Stern) einfach mit dem Operator für die Division (Schrägstrich).
Die Methode div ist folgendermaßen implementiert:
PVector.prototype.div = function(n) {
this.x = this.x / n;
this.y = this.y / n;
}
Und sie kann so im Code verwendet werden:
var u = new PVector(8, -4);
u.div(2);
Weitere Rechengesetze für Vektoren
Wie mit der Addition, gelten auch für die Multiplikation die algebraischen Rechengesetze für die Vektoren:
Das Assoziativgesetz:
Das Distributivgesetz mit zwei Skalaren und einem Vektor:
Das Distributivgesetz mit zwei Vektoren und einem Skalar:
Möchtest du das Rechnen mit Vektoren üben? Auf der Khan Academy kannst du in unserem Tutorial Lineare Algebra: Vektoren mehr dazu lernen.
Der Kurs "Natürliche Simulationen" ist eine Bearbeitung von "The Nature of Code" von Daniel Shiffman, und wird unter der Creative Commons Attribution-NonCommercial 3,0 Unported Lizenz verwendet.
Willst du an der Diskussion teilnehmen?
Noch keine Beiträge.