Koordinaten eines Punktes auf einer Strecke

Neue Frage »

hasta Auf diesen Beitrag antworten »
Koordinaten eines Punktes auf einer Strecke
Hallo Leute,

ich steh völlig auf dem Schlauch...

Wie berechne ich folgende Aufgabenstellung:

Gegeben ist eine Gerade G zwischen 2 punkten A und B.
Wenn man nun eine bestimmte Strecke TG auf der Geraden G geht,
wie bekommt man dann die Koordinaten des Punkts an dem man ankommt?

Mhhh...

Hoffe ihr könnt mir helfen. verwirrt
mYthos Auf diesen Beitrag antworten »

Eine Gerade (g) verläuft nicht zwischen zwei Punkten (das tut eine Strecke), sondern durch zwei Punkte. Welcher Punkt auf g ist noch gegeben? T? Und du willst G? Normiere einfach den Vektor AB (bringe ihn auf die Länge 1) und trage diesen dann als Vielfaches der gegebenen Distanz von T aus auf. Beachte, dass du nach zwei verschiedenen Richtungen "gehen" kannst.

mY+
hasta Auf diesen Beitrag antworten »

Mhhh... Danke erstmal. Da habe ich mich wohl falsch ausgedrückt, es ist eine Strecke zwischen A und B die zurück gelegt werden soll. Das einzige was ich habe is A, B und die bereits zurückgelegte Strecke.
mYthos Auf diesen Beitrag antworten »

Macht ja nichts. Hast du den Weg jetzt verstanden? Wenn nicht -> konkretes Beispiel, relevante Frage stellen!

mY+
hasta Auf diesen Beitrag antworten »

Joooaaar...

Also es geht um folgendes:
Ich habe in Java ein display und muss einen punkt auf einer Strecke bewegen.
Ich habe Startpunkt und Zielpunkt im Koordinaten System einer Display Auflösung, sprich 0-Punkt ist oben Links. Nun muss ich die Zwischenpunkte auf der Strecke berechnen um den Punkt zu animieren, gegeben habe ich dazu die zurückgelegte distanz.

Können Sie mir da weiterhelfen... Ich komme partou nicht auf die Formel dazu. traurig
mYthos Auf diesen Beitrag antworten »

Im zwei- oder dreidimensionalen Raum?

Start:

Ziel:

Vektor

Davon den Einheitsvektor:

Dann ist der Endpunkt E jeder Strecke SE der Länge d auf der Geraden SZ:

E =

Im Dreidimensionalen kommen die entsprechenden dritten Komponenten einfach hinzu.

mY+
 
 
hasta Auf diesen Beitrag antworten »

Freude Puhhh! DANKE, danke und nochmals danke!
Du hast mir das Leben gerettet! Augenzwinkern

Irgendwie hätte ich das ja wissen müssen...
In Java sieht das ganze dann so aus:
code:
1:
2:
3:
4:
playerCurrentX = (int) (playerStartX + playerAlreadyMoved / distance * (playerDot.posX - playerStartX));
playerCurrentY = (int) (playerStartY + playerAlreadyMoved / distance * (playerDot.posY - playerStartY));


Kurze Erläuterung:
playerCurrent* ist die Koordinate auf der jeweiligen Achse, an der sich der "Spieler" gerade befindet.
playerStart* ist die Koordinate auf der jeweiligen Achse, von wo aus der "Spieler" gestartet ist.
playerAlreadyMoved spricht für sich (wieviel wurde auf der Strecke schon zurückgelegt.
distance ist der Abstand zwischen Start und Zielpunkt, die Variable wird vorher schon aus einer Abstandsberechnungsfunktion gefüllt.
playerDot ist das Java-Object, welches den "Spieler" darstellt und als Felder pos* mit der jeweiligen Zielposition enthält.

Funktioniert soo einwandfrei das ich einfach nur nochmal Danke sagen kann.

Beste Grüße,

der hasta
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »