Mikrogravitation oder Bug?

  • Hi Forum ^^


    Als ich damals die Quest "Galileo" gemacht hatte (30 Satelliten auf einmal), haben sich nach dem Abkoppeln, zwei der Satelliten umkreist. Zu dem Zeitpunkt war ich sehr erstaunt darüber und habe gleich ein Video davon gemacht, was ich dann erstmal wieder vergessen hatte, aber jetzt gerne mal eure Meinung dazu wissen will :D Leider hatte ich den Vorgang nicht direkt Live verfolgen können (bei 30 Satelliten etwas schwierig, sich auf genau die 2 zu konzentrieren) und es erst kurz danach, beim durchklicken bemerkt. Schaut es einfach mal an, das sollte schon alles erklären. PS: Das Save-Game existiert übrigens noch...





    VIDEO

  • Wie hast du die Satelliten abgeworfen (Booster, Drehung der Rakete, etc.) und wo waren sie stationiert? Ich würde auf den ersten Blick auf eine, durch den Abwurf verursachte, Drehung tippen.

  • Ich habe zwar jetzt nicht so viel ahnung von Physik, aber ich würde mal sagen, jeder Körper verursacht abhänig von seiner masse etwas Gravitation. Denn jedes Objekt krümmt doch ein bischen den Raum. War nur so ne vermutung von mir.

    Aber nicht so extrem.
    Oder fliegt dein Shuttle auf eine Space Station einfach so zu?
    Das ist wohl wirklich etwas kinetische Energie, die deine Satelliten naja .. drehen.

    Mein Battlelog-Account: Lizard771

  • Also ich kann mir keinen Abwurf vorstellen, bei dem 2 Objekte um einen Punkt kreisen, denn ein "orbit" kommt ja nur zustande wenn immer eine Kraft "nach unten" wirkt, sonst würden sie einfach linear in den Raum fliegen. ich tippe auf bug bzw. (und dann hätte squad mal wieder bewiesen das sie ein verdammt geiles Spiel programmiert haben :thumbup: ) ernsthaft die Gravitationsberechnung von parts!

  • Die Mikrogravitation kann man ausschließen (ausser die Entwickler hätten gepfuscht): Die eine Sonde besteht aus mehr Teilen, wie die andere. Das bedeutet, dass sie mehr Masse hat. Mehr Masse bedeutet auch mehr Gravitation. Folglich müssten sich die beiden Sonden um einen Schwerpunkt bewegen, der wesentlich näher beim mehrteiligen Objekt liegt.

  • Nur um meinen Senf auch dazuzugeben; Da die eine Sonde mehr Teile hat als die andere würde ich auf kollision und daraus resultierender Eigenrotation schliessen. Vermutlich so ne 1:100000000 gelegenheit das soetwas passiert.


    Ergo: McFly, du solltest Lotto spielen :)

    Beste Grüße
    Hotte


    ----
    Bekennender Mechjebuser :)
    ----

  • Also könnte ich jetzt so stehen lassen, das es sich um einen Bug handelt - schade, dachte habe die Mikrogravitation als erster entdeckt^^


    PS: Lotto spiele ich deswegen aber nicht ;)

  • Es ist definitiv kein Bug so wie ich die KSP-Engine verstehe.


    Die Entwickler haben versucht die Gravitation zu simulieren. Jedes Teil hat in KSP bestimmte Eigenschaften, so auch eine Masse. Die wird ja im VAB auch angegeben. Diese Masse wirkt sich beim Start und im Weltall über ihre Anziehungskraft und Ihre Massenträgheit aus. Die Massenträgkeit der Bauteilgruppen habt Ihr sicher schon viel früher bemerkt, nämlich das sich eine kleine Rakete z.B. mit dem RCS schneller beschleunigen und bremsen lässt wie eine Große. Das die Bauteile einzeln berechnet werden sieht man auch daran das eine abgetrennte Stufe beim Aufschlag auf z.B. Kerbal meist nicht komplett zerschellt, sondern auch hier spielt die "Aufschlagtoleranz" eines jeden Bauteils eine Rolle. Sehr oft überleben z.B. die RCS-Düsen. Die haben eigentlich eine Aufschlagtoleranz von 9 m/s und müssten eigentlich immer zerschellen. Da die Düsen aber z.B. an einem Tank sitzen der zuerst aufschlägt, so läuft das im Programmalgorihtmus vermutlich so ab:


    Die Baugruppe Raketenstufe schlägt z.B. mit 500 m/s mit einem Tank zuerst auf der Oberfläche auf. Die Aufschlagtoleranz des Tanks ist überschritten, also explodiert der Tank. Der Tank ist nun nicht mehr da, daher stehen alle Bauteile des Tanks an der Stelle in der Luft wo sie angebaut sind. Sie fallen nun auf die Oberfläche. Prallen diese Bauteile auf die Oberfläche wird für jedes einzelne Bauteil geprüft ob die Aufschlagtoleranz überschritten wurde oder nicht. Bauteile die bei der Explosion des Tanks unten angebaut waren aber die Oberfläche noch nicht berührt haben überleben den Absturz wahrscheinlich, da sie aufgrund der geringen Fallhöhe die Aufschlagtoleranz nicht überschreiten, sofern sie nicht noch von einem anderen Bauteil tödlich getroffen werden.
    Ich nehme an der Fehler entsteht dadurch das die Aufschlaggeschwindigkeit der Baugruppe nicht an die Einzelteile weiter vererbt wird, wenn das Bauteil nicht mehr da ist, wo sie angebaut waren. Wäre das der Fall, müsste immer alles explodieren, es sei denn die Fallgeschwindigkeit der Baugruppe ist niedriger wie die höchste Aufschlagstoleranz eines Bauteiles. In KSP haben die Kommandopods die höchste Aufschlagstoleranz und somit die höchste Überlebenschance wenn sie nicht direkt aufschlagen, sondern z.B. noch hinter einem anderen Bauteil sitzen (Dazu verweise ich auf die Screenshots von Quabits Bruchlandung auf Jool). Ich vermute das diese Berechnung eine mathematische Vereinfachung der Engine ist um KSP noch spielbar zu halten, denn sonst gäbe es nur noch Diashow in KSP. Als Außenstehender kann man das aber auch als Bug bezeichnen.


    Die Berechnung der einzelnen Anbauteile ist auch der Grund warum selbst mein neuer Core i7 Prozessor beim Annähern meiner Raumstation an 2,3 km quasi still steht bis alles geladen und verarbeitet wird. Ab einer Distanz von 2 km berechnet die Engine die physikalen Gesetzmäßigkeiten. Je mehr Einzelobjekte sich nähern, je mehr muss gerechnet werden.
    Ist die Eigenbewegung (Fluchtbewegung) zweier kleiner Massen sehr gering beeinflussen sie sich gegenseitig und werden z.B. angezogen oder umkreisen sich. Ich habe das selber noch nicht beobachtet, aber es verwundert mich letztendlich nicht.


    Die Dockingports bilden im übrigen eine Ausnahme. Deren Anziehung aufeinander ist sehr viel größer als bei allen anderen Bauteilen. Damit ist das Docking auch erst wirklich möglich. Die Tatsache das das Docking noch nicht sofort erfolgt, sondern die beiden Teile umeinander "tanzen" zeigt, das hier die gegenseitige Anziehung simuliert wird.


    Interessant wäre es wie sich die Teile verhalten wenn man sich mal für kurze Zeit aus den 2 km entfernt und dann wieder zurückkehrt. Ich vermute mal das sie dann der letzten Bahn folgen, da die Massenanziehung über 2 km Distanz nicht mehr berechnet wird, wohl aber die Bahnbewegung. Ein Experiment hierzu wäre hilfreich.

    8 Mal editiert, zuletzt von Paranoid ()


  • Die eine Sonde besteht aus mehr Teilen, wie die andere. Das bedeutet, dass sie mehr Masse hat. Mehr Masse bedeutet auch mehr Gravitation. Folglich müssten sich die beiden Sonden um einen Schwerpunkt bewegen, der wesentlich näher beim mehrteiligen Objekt liegt.


    Genau Andromega und genau dieses Verhalten beobachte ich bei den beiden Satelliten in dem Video. Der Drehpunkt liegt ganz klar nahe an dem größeren Satelliten oder sogar schon innerhalb des größeren Objektes.

    Einmal editiert, zuletzt von Paranoid ()

  • Zitat

    Der Drehpunkt liegt ganz klar nahe an dem größeren Satelliten.


    Was? Der liegt ganz klar zwischen den 2 Stayputnik-Cmdpods........................Hmmm, vielleicht auch nicht, wobei der Blickwinkel auch täuschen kann. Was mit auffällt ist, dass die kleinere Sonde sich mal schneller, mal langsamer bewegt, was auf eine ellyptische Drehbewegung schließen lässt. Aber hier könnte die 2-dimmensionale Ansicht ebenfalls täuschen.

  • Kleines Extra:
    Jeder Part wirkt sich zwar auf die Anziehung aus, dies ist aber so zu verstehen, das die Rakete träger wird. Gravitation haben in KSP nur die Himmelskörper und auch die nur in bestimmten Grenzen...
    Parts haben keine Anziehungskraft in KSP.
    Deshalb gehe ich eher von Bug oder Zufall aus ;)

    Zeig mir 'nen Job den die Bo nicht kann - Ich warte!

  • Habe mir das Save-Game nochmal angesehen, ist mittlerweile in die Jahre gekommen und alle Satelliten haben jetzt ihre eigene Bahn. Die beiden aus dem Video gibt es so nicht mehr. Das mit dem Timewarp hätte ich mal machen sollen, wie immer denk man selbst in solchen Situationen nicht daran^^ Vielleicht werde ich die Rakete nochmal abschießen, um zu sehen was passiert. Mich wundert es auch das der eine Sat so zerstört wurde, denn bei dem abkoppeln war ich extrem vorsichtig.


    @Quazar: Man kanns auch übertreiben :P


    Edit: Hab hier noch ein Bild für euch, vielleicht hilft es ja irgendwie. Die Bilder wurden unmittelbar nach dem decouplen aufgenommen.

  • Also um es mal vorweg zu schicken, die Berechnung von Gravitationswellen ist so komplex und aufwendig das sie in einem Spiel wie KSP sicher nicht umsetzbar ist. Es wird hier sicher nur das Newtonische Gravitationsgesetz berücksichtigt. Ob das nun der genauen Formel folgt oder in KSP eine Annäherung im Verhalten daran hat, ließe sich experimentell in KSP ermittel z.B. über Fallversuche auf Kebal. Aber das würde vielleicht auch zu weit führen. Generell betrachtet ist die Gravitation zwischen Bauteilen auch real betrachtet sehr gering. Ob man in der Raumfahrt dazu Beobachtungen gemacht hat, ist mir unbekannt. Hat jemand von Euch dazu mal etwas gelesen oder gehört?


    Die Tatsache das sich zwei Dockingports untereinander anziehen und diese anfangen zu tanzen wenn man nicht genau gerade dockt zeigt aber auch das das Spiel definitiv eine Art von Gravitationssimulation enthält die zwischen Bauteilen berechnet wird. Das Verhalten kann man ja auch im Spiel vergleichen wenn man nicht sauber mit einer Mun-Fähre auf dem Mun auf setzt (Hier Gravitation zwischen Himmelskörper und Part), da der Lander dann auch auf der Oberfläche tanzt und ggf. sogar umkippt wenn der Massenschwerpunkt nicht mehr stimmt. Im übrigen ist es mir auch schon beim Docking passiert das sich ein bereits gefangenes Bauteil durch das zu heftige schwanken wieder los gerissen hat.


    Aufgrund der Tatsache das die Bauteile in KSP als Objekt mit Eigenschaften belegt wurden (Stichwort Objektorientierte Programmierung) und der Programmcode die Simulierung von Gravitation bereits enthält wäre es eine Programmzeile die Berechnung von Gravitation unter Raumfahrtteilen zu aktivieren. Der einzige Grund dies nicht zu tun ist eine Kosten-Nutzen-Analyse. Was bringt es und wie viel Performance kostet es. Die Tatsache das KSP auch meinen neuen High-End-Rechner mühelos in die Knie zwingt veranlasst einen dazu sich Gedanken über die "Simulation" zu machen. Von Quabit wissen wir, das Squad eine ältere Unity-Engine für KSP einsetzt die Multicores noch nicht richtig unterstützt. Aber ist das der alleinige Grund für komplette Aussetzer zwischendurch?
    Sicher gibt es noch eine Menge Optimierungspotenzial in der Programmierung und das werden die auch sicher vor dem endgültigen Release noch angehen müssen.


    Aber die Bewegung im Video verhält sich ganz genau so als wäre Gravitation vorhanden. Es als Bug abzutun ist eine leichte Behauptung. Ich würde dann zumindest soweit gehen und sagen ein Bug in soweit, das hier die implementierte Simulation der Gravitation aktiv war, auch wenn es für alle anderen Parts nicht der Fall ist. Denn wie kommt eine solche Bewegung ansonsten zustande?

    2 Mal editiert, zuletzt von Paranoid ()

  • Generell betrachtet ist die Gravitation zwischen Bauteilen auch real betrachtet sehr gering. Ob man in der Raumfahrt dazu Beobachtungen gemacht hat, ist mir unbekannt. Hat jemand von Euch dazu mal etwas gelesen oder gehört?

    Ich weiß nur so viel, das NASA und Co. sich auf jeden Fall damit auskennen müssen, denn man zieht damit in Betracht, einen Asteroiden auf Kollisionskurs, durch die minimale Gravitation eines Raumschiffs, abzulenken.

    ...Denn wie kommt eine solche Bewegung ansonsten zustande?


    Das ist für mich, trotz der bisherigen guten Antworten, immer noch die große Frage?

  • Zitat

    Das ist für mich, trotz der bisherigen guten Antworten, immer noch die große Frage?


    Darauf hab ich auch keine Antwort, aber ich muss KCST zustimmen, Parts haben in KSP keine Gravitation (Wurde damals mal von Harvester im IRC gesagt). Dockingports haben sicherlich auch keine Gravitation, die werden einfach im Programmcode mit applyForce() (oder wie der Befehl in Unity/C# auch immer heißen mag) in die Richtung des Ports gedrückt.


  • Dockingports haben sicherlich auch keine Gravitation, die werden einfach im Programmcode mit applyForce() (oder wie der Befehl in Unity/C# auch immer heißen mag) in die Richtung des Ports gedrückt.


    Nun das ist doch eine Simulation von Gravitation in Form einer Funktion oder? :D


    Wäre es denkbar das diese Funktion mit anderen Parametern (Masse, Schwerpunktlage, Entfernung etc.) auch die Gravitation zwischen Himmelskörpern und Parts simuliert?
    Oder wurde dafür ein eigenes Modell, eine eigene Funktion in KSP von Squad implementiert?

    Einmal editiert, zuletzt von Paranoid ()