Ergebnis 1 bis 10 von 10

Thema: [2k3] Formel für Kreisbahn eines Planeten

  1. #1

    [2k3] Formel für Kreisbahn eines Planeten

    Hey,

    ich habe einen Planeten und der soll eine hübsche Kreisbahn ziehen. Das ganze muss ich natürlich irgendwie mit Variablen steuern.
    Da ich nicht viel von Formeln und solchem Kram verstehe, dachte ich mir, ich poste die Frage gleich schonmal, ohne großartig selber herumprobiert zu haben.

    Nichts desto trotz würde mein Ansatz wohl irgendwie so aussehen:
    Ich denke, ich würde versuchen, das ganze mit nur einem Move Befehl zu machen, der zB auch nur 0,1 Sek. dauert.
    Dann brauche ich neben meinen aktuellen Koordinaten noch 2 Variablen, die von den Koordinaten abgezogen bzw. addiert werden, je nachdem wo man gerade ist auf der Kreisbahn.
    Und wenn ich es richtig sehe, brauch ich noch ein paar Koordinaten in ... an der Stelle bekomme ich allerdings schon wieder nen Knoten im Gehirn. Ich weiß nur, dass die Kurve und damit der Wert der abgezogen/hinzugefügt werden muss, irgendwie exponentiell steigen/abfallen muss.

    edit: Es sollte dabei außerdem die Größe der Bahn und die Umlaufgeschwindigkeit flexibel eingestellt werden können.

    Ich weiß, dass hier Leute sind, die das wesentlich schneller durchdenken können oder einfach ausm Ärmel ziehen, deshalb frag ich einfach mal und freue mich auf Auskünfte.
    _________________________________

    EDIT: Geschafft!

    Klicke auf die Grafik für eine größere Ansicht 

Name:	chloe bug2.gif 
Hits:	22 
Größe:	66,5 KB 
ID:	24316

    Eventcode sieht so aus, falls es jemanden interessiert.
    Klicke auf die Grafik für eine größere Ansicht 

Name:	saas.jpg 
Hits:	27 
Größe:	69,3 KB 
ID:	24317

    Ich gebe quasi mit der -5 für die Variable 704 den Radius vor (welcher für das Gif jetzt sehr klein gewählt ist). Dann ziehe ich von Y kontinuierlich ab und gebe zu X kontinuierlich zu. Das mach ich dann für alle 4 Quadranten einzeln.
    Ich glaube, die Kreisbahn ist nicht perfekt und in den Scheitelpunkten wird er auch langsamer aber die Endgeschwindigkeit für den Mond wird eh sehr langsam sein, so dass mich das nicht stört.

    Geändert von IndependentArt (02.10.2017 um 22:40 Uhr)

  2. #2
    Hey Indy

    du nutzt doch DynRPG, d.h. du könntest auch die Kreisfunkionen sin und cos nutzen, wenn du das Mathe Plugin verwendest Dass macht es etwas schöner, flüssiger und einfacher zu bauen

    PS: Falls du keine Ahnung von sin und cos hast, hier die Formeln: y(a) = r * sin(a) und x(a) = r * cos(a) (a ist der winkel alpha zur x achse, den du hochzählen müsstest, r ist der radius des kreises)

  3. #3
    Danke für den Tipp. Ich steige allerdings gerade um aus easyrpg, deshalb wäre es unpraktisch noch mehr Plugins zu benutzen, die für mich nachgecodet werden müssten.

  4. #4
    Das müsste eigentlich auch einfacher gehen... Aber dann kommst du an einer Wurzel nur schwer vorbei.

    Die Kreisbahn kann auch beschrieben werden durch:
    y = sqrt(r² - x²)

    Dabei "bewegt" sich x immer zwischen -r und +r und dein Objekt auf der Kreisbahn hat dann den Punkt:
    (Vektor zum Mittelpunkt des Kreises) + (Vektor x y)

  5. #5
    @Caledoriv: Da hast du aber das Problem, dass eine gleichmäßige Kreisbewegung nicht (ohne weiteres?) möglich ist, da y sich nicht gleichmäßig ändert, wenn x gleichmäßig zu- bzw. abnimmt. An den x-Rändern (d.h. x nahe bei r bzw. -r) würde sich der Planet schnell bewegen, rund um x = 0 dagegen etwas langsamer.

    Ich kenne mich mit den Basismöglichkeiten des Makers nicht aus, enthält der diese mathematischen Grundfunktionen überhaupt nicht?

  6. #6
    Guter Punkt! Daran hatte ich nicht gedacht.

    Dazu fallen mir aber zwei Lösungsmöglichkeiten ein:
    a) Keine fixe Schrittgröße. Wenn man die Schrittgröße variiert, kann man bestimmt eine annähernd gleichförmige Bewegung hinbekommen. Das bedeutet aber nochmal extra Aufwand und viel Rumgespiele...
    b) Man nutzt das aus, baut noch einen weiteren Faktor ein und sollte so ein ellipsenartiges Konstrukt bekommen. Ist es nicht auch "in echt" so, dass Planeten auf Ellipsen fliegen und sich ihre Geschwindigkeit mit dem Abstand zum Mittelpunkt ändert?

  7. #7
    Zitat Zitat von Caledoriv Beitrag anzeigen
    b) Man nutzt das aus, baut noch einen weiteren Faktor ein und sollte so ein ellipsenartiges Konstrukt bekommen. Ist es nicht auch "in echt" so, dass Planeten auf Ellipsen fliegen und sich ihre Geschwindigkeit mit dem Abstand zum Mittelpunkt ändert?
    Ist schon so, allerdings weichen die Bahnen der meisten Planeten extrem wenig von der Kreisform ab. In unserem Sonnensystem ist dies bei Pluto noch am extremsten (ja, mittlerweile selbst kein Planet mehr) bzw. als Ellipse erst bei Kometen wirklich erkennbar.

    Und es würde auch am grundsätzlichen Problem nichts ändern, da die Formeln für die Ellipse der des Kreises sehr verwandt sind (der Kreis ist schließlich eine spezielle Ellipse):
    Parameterform: x = a*cos(t), y = b*sin(t) (t wäre der Parameter, den man für die reale Bewegung gleichmäßig steigern müsste)

    funktionaler Zusammenhang: y = +- (b/a)*sqrt(a² - x²)
    ->Wieder das gleiche Problem wie beim Kreis - gleichmäßiges Erhöhen von x führt zu einer Veränderung von y, die nicht der Realität entspricht (also bei gleichmäßigem Fortschreiten der Zeit).

    Und zu Vorschlag a): Die richtige Schrittgröße für x herauszubekommen dürfte dich letztendlich auch wieder zu den Winkelfunktionen führen...

  8. #8
    In diesem Sinne möchte ich auch gern nochmal Werbung für Kazesui machen, der ein Script geschrieben hat, mit dem man sinus und cosinus (und anderes) auch ohne DynRPG im Maker ausrechnen lassen kann.
    Das heißt, das folgende Script müsste auch im offiziellen Maker 2k3 funktionieren:

    https://rpgmaker.net/tutorials/479/

    Man callt dann einfach das Common Event CoSinusA und das errechnet dann für den Winkel alpha den Cosinus und den Sinus den man z.B. für den Kreis braucht
    Einziges Problem ist, dass man die Variablen 101 zu 160 benötigt, was bei bereits vorhandenen Projekten u.U. schwierig ist, wenn sie schon verwendet wurden. Wer das Script mit nem anderen Variablenbereich benötigt, kann auch in LotS nachsehen, ich hatte mir mal mir die Arbeit gemacht, die ganzen Variablen zu ändern -.-

    Geändert von MarcL (06.10.2017 um 06:46 Uhr)

  9. #9
    Oder man nimmt sich RMEventFactory und baut sich somit ein CE was Sinus berechnet - mit beliebigen Variablen.

    Ich glaube Sinus-CE ist sogar eines der beiliegenden und in der Hilfedatei beschriebenen Beispiele.

  10. #10
    Danke, Cherry. Kannte das Teil noch nicht, check aber so auf Anhieb auch noch nicht was man wie damit machen kann. Muss ich mich mal mit beschäftigen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •