C++_2D_Bewegung

Hoi
Wieder ich
Wieder ein Mathe Prob

Also:

Hab 2 Objekte
OB1 & OB2
OB1 sol sich mit einer variabeln geschwindigkeit(SPEED) auf den DIREKTEN Weg auf OB2 zubewegen.

Gegeben:

X & Y Pos & Distanz der Beiden OB's

Frage: Wie ist die nächste Position von OB1 auf den Weg zu OB2?

--Ano
 
Was hat das mit meinem Problem zutun?
Wo werden die Koordinaten von OB2 berücksichtigt?
Ich glaube du hast mich falsch verstanden...

--Ano
 
Die Koordinaten von Ob2 sind irrelevant, da in deinem ersten Posting nicht steht ob Ob2 sich bewegt. Also nehme ich an Ob2 steht still und somit interessiert es nur wie weit Ob1 sich pro Sekunde (oder MS) auf der X-Achse bewegt.
 
Y
|
|
| ´´´´´´´´´´´´´´´´´´OB2
| ´´´´´´´´´´´´´´´´´´ /
| ´´´´´´´´´´´´´´´´´ /
| ´´´´´´´´´´´´´´´´ /
| ´´´´´´´´´´´´´´´´/ <-- Diese X & Y Koordinaten sind gesucht
| ´´´´´´´´´´´´´OB1
@---------------------------------------------X


´´´<- Diese Zeichen bitte Ignorieren
OB2 steht still.
Tec:
Wir befinden uns in einem 2D Raum.. Und die bein OB's sind weder auf einer X noch auf eine Y Achse.
 
Wir befinden uns in einem 2D Raum.. Und die bein OB's sind weder auf einer X noch auf eine Y Achse.
Natürlich befinden sich beide jeweils auf einer X und Y Achse. Du hast diese Achsen sogar selber eingezeichnet in deiner Ascii-Grafik im vorherigen Posting.
 
Ich meinte da mit, sie haben verschiedene X & Y Koordinaten...

somit interessiert es nur wie weit Ob1 sich pro Sekunde (oder MS) auf der X-Achse bewegt.

Und die Y Achse? Es muss sich doch auf OB2 zubewegen..nicht einfach eine Achse entlang...

--Ano
 
Klar haben die verschiedene Koordinaten aber damit lässt sich leicht die Abstände berechnen da die jeweiligen X und Y Koordinaten sich jeweils auf einer virtuellen Ebene befinden und somit kollidieren können.
 
Das versteh ich jetzt net....
OB1 soll sich in mehren Schritten sozusagen auf einer Line(Die zu OB2 führt) auf OB2 zubewegen...
Wie in meiner Zeichnung zu sehen...
Und darum muss man doch zwangsweise die Koordinaten von OB2 mitberrechnen..darum versteh ich deinen ersten post net...

--Ano
 
Von OB2 muss man nix mitberechnen, das Teil steht ja still. Und sobald OB1.X == OB2.X dann liegen die 2 übereinander. Sollen die aber nur nebeneinander stehen dann lautet die Abfrage:

if ((OB1.X+OB1.width +1) == OB2.X)
{
//stehen nebeneinander
}
 
Jetzt versteh ich dich...

Ja das war die Lösung die ich auch scho hatte..nur das das nicht der direkte weg ist...
Also...
Zum einen..OB1 soll am ende genau die selben Koordinaten wie OB2 haben.

ZUm anderen.
Wenn man die X & Y Koordinaten solange erhöte/vermindert, bis sie gleich den Koordinaten von OB2 sind...dann ist das nicht der direkte Weg...was zb. wenn OB2.x = 10 ist und OB2.y auch
OB1.x ist 5 und und OB1.y = 1.
Dann wird OB1 zuerst die X Achse erreichen und sich dann nurnoch auf der Y achse bewegen bis auch da die Koordinaten gleich OB2 sind..verstehst du?
Das ist nicht der Direkte Weg.


--Ano
 
Also du hast die X- und Y-Kooridnaten beider Objekte, also muss du die Bewegung in X- und Y-Richtung nurnoch entsprechend in Relation setzen (wenn die Y-Entfernung doppelt so groß ist, wie die X-Entfernung muss sich Objekt1 bei einem Schritt doppelt so weit auf der Y- wie auf der X-Achse bewegen)
 
Zurück
Oben