Vektor für Gravitation erzeugen

Javaman91

Bekanntes Mitglied
Hallo,

ich programmiere gerade an einer Gravitation.
Nun wollte ich einen Vektor erzeugen mit folgender Codezeile:
Java:
Vector vector = new Vector(x, y);
Leider wird diese Codezeile rot unterstrichen.
Wenn ich das x & y entferne, dann kommt keine Fehlermeldung mehr.
Da ich aber x & y als Parameter an den Vektor übergeben muss, wollte ich euch Fragen wie ich das sonst machen kann?
Der Vektor befindet sich einfach zwischen zwei Objekten. Die Parameter x & y geben einfach den Start und Endpunkt des Vektors an.

MfG
 

Javaman91

Bekanntes Mitglied
Erstmal muss ich mich bedanken!
Sorry das ich mich erst jetzt melde, hatte viel zu arbeiten.
Wo finde ich die Vector2D Library?

Mit:
Java:
import java.math.geom2d.Vector2D;
funktioniert es nicht.

Was ich euch noch Fragen wollte, was ist der Unterschied zwischen: vector, vector2f & vector2D?
In der Mathematik gibt es doch nur einen Vektor?
Ich blicke da nicht ganz durch, was da der unterschied in der Programmierung ist.
Leider finde ich in Google nur englische Erklärungen die mir keine Antwort geliefert haben.

MfG
 

JCODA

Top Contributor
Ich hab gerade in seinen alten Beiträgen gefunden, dass er Slick verwendet. (@Javaman91 das wäre die Library, nach der ich gefragt habe... )
Jedenfalls benutzt du in deinen alten Beiträgen bereits org.newdawn.slick.geom.Vector2f;
Sogar mit eigener Erklärung?!
http://www.java-forum.org/thema/kollision-genau-erkennen-mit-intersects.173093/
Danke für den Link!

Ich fasse mal kurz zusammen, wie ich das Verstanden habe.
Slick2D bietet eine Klasse an mit der man Vektoren erzeugen kann. Die Klasse lautet: „Vector2f“.
Erzeugt werden kann ein Vektor mit:
Java:
Vector2f vektor = new Vector2f(x, y);
x & y geben die Position des Objektes an in meinen Fall die linke obere Ecke der Hitbox (Rechteck).

Achso und Vektoren besitzen keinen "Anfangs und Endpunkt". Vektoren beschreiben nur eine Verschiebung um x,y Einheiten.
Wenn du von Anfangs/Endpunkt auf die Verschiebung kommen willst, musst du Endpunkt minus Anfangspunkt rechnen...
 

Javaman91

Bekanntes Mitglied
1. Ich weiß, dass ich einen Beitrag bezüglich Vektoren in Java verfasst habe und auch eine eigene Erklärung abgegeben habe.
Ich habe hier nur deshalb einen neuen Beitrag zum Thema Vektoren eröffnet, da ich in Eclips mit "vector" & "vector2f" ständig einen Fehler bekommen habe. Da ich aber dank euch nun weiß, das "2f" für float und "2d" für double steht habe ich nun auch gleich den Fehler gefunden.
Bei mir ist x und y ein double gewesen und ich habe versucht mit diesen Werten einen "vector" & "vector2f" zu erzeugen, deshalb ging es nicht.

2. Wenn Vektoren keinen Anfangs und Endpunkt besitzen, dann beschreibt der Betrag eines Vektors nur die Differenz zwischen zwei Punkten. Das heißt das der Betrag des Vektors nur die Länge des Vektors angibt?
Ist das so richtig?
 

JCODA

Top Contributor
2. Wenn Vektoren keinen Anfangs und Endpunkt besitzen, dann beschreibt der Betrag eines Vektors nur die Differenz zwischen zwei Punkten. Das heißt das der Betrag des Vektors nur die Länge des Vektors angibt?
Ist das so richtig?
Also deine "Folgerung" kann ich zwar nicht nachvollziehen, aber ja, der Betrag (oder mathematischer: die Norm) ist die Länge des Vektors.
 

Javaman91

Bekanntes Mitglied
Leider habe ich dann nicht Verstanden, wie ein Vektor in Java gezeichnet wird?
Ich bin immer davon ausgegangen, das ein Vektor bei 0,0 beginnt und ich mit x,y nur den Endpunkt angeben muss.

Beispiel:
Java:
Vektor2f vector = new Vektor2f(x, y)[/java]

Wenn ich nun z.B. zwei Objekte habe die sich in einem bestimmten Abstand zueinander befinden, dann erzeuge ich zwei Vektoren. Beide Vektoren starten immer bei 0,0 das ist bei der Erzeugung eines Vektors automatisch festgelegt (so habe ich das Verstanden). Möchte ich nun z.B. den Abstand zwischen den Objekten ermitteln, dann Subtrahiere ich beide Vektoren und bekomme dann den Abstand der beiden Objekte als Zahlenwert.

So habe ich das Verstanden?
 

Javaman91

Bekanntes Mitglied
Leider habe ich dann nicht Verstanden, wie ein Vektor in Java gezeichnet wird?
Ich bin immer davon ausgegangen, das ein Vektor bei 0,0 beginnt und ich mit x,y nur den Endpunkt angeben muss.

Beispiel:
Java:
Vektor2f vector = new Vektor2f(x, y)

Wenn ich nun z.B. zwei Objekte habe die sich in einem bestimmten Abstand zueinander befinden, dann erzeuge ich zwei Vektoren. Beide Vektoren starten immer bei 0,0 das ist bei der Erzeugung eines Vektors automatisch festgelegt (so habe ich das Verstanden). Möchte ich nun z.B. den Abstand zwischen den Objekten ermitteln, dann Subtrahiere ich beide Vektoren und bekomme dann den Abstand der beiden Objekte als Zahlenwert.

So habe ich das Verstanden?
 

Javaman91

Bekanntes Mitglied
Das weiß ich auch, das ein Vektor eine bestimmte Richtung und Länge hat.
Meine Frage war aber, wozu die Werte "x & y" bei der erzeugung eines Vektors benötigt werden?
Was geben diese zwei Werte an?
 

JCODA

Top Contributor
x und y geben an, welche Verschiebung der Vektor beschreibt, x horizontal, y vertikal.
Natürlich kann man das interpretieren als Vektor der auf (x,y) zeigt.
 

Javaman91

Bekanntes Mitglied
Ist x & y eine Koordinate am Bildschirm?
Also z.B. 10 pixel auf der x-Achse und 20 Pixel auf der y-Achse?
Als Ergebnis bekomme ich dann einen Punkt am Bildschirm zu den dann ein Vektor zeigt.
 

JCODA

Top Contributor
Sagen wir es so:
Man kann jeden Punkt (x,y) als Vektor (x,y) darstellen.
Wenn man eine Strecke mit Start und Endpunkt darstellen möchte, benötigt man eben zwei Vektoren:
Anfangspunkt und Endpunkt als Vektoren oder
Anfangspunkt und Verschiebung.
 

Javaman91

Bekanntes Mitglied
Hat jemand eine Zeichnung, damit ich Verstehe wie die verschiebung eines Vektors erfolgt.
Denn wenn x & y die verschiebung angeben, wie weiß das Programm dann wie Lang der Vektor sein muss?
 

thecain

Top Contributor
Auf dem von mir verlinkten Wiki-Artikel hats viele.

A = Punkt(1, 1) Koordinaten
A' = Punkt(3,3) Koordinaten

Vector A->A' Der Vektor der A auf A' abbildet
Dann wäre der Vektor A->A'(2,2) und dessen Betrag = sqrt(2^2+2^2) also ca. 2.8

Aber das sind Basics, diese müssten klar sein vor dem Start mit Spieleentwicklung
 

Tobse

Top Contributor
Ist x & y eine Koordinate am Bildschirm?

Vektoren haben mit deinem Bildschirm garnix zu tun. Vektoren sind ein Mathematisches Konstrukt. Man kann auch einen Vektor nicht sinnvoll zeichnen, weil er nur eine Länge und eine Richtung angibt, aber keinen Punkt.

Es gibt eine Ausnahme: Angenommen du hast einen Punkt p_xy.png, dann gibt es einen Ortsvektor zu p.png, nämlich vec0p.png , der vom Ursprung zum Punkt P zeigt. Den Ortsvektor notiert man dann p_full.png

Denn wenn x & y die verschiebung angeben, wie weiß das Programm dann wie Lang der Vektor sein muss?
Über den Satz des Pythagoras:
lp.png
 

Javaman91

Bekanntes Mitglied
O.K.
Ich erkläre das nochmal wie ich das jetzt mit der Erklärung von Tobse verstanden habe.

Die x&y Werte die ich bei der erzeugung eines Vektors in Java angebe, geben mir einen Punkt an zu dem der Vektor zeigt (der Punkt gibt die Richtung an in die der Pfeil zeigt). Mit Hilfe des Pythagoras weiß ich wie lange der Vektor ist. Der Vektor geht immer vom Ursprung aus (0,0).

Stimmt das jetzt?
 

Anhänge

  • Zeichnung.jpg
    Zeichnung.jpg
    42,7 KB · Aufrufe: 25

thecain

Top Contributor
Nein. Lies den Wikipedia-Artikel... (Oder die ganze Antwort von Tobse, nicht nur das, was zu deinem bisherigen Verständnis passt)
Ein Vektor gibt eine Richtung an. Keinen Punkt. Ein Vektor hat keine Koordinate

Ein Vektor KANN vom Ursprung aus gezeichnet werden und zeigt dann auf den Punkt (der Vektor ist dann 0->P, bei Punkt P), welcher seinen Komponenten entspricht, aber das ist nicht das wozu der Vektor da ist.

Vektor != Punkt
der selbe Vektor könnten auch den Ursprung 1,1 haben, dann müsstest du ihn von 1,1 aus zeichnen. Es ist aber trotzdem noch der selbe Vektor
 

Tobse

Top Contributor
In Ergänzung zum letzten Post von @thecain hier nochmal ein bild, wenn das hilft:

vector.png

EDIT:

Nochmal im Detail ein einzelner Vektor:

vec2.png

Steht auch alles genau so auf Wikipedia; einfach lesen (oder optional Unterlagen vom Mathematikunterricht der 10. Klasse am Gymnasium lesen)
 
Zuletzt bearbeitet:

Jardcore

Top Contributor
Um das Verständnis hier ein wenig aufzulockern. In der Spielentwicklung werden Punkte leider oft mit Hilfe von Vektoren angegeben. Und sind damit dort synonym zum Punkt zu sehen.
Java:
public class Transform {
    public Vector2 position = new Vector2(10,10);
    public Vector2 rotation = new Vector2(0,0);
    public Vector2 scale = new Vector2(1,1);
}
Der obige Code zeigt Beispielsweise die Implementierung einer Transform Klasse, welche die Position, Rotation und Skalierung als Vector beinhaltet.
Hier wird der Vector jedoch nur als Container verwendet um Koordinaten zu speichern. "position" gibt hier wirklich nur einen Punkt (10,10) in dem benutzten Koordinatensystems an.
 
Zuletzt bearbeitet:

Jardcore

Top Contributor
Leider, weil es dem Verständnis der Vektorrechnung nicht behilflich ist.
Für die Spielentwicklung ist das wunderbar, ich profitiere auch davon :p
 

thecain

Top Contributor
Es ist sicher behilflich. Wenn du z.b. eine Bewegung oder wie hier eine Gravitation abbilden willst. Du musst dann halt einfach auch mit den entsprechenden operationen arbeiten
 

Javaman91

Bekanntes Mitglied
Jetzt habe ich es!
Der x & y Wert den ich bei der Erzeugung eines Vektors angebe:
Java:
Vector2f vektor = new Vector2f(x, y);
wird einerseits zur Bestimmung des Betrages (Betrag = Länge des Vektors) verwenden. Dies wird mit Hilfe des Pythagoras gemacht, da ich zwei bekannte Werte habe und dadurch die Länge des Vektors berechnen kann. Haben wir bereits weiter oben schon geklärt.

Weiters werden diese Werte verwendet um auch die Richtung des Vektors zu bestimmen.

Beispiel:
Wenn z.B. x = 5 und y = 8 ist, dann zeigt der Vektor in eine bestimmte Richtung.
Wenn jetzt aber z.B. x =2 und y = 2, dann zeigt der Vektor in eine andere Richtung.
Das heißt, das ich mit dem x & y Wert nicht nur die Länge des Vektors sondern auch die Richtung angeben kann (Anbei noch ein Bild zum Beispiel).

Jetzt sollte es aber passen?
 

Anhänge

  • Zeichnung2.png
    Zeichnung2.png
    12,3 KB · Aufrufe: 27

Javaman91

Bekanntes Mitglied
"Ja, soweit ok" bedeutet für mich "naja, so ganz stimmt das nicht".
Es kann doch nur so sein, wie ich das geschrieben habe.
Wenn ich nur zwei Werte, also x & y habe, dann geht das ja garnicht anders, also muss das was ich in #30 geschrieben habe Richtig sein?
 

Javaman91

Bekanntes Mitglied
Super danke für die Hilfe!

Ich bin lästig, aber oft erscheint einem etwas richtig da es einem als logisch erscheint.
Das heißt aber leider nicht immer das es auch richtig ist!
Deshalb muss ich einfach mehrmals Nachfragen

MfG
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Vektor skalieren Spiele- und Multimedia-Programmierung 15
M Vektor Game Spiele- und Multimedia-Programmierung 13
P Java3D - Zylinder genau wie Vektor ausrichten Spiele- und Multimedia-Programmierung 5
T Mein Vektor-Zeichenprogramm ist zu langsam Spiele- und Multimedia-Programmierung 4
H Der Vektor ist schuld...Problem mit durchsuchen von Vektor Spiele- und Multimedia-Programmierung 2
N Minecraft Frage für einen Minecraft Server Spiele- und Multimedia-Programmierung 2
Drachenbauer Speicher-Tool für ein Spiel schreiben Spiele- und Multimedia-Programmierung 13
B Deepmind Poker Bot für PokerStars konfigurieren? Spiele- und Multimedia-Programmierung 2
G Minecraft PlayerBot (Listener Thread für jeden Spieler?) Spiele- und Multimedia-Programmierung 3
K Wie bekomme ich eine Transition für alle Objekte zum stoppen? Spiele- und Multimedia-Programmierung 1
E Organisation für Game Spiele- und Multimedia-Programmierung 1
Excess Ballerfisch für Android Spiele- und Multimedia-Programmierung 3
coolian ich brauche irgendeine gui lib für lwjgl2 Spiele- und Multimedia-Programmierung 51
krgewb Anderer Algorithmus für Bounding Box Spiele- und Multimedia-Programmierung 9
MiMa MP3 Dateien für Metadaten abgleichen Spiele- und Multimedia-Programmierung 0
Freshy Bot für Discord Spiele- und Multimedia-Programmierung 61
R Ideen für die Backend-Entwicklung eines Games gesucht Spiele- und Multimedia-Programmierung 8
G Mikrophon-/Audiosteuerung für einen Character Spiele- und Multimedia-Programmierung 1
P Tennis- Spielstand- Zähler für Schule programmieren Spiele- und Multimedia-Programmierung 6
M Logik für ein Quiz Spiele- und Multimedia-Programmierung 7
P Hilfe für Seminar Arbeit Spiele- und Multimedia-Programmierung 9
MiMa Metadaten für Multimedia Daten ermitteln Spiele- und Multimedia-Programmierung 4
G Übungsprogramm für Matheaufgaben Spiele- und Multimedia-Programmierung 1
F Algorithmus für bessere Kollisionsabfragen Spiele- und Multimedia-Programmierung 10
S Bilder Für Schachfiguren Spiele- und Multimedia-Programmierung 14
Timo_neu_in_java Suche etwas einfaches für Anfänger Spiele- und Multimedia-Programmierung 6
I Minecraft Suche Plugin Developer für Minecraft Netzwerk! Spiele- und Multimedia-Programmierung 2
S GUI erstellen für Text Adventure Spiele- und Multimedia-Programmierung 4
S Eigene Klasse vec_t - 3 oder 4 Einheiten für x, y, z und w Spiele- und Multimedia-Programmierung 11
R Vererbbarer GameLoop für Engine Spiele- und Multimedia-Programmierung 14
I Minecraft: Craftingrecipe für Braustand ändern Spiele- und Multimedia-Programmierung 9
Z Minimax-Algorithmus für TicTacToe Spiele- und Multimedia-Programmierung 5
H KI für Spiele Spiele- und Multimedia-Programmierung 1
S Pssende Datenstruktur für ein Netz Spiele- und Multimedia-Programmierung 5
S MouseEvents für Sprites Spiele- und Multimedia-Programmierung 3
I Spectator Modus für Spiel ähnlich zu Terraria Spiele- und Multimedia-Programmierung 8
K Bestes Bildformat für Spielegrafiken und deren Einbindung in Java Spiele- und Multimedia-Programmierung 2
J mehrere Listener für einen Button / Label Spiele- und Multimedia-Programmierung 1
C Port umleiten: lesen und schreiben für MCServer-Client über Skype Spiele- und Multimedia-Programmierung 0
J Musik Bibliothek für GUI Spiele- und Multimedia-Programmierung 7
B Hauptmenü für Spiel Spiele- und Multimedia-Programmierung 1
R Ratschlag für 2D-3D Engine für die Spieleentwicklung gesucht Spiele- und Multimedia-Programmierung 4
Androbin KI für Verfolgung im Raster Spiele- und Multimedia-Programmierung 2
A Bot für Browsergame Spiele- und Multimedia-Programmierung 2
H Tutorials für Fortgeschrittene 3D-Anwedungen Spiele- und Multimedia-Programmierung 2
lord239123 suche Graphiker für ein Pokemon-Spiel Spiele- und Multimedia-Programmierung 6
Furtano Vektoren für Bewegung für eine 2D-Simulation Spiele- und Multimedia-Programmierung 3
T Sinusgenerator für eine Hp Spiele- und Multimedia-Programmierung 8
J Menü für Snakespiel in einzelnem JFrame Spiele- und Multimedia-Programmierung 5
M Minecraft weitere Java Entwickler für minecraft projekt gesucht Spiele- und Multimedia-Programmierung 0
Guybrush Threepwood Ketzerische Frage: Opus-Codec für Java Spiele- und Multimedia-Programmierung 14
L Hilfe bei Klassendesign für Spiel Spiele- und Multimedia-Programmierung 2
N Animationen für ein 2D game Spiele- und Multimedia-Programmierung 6
S Aufbau für 2D Spiele Spiele- und Multimedia-Programmierung 7
L Client für ein Browsergame Spiele- und Multimedia-Programmierung 21
Devil0s Swing Elemente für Inventar? Spiele- und Multimedia-Programmierung 9
Kenan89 Ansatzfrage: Kartenspiel für 2 Spieler Online Spiele- und Multimedia-Programmierung 3
F Ideen für spiel Spiele- und Multimedia-Programmierung 4
P Spielfeld für RPG Spiele- und Multimedia-Programmierung 15
Hoppelmann Alphamap (Bild) für 3D-Terrain generieren Spiele- und Multimedia-Programmierung 2
S Algorithmus zur Ressourcesuche für die KI Spiele- und Multimedia-Programmierung 5
M Farbwerte für Flächen aus einem Bild erkennen Spiele- und Multimedia-Programmierung 3
K Einfache Engine für einfaches 3D gesucht Spiele- und Multimedia-Programmierung 10
C KI für Skatspiel - Wie können die Computerspieler eigenständig handeln? Spiele- und Multimedia-Programmierung 10
S Aufbau von Klassen für Spiel Spiele- und Multimedia-Programmierung 13
Kenan89 Kleines Projekt für Java Spiele- und Multimedia-Programmierung 5
M Empfehlungen für ein 2D-Jump'n'run Spiele- und Multimedia-Programmierung 4
A Grundlagensuche für Spiel Spiele- und Multimedia-Programmierung 8
C Wo ist der MP3 Plugin für JMF? Spiele- und Multimedia-Programmierung 3
qwerqer Design Pattern gesucht für Spielregeln Spiele- und Multimedia-Programmierung 2
M Java als Programmiersprache für kommerzielle Spieleentwicklung? Spiele- und Multimedia-Programmierung 3
K Game Engine für selbstprogrammiertes Spiel Spiele- und Multimedia-Programmierung 27
Y Warum Thread für Spieleprogrammierung? Spiele- und Multimedia-Programmierung 27
A Music für Android game Spiele- und Multimedia-Programmierung 3
Gossi Probleme beim Laden der Images aus dem "Tutorial für Java-Spiele" Spiele- und Multimedia-Programmierung 4
M Minecraft Suche Java Programmierer (für Minecraft) Spiele- und Multimedia-Programmierung 2
Luk10 Tipps für bessere Animationen / Grafik Engine Spiele- und Multimedia-Programmierung 2
T 2D Menü für 3D Spiel Spiele- und Multimedia-Programmierung 5
T Grundlagenwissen für den 3D Raum Spiele- und Multimedia-Programmierung 6
I getSubImage sorgt für starken Performanceeinbruch Spiele- und Multimedia-Programmierung 6
M technologie für video, webcam & co Spiele- und Multimedia-Programmierung 25
C Java für große Spiele geeignet ? Spiele- und Multimedia-Programmierung 101
D Libraryempfehlung für Effekte Spiele- und Multimedia-Programmierung 3
B Spiele programmieren für ein Fenster? Spiele- und Multimedia-Programmierung 14
D Tabelle für Spiel Spiele- und Multimedia-Programmierung 3
N Grundlagen für ein Jump&Run Spiele- und Multimedia-Programmierung 3
S Datenbank gesucht für Bilder(gif-dateien) Spiele- und Multimedia-Programmierung 5
J Suche 3D Programm für jMonkeyEngine Spiele- und Multimedia-Programmierung 5
W 3D-APIs für Java - Eine Übersicht Spiele- und Multimedia-Programmierung 8
D Problem beim Öffnen einer PHP für eine Highscore Spiele- und Multimedia-Programmierung 5
S Game Client für kleine Competition Spiele- und Multimedia-Programmierung 3
F Programm für Bildbearbeitung gesucht: Skalieren und Speichern Spiele- und Multimedia-Programmierung 6
K Lösungsansätze für ein Spiel Spiele- und Multimedia-Programmierung 2
Plastagen Frameworls für Animationen und co Spiele- und Multimedia-Programmierung 3
aze Wie Transform3D für PosPathInterpolator bestimmen Spiele- und Multimedia-Programmierung 8
M Musik für Spiel wo downloaden? Spiele- und Multimedia-Programmierung 7
R Netzwerkstruktur für ein kleines Spiel Spiele- und Multimedia-Programmierung 8
O KI (künstliche Intelligenz) für Schachlogik Spiele- und Multimedia-Programmierung 4
J Brauche denkanstoß für kleines grafikframework Spiele- und Multimedia-Programmierung 3
A Countdown-Timer für Spiel Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen

Neue Themen


Oben