point_distance_3d

    • Skript

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • point_distance_3d

      Hallo zusammen,

      da in Moolt's jüngstem Tutorial Partikel die Frage aufkam, wie man die Entfernung zweier Punkte im dreidimensionalen Raum ermittelt, hab ich mich mal rangesetzt. Standardmäßig bietet der GM folgende Funktion für 2D Spiele (nur x & y):

      GML-Quellcode

      1. point_distance(x1, y1, x2, y2);

      Mein Script funktioniert genauso, allerdings kommt die z-Koordinate hinzu:

      GML-Quellcode

      1. point_distance(x1, y1, z1, x2, y2, z2);

      Es gibt wie auch die Standardfunktion die Entfernung der 2 Punkte zurück.

      Ausgiebig prüfen konnte ich es jetzt nicht. Wenn ihr Fehler entdeckt, teilt es mir bitte mit. Dankeschön!
      Dateien
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • Eine andere Möglichkeit wäre der Einzeiler:

      GML-Quellcode

      1. return sqrt(sqr(argument3-argument0)+sqr(argument4-argument1)+sqr(argument5-argument2));

      Deine Abfragen und der Betrag sind nicht notwendig, mauge, da man ja sowieso quadriert ;)
      (Vielleicht irre ich mich, da du power verwendest und da auch gebrochene Exponenten erlaubt sind. Dann muss natürlich die Basis nichtnegativ sein.)
    • Tse, dass du wieder mit einem langweiligen Einzeiler daher kommst, war ja zu erwarten. :D
      Naja, wenigstens weiß ich jetzt, dass mein Lösungsweg richtig ist. Ich hab mir Sorgen wegen negativer Werte gemacht und bin auf Nummer Sicher gegangen. Aber scheinbar muss man das dann gar nicht.
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.