Wie erstelle ich Vektoren?

Jack159

Bekanntes Mitglied
Hallo,

Hier geht es nicht um Vector (dynamisches Array), sondern um mathematische Vektoren ("Pfeile").
Mir ist noch absolut unklar, wie man solche Vektoren denn in Java erstellt und mit ihnen rechnet.

Wie definiert man z.B. einen simplen 2d-Vektor x=(2,3) in Java? Und vorallem: Wie kann man damit rechnen? (Addition, Winkel usw).

Hintergrund: Ich habe vor das Spiel "Pong" zu programmieren. Dazu werde ich wohl mit Vektoren arbeiten müssen.
 

Jack159

Bekanntes Mitglied
Schreibe dir eine eigene (mathematische)Vector-Klasse ? O

Ist das schwer/aufwändig? Habe soetwas in der Art noch nie gemacht.
Eigentlich müsste ich ja nur 1 Klasse "Vektor" erstellen (brauche nur 2d Vektoren), dann eben die Komponenten x und y als Variablen erstellen und dann eben noch die ganzen entsprechenden Methoden (Addition, Subtraktion, Skalarm.,...) erstellen oder?
Ein Objekt dieser Klasse wäre dann praktisch 1 Vektor mit den Objektvariablen x und y (Komponenten des Vektors).

Wenn das so einfach sein sollte, würd ich das lieber direkt selber machen. Dann lerne ich auch entsprechend mehr dabei :)
 

eRaaaa

Top Contributor
Ist das schwer/aufwändig? Habe soetwas in der Art noch nie gemacht.
Eigentlich müsste ich ja nur 1 Klasse "Vektor" erstellen (brauche nur 2d Vektoren), dann eben die Komponenten x und y als Variablen erstellen und dann eben noch die ganzen entsprechenden Methoden (Addition, Subtraktion, Skalarm.,...) erstellen oder?
Ein Objekt dieser Klasse wäre dann praktisch 1 Vektor mit den Objektvariablen x und y (Komponenten des Vektors).

Wenn das so einfach sein sollte, würd ich das lieber direkt selber machen. Dann lerne ich auch entsprechend mehr dabei :)

So macht man das i.d.R. ja :toll:
 

Marco13

Top Contributor
Der JScience-Vector ist vermutlich nicht das, was du willst (das ist zwar einer dieser "mathematischen" Vektoren, aber auf einem Abstraktionslevel, der für viele Dinge zu hoch ist - oder anders: Falls du dir nicht AUCH die Frage gestellt hast, wie du einen Körper, eine Gruppe oder ein Monoid modellierst, ist der NICHTS für dich :D ).

Es gibt solche Klassen in verschiedenen Zusammenhängen,
Vector2f (LWJGL API)
Vector2f (Java 3D API)
und hunderte ähnliche. In mancher Hinsicht ist es trivial, so eine Klasse zu schreiben:
Java:
class Vector {
    private float x, y;

    // set, add, mul, scale, get, dot, cross und was man sonst so alles braucht
}
Der Teufel steckt im Detail, bzw. die Details richten sich nach den genauen Anforderungen. Und eine "one fits all"-Vector-Klasse zu schreiben ist dann wieder schwierig bis unmöglich. Sollte man nicht erstmal ein Interface erstellen? Erbt Vector3D von Vector2D? (NEIN!!! obwohl... :reflect: ). Wird der Vector immutable sein? Welche Auswirkungen auf die Performance hätte das? Gibt es dann auch einen MutableVector? ...

Aber der beschriebene Ansatz ist zumindest einer, mit dem man anfangen kann, wenn man sich um solche Sachen (noch) keine Gedanken machen will.
 

Landei

Top Contributor
Wenn man "nur mal eben schnell" lokal einen Vektor braucht, um einen Algorithmus zu modellieren, und die Vektor-Darstellung nicht quer durch dein Programm gereicht wird, reicht oft ein ganz normales Array. Wenn du dagegen einen Vektor als Resultat zurücklieferst und damit weiterarbeiten willst, ist eine eigene Klasse (oder die einer Bibliothek) der richtige Weg.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
O Wie erstelle ich eine Instanz in einer Klasse für die ich die Instanz will? Java Basics - Anfänger-Themen 4
M Wie erstelle ich dieses Parallelogramm??? Java Basics - Anfänger-Themen 6
M Best Practice Wie erstelle ich ein cardlayout? Java Basics - Anfänger-Themen 22
S Wie erstelle ich eine Vorbedingung für eine Variable einer Methode ? Java Basics - Anfänger-Themen 5
J Wie erstelle ich ein Testprogramm in Eclipse? Java Basics - Anfänger-Themen 6
I erstelle Vorschaubild mit der lib PDF-Renderer und möchte danach Dateiname ändern -> geht aber nicht Java Basics - Anfänger-Themen 0
D Wie erstelle ich eine neue Hauptklasse mit eclipse? Java Basics - Anfänger-Themen 3
H Wie erstelle ich diese Klassen? Java Basics - Anfänger-Themen 44
J wie erstelle ich nun ein echtes "programm"? Java Basics - Anfänger-Themen 3
SexyPenny90 Wie erstelle ich ein extra Fenster mit einer Meldung Java Basics - Anfänger-Themen 2
N wie erstelle ich einen pfad? Java Basics - Anfänger-Themen 4
H Wie erstelle ich eine Liste? Java Basics - Anfänger-Themen 4
J wie erstelle ich die *.ico-datei? Java Basics - Anfänger-Themen 4
K Wie erstelle ich eine txt-Datei? Java Basics - Anfänger-Themen 10
G Wie erstelle ich eine ausführbare ".jar" Datei? Java Basics - Anfänger-Themen 22
A wie erstelle ich ein java programm= Java Basics - Anfänger-Themen 6
F Objekte dynamisch erstelle Java Basics - Anfänger-Themen 11
A Problem mit JBuilder -> Wie erstelle ich eine Datei?! Java Basics - Anfänger-Themen 5
T Vektoren Java Basics - Anfänger-Themen 11
J Vektoren Add gibt nicht das aus was es sollte Java Basics - Anfänger-Themen 3
J Vektoren (2-dimensional) Java Basics - Anfänger-Themen 2
L Den Winkel zwischen zwei Vektoren berechnen! Java Basics - Anfänger-Themen 2
D Vektoren Initialisieren Java Basics - Anfänger-Themen 1
B Kreuzprodukt zweier Vektoren (Erste Java Aufgabe - Hilfestellungen und Tips erwünscht) Java Basics - Anfänger-Themen 4
S OOP Werte von Vektoren mit 3 Variablen ausgeben lassen Java Basics - Anfänger-Themen 3
M n-dim Vektoren mit Arrays Java Basics - Anfänger-Themen 3
C Inhalte zweier Vektoren vergleichen Java Basics - Anfänger-Themen 3
N Matrix/Vektoren Java Basics - Anfänger-Themen 3
N Vektoren, Methode Java Basics - Anfänger-Themen 10
S 3D Cube aus Vektoren Java Basics - Anfänger-Themen 20
G Vektoren speichern Java Basics - Anfänger-Themen 3
N Vektoren multiplizieren Java Basics - Anfänger-Themen 8
N Ausgabe von Vektoren Java Basics - Anfänger-Themen 3
L Suche Hilfe , Problem mit Vektoren und klassen Java Basics - Anfänger-Themen 21
R Vektoren Java Basics - Anfänger-Themen 6
S Vektoren und Objektwerte Java Basics - Anfänger-Themen 4
V Vektoren zur Laufzeit erzeugen Java Basics - Anfänger-Themen 7
J Durchlaufen von Vektoren Java Basics - Anfänger-Themen 14
F Ein Array von Vektoren, Eclipse meckert Java Basics - Anfänger-Themen 12
M Prinzipielle Frage zu Vektoren Java Basics - Anfänger-Themen 2
H Vektoren aus einem String! Java Basics - Anfänger-Themen 2
F Welche Datenstruktur für Matrix mit Vektoren? Java Basics - Anfänger-Themen 2
W Verwalten von Objekten - Listen, Vektoren usw. Java Basics - Anfänger-Themen 6
M Zwei ineinanderverschachtelte Vektoren - generics möglich? Java Basics - Anfänger-Themen 3
W Addition von Arrays bzw. Vektoren Java Basics - Anfänger-Themen 2
F Vektoren Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben