Laden...

wegberechnung von a nach b

Erstellt von informant vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.327 Views
I
informant Themenstarter:in
54 Beiträge seit 2009
vor 13 Jahren
wegberechnung von a nach b

Hallo liebes C-Sharp Forum.

ein Objekt wandert von a nach b und nimmt dabei den kürzersten weg.

Z.B startet es von a: x= 0 , y=0 und geht nach b = x= 500 , y=400

Wie kann ich auslesen welche x und y das objekt in der zeit in der es von a nach b gegangen ist, bereits schon hinterlegt hat.

Also dadurch das es den kürzesten weg geht. wird es ja nicht alle x 500px & 400pxl durchlaufen.

Es geht darum ein Hindernis zu erkennen. Wenn ein hindernis in dem Bereich ist soll das objekt es umlaufen.

hoffe ihr versteht mein anliegen.

lg

D
33 Beiträge seit 2010
vor 13 Jahren

Hast dir ja geleich mal eines der Kompliziertesten Dinge ausgesucht: Wegfindung.

Meinst jetzt welche punkte das objekt passiert hat? Dann mach doch nen Timer der alle 10 millisekuden schaut wo das objekt gerade steht und speicher dir alle punkte.

Wenn es wirklich um wegfindung geht würde ich dir mal A* Pfadfindung für Anfänger empfehlen

I
informant Themenstarter:in
54 Beiträge seit 2009
vor 13 Jahren

hi danke

das mit dem timer geht ned, ich hab nur start und finish vom objekt. kann nicht abfragen wo die aktuelle position ist.
und ich hab die positionen der hindernisse.

Deswegen auch die frage, ob man vorher schon ausrechnen kann welche x und y das objekt passiert um nach b zu kommen.

821 Beiträge seit 2009
vor 13 Jahren

Ich würde erstmal schauen, ob eine Gerade von a nach b das Hindernis trifft. Wenn nicht ist das der kürzeste Weg. Wenn die Gerade das Hinderniss trifft, dann vergleichst du Umlaufweg links mit Umlaufweg rechts.

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo informant,

Deswegen auch die frage, ob man vorher schon ausrechnen kann welche x und y das objekt passiert um nach b zu kommen.

ja, kann man. Desert Fox hat sowohl das passende Stichwort, als auch einen guten Link für den ersten Einstieg gepostet. Damit solltest du weiterkommen.

Hallo Christoph K.,

für die Wegfindung gibt es gute und ausgereifte Algorithmen, die man einfach benutzen kann und sollte. Da wäre es suboptimal, wenn man sich selber was zusammen bastelt.

herbivore

I
informant Themenstarter:in
54 Beiträge seit 2009
vor 13 Jahren

hallo

mein problem is einfach

alle positionen von a nach b zu erhalten in einer geraden linie

Momentan sieht mein algorithmus so aus:

(siehe im Anhang bild1)

der code dazu->


 Point A = new Point(0, 10);
 Point B = new Point(20, 15);
 
 List<Point> weg = new List<Point>();
            while ( A != B ) {
                if ( A.X != B.X ) {
                    if ( A.X < B.X )
                        A.X++;
                    else
                        A.X--;
                }

                if ( A.Y != B.Y ) {
                    if ( A.Y < B.Y )
                        A.Y++;
                    else
                        A.Y--;

                }

                weg.Add(new Point(A.X, A.Y));

wie bekomme ich das so hin wie in Bild2

(siehe im Anhang bild2)

Hinweis von herbivore vor 13 Jahren

Beim nächsten Mal die Bilder bitte nicht packen, sondern direkt anhängen. Siehe [Hinweis] Wie poste ich richtig? Punkt 6.1.

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo informant,

siehe http://de.wikipedia.org/wiki/Bresenham-Algorithmus.

herbivore