Polygon entlang wandern -wie??

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Kernel32

Betreff: Polygon entlang wandern -wie??

BeitragSo, Mai 08, 2011 12:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute, mir raucht mal wieder total der Kopf, vielleicht kann mir da jemand weiterhelfen Sad

Ich habe ein Array von XY-Koordinaten, die quasi ein Polygon (oder einen Punkt-zu-Punkt-Pfad) definieren (jedes Koordinatenpaar definiert einen Punkt, die dann einfach alle durch eine Linie verbunden werden).

So, wie kann ich es nun anstellen, das ich die Aussenlinie dieses Polygons bzw. diesem Pfad entlang wandern kann, also das ich z.B. einem Raumschiff-Sprite sage, wandere 100 Pixel diesen Pfad entlang?

Ich hoffe, man versteht was ich meine, sag ja, mein Kopf raucht schon wieder Shocked Welches wäre ein guter Ansatz für dieses Problem?
-------------
Wollte neulich Herrn Brot anrufen, aber da war belegt.
Dann hab ich bei Wheight Watcher's angerufen, aber niemand hat abgenommen.
Schliesslich hab ich im Irak angerufen, aber dort war besetzt o.O

Xeres

Moderator

BeitragSo, Mai 08, 2011 12:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich sehe kein Problem: Vektor aus zwei Punkten bilden und in diese Richtung bewegen. Stichwort Waypoints.
Arrow BPS #4: Vektoren
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

Kernel32

BeitragSo, Mai 08, 2011 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Daran habe ich schon gedacht, aber das scheint mir noch zu umständlich und ich frage mich, ob man das eleganter lösen kann. Denn dazu müsste man ja umständlich durch alle "Waypoints" des Polygons loopen und erst mal feststellen, zwischen welchen beiden Punkten man sich befindet.

Ich wollte das eigentlich so lösen, das ich eine Funktion habe wie z.B.

WalkPolygon(Raumschiff, 200) bzw. MoveAlongPath(Raumschiff, 200)

wobei das Raumschiff dann 200 pixel auf der Linie des Polygons bzw. des Pfads, der aus einzelnen Punkten besteht entlang wandert. Und ich wollte es eigentlich vermeiden, mit vielen umständlichen Schleifen und ifs festzustellen, zwischen welchen beiden Wegpunkten sich der Zielpunkt befindet. Ich frage mich halt, ob es da nicht eine wirklich elegante Methode dafür gibt, auf die ich selbst nicht komme Sad
-------------
Wollte neulich Herrn Brot anrufen, aber da war belegt.
Dann hab ich bei Wheight Watcher's angerufen, aber niemand hat abgenommen.
Schliesslich hab ich im Irak angerufen, aber dort war besetzt o.O

BladeRunner

Moderator

BeitragSo, Mai 08, 2011 15:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Das kann ja schon aus dem Grund nicht funktionieren weil nicht zweifelsfrei bestimmt werden kann in welcher Richtung denn die 200 Pixel zu wandern wären. Und die umständlichen Ifs und Schleifen sind im Endeffekt das was einen Algorithmus ausmachen Wink
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Xeres

Moderator

BeitragSo, Mai 08, 2011 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Je nach dem, wie du den Pfad generierst, könntest du den ersten Waypoint schon auf das Raumschiff legen und ab da den nächsten als Ziel markieren oder du fliegst erst den nahestehendsten Waypoint an und machst von dort an weiter.
Ich würde dir raten: fang erst mal an. Schreib dir ein Programm nur zum testen der Mechanik. Wenn es zumindest einigermaßen geht, kannst du das untersuchen und Verbesserungen finden (oder wir hätten dann einen Ansatzpunkt dir Tipps zu geben). Loslegen und ausprobieren wird dich am schnellsten zum Ziel führen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group