Re: Thread
1)
(Punkt 1) P1: (x1, y1, z1)
(Punkt 2) P2 (x2, y2, z2)
Vektor P1P2: (x2-x1, y2-y1, z2-z1)
Laenge des Vektors: wurzel( (x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2 )
2)
Naja das kommt auch auf deinen Routfinding-Algorithmus an. Wenn du von (x=0, y=0, z=0) nach (x=1, y=100, z=0) willst, dann musst du 100 Schritte auf der y-Achse nach oben und dabei nur einmal nach rechts (x-Achse). Das einmal nach rechts könntest du ans Ende oder an den Anfang setzen. Du könntest auch erst nach rechts und dann nach oben, oder einmal diagonal und 99x nach oben... kommt eben drauf an. Bei der einfachsten Lösung würden vermutlich drei for-Schleifen schon reichen, die zu den Zielkoordinaten hinzählen. Allerdings hast du dann wiederum das Problem, dass auch Objekte im Weg sein könnten und du dafür Ausnahmen bräuchtest.
3)
Drei for-Schleifen sollten es tun. Die Punkte kannst du dann in ein Array packen. Die Datenbank würd sich bestimmt über die vielen gleichzeitig abgefragten Koordinaten freuen :wink:
Ansonsten erinnert das Problem auch etwas an die "Umkreissuche" (wurd glaub ich so bezeichnet). Allerdings werden die Berechnungen zur Umkreissuche gewöhnlich glaub ich im zweidimensionalen Raum (z.B. Karten) angewendet und nicht im dreidimensionalen. Da müssten die Formeln dann evt. erst verändert werden.
(Punkt 1) P1: (x1, y1, z1)
(Punkt 2) P2 (x2, y2, z2)
Vektor P1P2: (x2-x1, y2-y1, z2-z1)
Laenge des Vektors: wurzel( (x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2 )
2)
Naja das kommt auch auf deinen Routfinding-Algorithmus an. Wenn du von (x=0, y=0, z=0) nach (x=1, y=100, z=0) willst, dann musst du 100 Schritte auf der y-Achse nach oben und dabei nur einmal nach rechts (x-Achse). Das einmal nach rechts könntest du ans Ende oder an den Anfang setzen. Du könntest auch erst nach rechts und dann nach oben, oder einmal diagonal und 99x nach oben... kommt eben drauf an. Bei der einfachsten Lösung würden vermutlich drei for-Schleifen schon reichen, die zu den Zielkoordinaten hinzählen. Allerdings hast du dann wiederum das Problem, dass auch Objekte im Weg sein könnten und du dafür Ausnahmen bräuchtest.
3)
Drei for-Schleifen sollten es tun. Die Punkte kannst du dann in ein Array packen. Die Datenbank würd sich bestimmt über die vielen gleichzeitig abgefragten Koordinaten freuen :wink:
Ansonsten erinnert das Problem auch etwas an die "Umkreissuche" (wurd glaub ich so bezeichnet). Allerdings werden die Berechnungen zur Umkreissuche gewöhnlich glaub ich im zweidimensionalen Raum (z.B. Karten) angewendet und nicht im dreidimensionalen. Da müssten die Formeln dann evt. erst verändert werden.