Kürzeste Strecke zwischen zwei Punkten bei Kreisbewegung

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Froggerprogger
Badmin
Beiträge: 855
Registriert: 08.09.2004 20:02

Beitrag von Froggerprogger »

Ich habe jetzt den Thread nochmal überflogen, und irgendwie das Gefühl, das freedimensions Uridee noch nicht zuendegedacht wurde:
Man muss lediglich die Bewegung des Planeten simulieren, und dabei stets den Abstand zum Raumschiff berechnen. Fertig.
Da ich davon ausgehe, dass so ein Flug keine Millionen von Spielrunden dauern wird, wird dies wohl absolut ausreichend performant sein.

Nochmal das Vorgehen:

Code: Alles auswählen

P_Planet = "Ausgangs-Planetposition"
P_RS = "Ausgangs-Raumschiffposition"
RSradius = 0
dauer = 0

WHILE (Abstand P_Planet zu P_RS > RSradius)
    Verändere P_Planet so, als wäre eine Spielrunde vorüber
    erhöhe RSradius entsprechend der Raumschiffgeschwindigkeit
    dauer += 1

P_Planet ist nun der Treffpunkt, den das Raumschiff von Anfang an ansteuern muss, um nach RSradius Strecke, bzw. dauer Spielrunden dort auf den Planeten zu treffen.
Was spricht dagegen ?
!UD2
THEEX
Beiträge: 804
Registriert: 07.09.2004 03:13

Beitrag von THEEX »

@Laurin
LoL
Deine mathematischen Kenntnisse übersteigen meine gewiß, hab ja auch nur Hauptschulabschluß.
Jedoch behaupte ich weiterhin, wenn man bedenkt, daß eine Runde einem Monat entspricht, ist Beschleunigung nicht wirklich relevant. Natürlich stimmt das nicht ganz, aber hier wird stark vereinfacht gedacht und das ist in diesem Fall von Vorteil:
Ich geh jetzt einfach mal davon aus, daß auf eine Geschwindigkeit von 500000 km/h beschleunigt werden muß und dazu brauch man halt keinen Monat, im Gegenteil, nur einen recht kleinen Zeitraum des Monats (Du wirst mir sicher berechnen können, wie lange man dazu benötigt, damit es der Gesundheit nicht schadet). Und somit isses nicht wirklich relevant, weil es auf einen Monat gerechnet nur eine kleine Verzögerung bedeutet. Davon ab, ist es Science Fiction und was spricht dagegen, daß Dostej Raumschiffe Geräte mitführen, die G-Kräfte neutralisiern? *hehe*

Edit: Hab natürlich den Fehler gemacht und nicht alles durchgelesen, sondern nur den ersteren Teil... Wie kommst Du gerade drauf, auf eine Geschwindigkeit zu beschleunigen, die das Vielfache der der Lichtgeschwindigkeit übersteigt? Willst Du etwa Zeitreisen?
[/b]
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8820
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Quasi nichts anderes als ich vorgeschlagen habe mit den Annäherungsversuchen.

Ich versuchs gerade, aber irgendwie will das mit den Annäherungsversuchen nicht so richtig hinhauen. :|
Benutzeravatar
Froggerprogger
Badmin
Beiträge: 855
Registriert: 08.09.2004 20:02

Beitrag von Froggerprogger »

@Nic
Ich versuchs gerade, aber irgendwie will das mit den Annäherungsversuchen nicht so richtig hinhauen.
Nimm einfach allen Mut zusammen und sprich sie einfach an ! :D

Nee, im Ernst, wenn du es schaffst, für dieses Verfahren eine explizite Formel zu finden, ist das natürlich grandios !
Aber es scheint wohl echt sehr tricky zu sein, zumindest schaut deine Formel danach aus...

Ein Vorteil beim einfachen Simulieren bliebe allerdings, dass der Planet sich auch ohne Probleme auf elliptischen Bahnen oder beliebig anders bewegen könnte.
!UD2
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag von Laurin »

CSprengel hat geschrieben:Ich geh jetzt einfach mal davon aus, daß auf eine Geschwindigkeit von 500000 km/h beschleunigt werden muß und dazu brauch man halt keinen Monat, im Gegenteil, nur einen recht kleinen Zeitraum des Monats (Du wirst mir sicher berechnen können, wie lange man dazu benötigt, damit es der Gesundheit nicht schadet).
Um auf 500.000 km/h mit einer Beschleunigung, die der Erdbeschleunigung entspricht (9,81 m/s²), braucht man knapp 4 Tage. Dann noch Abbremsen (wieder 4 Tage) und etwas mehr als 1/4 des Monats fliegt das Schiff nicht mit voller Geschwindigkeit.
Davon ab, ist es Science Fiction und was spricht dagegen, daß Dostej Raumschiffe Geräte mitführen, die G-Kräfte neutralisiern? *hehe*
Drum schrieb ich ja auch das hier: (Ja, ok, es ist nur ein Spiel...)
(...) die das Vielfache der der Lichtgeschwindigkeit übersteigt? Willst Du etwa Zeitreisen?
Wo komme ich über die Lichtgeschwindigkeit?

@NicTheQuick:
Wie sieht deine Formel in PB-Schreibweise aus? Einige der Symbole kenne ich nicht. Ich meine, wie muss man deine Formel in PB eingeben?

Greetz Laurin
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
Benutzeravatar
SDX
Beiträge: 95
Registriert: 14.01.2005 18:37
Wohnort: Bremen
Kontaktdaten:

Beitrag von SDX »

An alle mit Lichtgeschwindigkeitswahn: :mrgreen:
Das ist doch`n SciFi-Game, oda?
Schon mal Enterprise geguckt?
Nö?
Mal tun!
Wichtig! :lol:
Wie wär`s wenn diese Raumschiffe ganz einfach ein völlig neues Antriebssystem besitzen, womit die ohne Probleme in einem Sekundenbruchteil auf knapp Lichtgeschwindigkeit, oder sogar darüber hinaus "beschleunigen" können, ohne daß jemand dabei wie ne Stubenfliege zerquetscht wird... nennen wir diesen Antrieb einfach SDX-Drive :lol: Da kann man ja ein bißchen seine Fantasie spielen lassen, somit kann man sich viel, viel Arbeit sparen. :allright: Gene Roddenberry hat sich bestimmt ursprünglich auch nicht viel Gedanken um seinen Warp-Antrieb gemacht, das kam erst später, als die Leute eine Erklärung erwarteten (denke ich mal).
.oO SDX Oo.
THEEX
Beiträge: 804
Registriert: 07.09.2004 03:13

Beitrag von THEEX »

@Laurin
Ups ja, hab mich verguckt... Du hast ja m/s und nicht km/s geschrieben.
Naja, so kommst immerhin auf knappe Lichtgeschwindigkeit.
Dann stimmt meine grobe Umrechnung ja auch nicht mehr.. ;-)
@Dostej, wie schnell sollen Deine Schiffe denn überhaupt fliegen? Ich sehs kommen, daß noch Beschleunigung und Verzögerung mitrechnen mußt.... *fg* Es sei denn, Du baust einen G-Kräfteneutralisator ein, bzw. man kann nur Rassen wählen, denen höhere G-Kräfte nix ausmachen.
Benutzeravatar
Dostej
Beiträge: 529
Registriert: 01.10.2004 10:02
Kontaktdaten:

Beitrag von Dostej »

Ich versuche mich ja an einem Spiel, ncith an einer Simulation. D.h. das ich manche Dinge völlig an der Realität vorbei gehen lasse (Gruss an Gene R.) oder so Pseudo-wissenschaftlich mache.

Die Antriebe sind so etwas. Die sind klar auf die Spielbedürfnisse zurechtgebogen. (Die Erklärung wird später zusammengeschustert...)
Ein SChiff bewegt sich mit (x) Felder pro Runde. Besserer Antrieb = mehr Felder. Schlechterer Antrieb = weniger Felder (kein Antrieb = stehenbleiben und Daumen raus :lol: )
Das mit der Rotation habe ich drin, weil ich denke, das es dann mal gut aussieht und den Spielern (im Kampf) doch noch ne Nuss zu knacken geben kann...

Kurz gesagt: Wenn das Schiff so dolle Beschleunigen müsste, dann kann es das auch - gehört sozusagen zum Antrieb... <)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ich finde das völlig ok für ein rundenbasiertes game...

dafür sind folgende betrachtungen auch garnicht unbedingt nötig,
aber vllt. kannst du, Dostej, trotzdem noch die eine oder andere anregung rausziehen.

in den meisten science-fiction wird innerhalb von sonnensystemen ein unterlicht-antrieb verwendet
(star-trek: "voller impuls, fähnrich")

der überlichtantrieb wird nur zwischen sternensystemen verwendet, dort ist er auch nötig.

beide antriebsarten sollten möglichst getrennt sein.

für den überlichtantrieb gibt es im grunde zwei möglichkeiten:
linear- und sprung-technik.

die lineartechnik entspricht dem warp-antrieb aus star-trek,
er ist die geläufigere form in film und literatur.

in manchen geschichten muss das schiff auf eine geschwindigkeit nahe c beschleunigen,
bevor es den überlicht-antrieb einschaltet.

das bietet auch nette möglichkeiten
für die berechnung von energieverbrauch und schaden,
z.b. wenn das schiff fliehen muss, und von 30%c auf überlicht gehen muss,
könnte der antrieb beschädigt werden und die speicherbänke geleert.


die sprungtechnik entspricht einer sofort-versetzung, hier wird praktisch das ganze schiff 'gebeamt'.

hier können mit unterschiedlichen antrieben unterschiedliche sprungweiten erreicht werden,
vor dem sprung wird zeit benötigt, um die energie aufzubauen,
je weiter die sprungweite des antriebs ausgereitzt wird,
desto größere abweichungen können auftreten.


noch eine spieleempfehlung:
Galactic Civilisations [ http://www.galciv.com/ ]
rundenbasierte aufbaustrategie
...ich spiels immer wieder gern...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Dostej
Beiträge: 529
Registriert: 01.10.2004 10:02
Kontaktdaten:

Beitrag von Dostej »

Ist drin. Ich unterschied zwischen UL über ÜL antrieben. Auch die beiden arten der ÜL_Antriebe (Sprung und Linear) kommen vor...

Ich konnte mich mit GalCiv irgendwie nie so richtig anfreunden... Weiss auch nicht warum...
Antworten