Abstände im Universium

Vorschläge für die 5. Runde Last-War
Antworten
Benutzeravatar
firebat
weiß was er tut
weiß was er tut
Beiträge: 301
Registriert: 31. Jan 2019, 16:44

Abstände im Universium

Beitrag von firebat »

Hallo liebe LW-Gemeinschaft,

ich möchte einen Vorschlag zum Abstandsbegriff und damit zur Form des Universums machen. Die Galaxien sind bisher kreisförmig um Gal1 verteilt, die Systeme innerhalb der Galaxien allerdings linear aufgereiht mit Endpunkten an den Systemen 1 und 100. Alle Strecken innerhalb der Systeme werden mit 1 SU gerechnet, so dass es keinen Unterschied macht, ob man zum Nachbarplaneten oder zu einem beliebigen Planeten ins Nachbarsystem fliegt, da alles 1 SU entfernt ist.

Zur Lösung könnte man die Galaxien und auch die Systeme ebenfalls scheibenförmig machen. Damit würden die Systeme 1 und 100 direkt benachtbart sein und die Unterschiede von Randsystemen, wie z.B. x1 und x100, und Zentralsystemen, wie das x50er würden verschwinden. Randsysteme haben nur eine Richtung, in die sie fliegen können und müssen zum anderen Ende hin sehr weite Strecken zurücklegen, während das Zentralsystemen doppelt soviele Systeme schnell erreichen kann. Im selben Zug könnte man das auch auf die Systeme anwenden. Wenn die Entfernung zu Nachbarplaneten gegenüber Planeten außerhalb des Systems geringer werden, würde das deren taktische Bedeutung aufwerten.

Brauchen wir nur noch eine Formel für den Abstandsbegriff. Wenn wir die Systeme entlang einem Kreis aufreihen, ist der kürzeste Weg zwischen zwei Systemen nicht der Umfang, sondern der direkte Weg durch die Innenfläche. Der längste Flug zum System auf der anderen Seite wäre dann der Durchmesser der Galaxie. Das folgende Bild zeigt einen Kreis, dessen Umfang in 12 Segmene unterteilt ist. Ohne Beschränkung der Allgemeinheit können wir erstmal davon ausgehen, das wir uns hier Systeme ansehen. Das können natürlich auch Planeten oder Galaxien sein.
Kreis_trans.png
Kreis_trans.png (19.5 KiB) 53 mal betrachtet
Die Punkte 1 und 12 liegen direkt benachbart. In der Skizze zeigt die Gerade d den kürzesten Weg zwischen den Systemen 3 und 5. Zur Berechnung von d ist noch der Mittelpunkt m, der Radius r und der Winkel theta eingezeichnet. Für den halben Abstand, also d/2, findet man ein rechtwinkliges Dreieck mit tetha/2 am Mittelpunkt, mit der Hypothenuse r und d/2 als Gegenkathete.

Für den Abstand d gilt:
d/2 / r = sin ( theta / 2 )
d = 2 * r * sin( theta / 2 )

Folgendes gilt:
- Der Winkel für den Sinus wird in radiant angegeben. 360° entsprechen 2 * pi.
- Winkel pro System, da die Systeme gleich verteilt sind: 2 * pi / systemanzahl
- Für die Differenz zweier Systeme muss man ein wenig aufpassen in welcher Richtung der Winkel aufgetragen wird - ob im Uhrzeigersinn oder dagegen. Auch spielt es eine Rolle, dass i > j sein sollte, damit i-j etwas positives ist: absolut(i-j)

Die kleinste Differenz der Systeme ist dann:
systemdiff = minimum( systemanzahl - abs(i - j) , abs(i - j) )

Für den Winkel:
theta = systemdiff * 2 * pi / systemanzahl

und für den Abstand:
d = 2 * r * sin( systemdiff * 2 * pi /systemanzahl / 2)
d = 2 * r * sin( systemdiff * pi / systemanzahl)

Der Abstand zwischen zwei Systemen hängt nun also von zwei Parametern ab: Dem Durchmesser (=2*r) der Galaxie und wieviele Systeme sich dort befinden. Das schöne ist jedoch, dass sich die Systemanzahl nur im Argument des Sinus befindet. Der Sinus liefert nur Werte zwischen 0 und 1. 0 für den Fall, dass Start und Zielsystem identisch sind. Und 1 für den Fall, dass das andere System sich genau gegenüber befindet und es bleibt der Durchmesser stehen.

Probieren wir das doch einfach mal aus:
Nehmen wir das Universium mit einem Durchmesser von 2000 SU und verteilen 6 Galaxien im Kreis:

Code: Alles auswählen

start:  1 ende:  6 theta:  0.17, dist: 1000.000 SU
start:  2 ende:  6 theta:  0.33, dist: 1732.051 SU
start:  3 ende:  6 theta:  0.50, dist: 2000.000 SU 
start:  4 ende:  6 theta:  0.33, dist: 1732.051 SU
start:  5 ende:  6 theta:  0.17, dist: 1000.000 SU
start:  6 ende:  6 theta:  0.00, dist:    0.000 SU
Das Ergebnis kennen wir bereits von der Skizze. Allerdings sind es dort die Galaxien 2-7 die verteilt wurden, es gab da einfach nur eine Verschiebung in der Numerierung.
Bild

Nun könnt man sich so die Galaxien mit z.B. 100 Systemen vorstellen und einem Durchmesser von 50 SU. Wenn es allerdings viel mehr Spieler werden und mehr Systeme pro Galaxie erwünscht sind, kann man das einfach auf 200 Systeme hochstellen. Die Flugzeiten zwischen den Systemen würden ein wenig geringer werden, da sich der relative Abstand zwischen den Systeme ein wenig verringert. Ein Flug durch die Galaxie insgesamt würde aber die gleiche Flugdauer haben, so dass man die Antriebe wesentlich besser einfacher einstellen könnte.

Galaxie mit 100 Systemen und einem Radius von 50 SU:

Code: Alles auswählen

 
start:   1 ende:   1 theta:  0.00, dist:   0.000 SU
start:   1 ende:   2 theta:  0.01, dist:   3.141 SU
start:   1 ende:   3 theta:  0.02, dist:   6.279 SU
start:   1 ende:   4 theta:  0.03, dist:   9.411 SU
start:   1 ende:   5 theta:  0.04, dist:  12.533 SU
start:   1 ende:   6 theta:  0.05, dist:  15.643 SU
start:   1 ende:   7 theta:  0.06, dist:  18.738 SU
start:   1 ende:   8 theta:  0.07, dist:  21.814 SU
start:   1 ende:   9 theta:  0.08, dist:  24.869 SU
start:   1 ende:  10 theta:  0.09, dist:  27.899 SU
start:   1 ende:  11 theta:  0.10, dist:  30.902 SU
start:   1 ende:  12 theta:  0.11, dist:  33.874 SU
start:   1 ende:  13 theta:  0.12, dist:  36.812 SU
start:   1 ende:  14 theta:  0.13, dist:  39.715 SU
start:   1 ende:  15 theta:  0.14, dist:  42.578 SU
start:   1 ende:  16 theta:  0.15, dist:  45.399 SU
start:   1 ende:  17 theta:  0.16, dist:  48.175 SU
start:   1 ende:  18 theta:  0.17, dist:  50.904 SU
start:   1 ende:  19 theta:  0.18, dist:  53.583 SU
start:   1 ende:  20 theta:  0.19, dist:  56.208 SU
start:   1 ende:  21 theta:  0.20, dist:  58.779 SU
start:   1 ende:  22 theta:  0.21, dist:  61.291 SU
start:   1 ende:  23 theta:  0.22, dist:  63.742 SU
start:   1 ende:  24 theta:  0.23, dist:  66.131 SU
start:   1 ende:  25 theta:  0.24, dist:  68.455 SU
start:   1 ende:  26 theta:  0.25, dist:  70.711 SU
start:   1 ende:  27 theta:  0.26, dist:  72.897 SU
start:   1 ende:  28 theta:  0.27, dist:  75.011 SU
start:   1 ende:  29 theta:  0.28, dist:  77.051 SU
start:   1 ende:  30 theta:  0.29, dist:  79.016 SU
start:   1 ende:  31 theta:  0.30, dist:  80.902 SU
start:   1 ende:  32 theta:  0.31, dist:  82.708 SU
start:   1 ende:  33 theta:  0.32, dist:  84.433 SU
start:   1 ende:  34 theta:  0.33, dist:  86.074 SU
start:   1 ende:  35 theta:  0.34, dist:  87.631 SU
start:   1 ende:  36 theta:  0.35, dist:  89.101 SU
start:   1 ende:  37 theta:  0.36, dist:  90.483 SU
start:   1 ende:  38 theta:  0.37, dist:  91.775 SU
start:   1 ende:  39 theta:  0.38, dist:  92.978 SU
start:   1 ende:  40 theta:  0.39, dist:  94.088 SU
start:   1 ende:  41 theta:  0.40, dist:  95.106 SU
start:   1 ende:  42 theta:  0.41, dist:  96.029 SU
start:   1 ende:  43 theta:  0.42, dist:  96.858 SU
start:   1 ende:  44 theta:  0.43, dist:  97.592 SU
start:   1 ende:  45 theta:  0.44, dist:  98.229 SU
start:   1 ende:  46 theta:  0.45, dist:  98.769 SU
start:   1 ende:  47 theta:  0.46, dist:  99.211 SU
start:   1 ende:  48 theta:  0.47, dist:  99.556 SU
start:   1 ende:  49 theta:  0.48, dist:  99.803 SU
start:   1 ende:  50 theta:  0.49, dist:  99.951 SU
start:   1 ende:  51 theta:  0.50, dist: 100.000 SU
start:   1 ende:  52 theta:  0.49, dist:  99.951 SU
start:   1 ende:  53 theta:  0.48, dist:  99.803 SU
start:   1 ende:  54 theta:  0.47, dist:  99.556 SU
start:   1 ende:  55 theta:  0.46, dist:  99.211 SU
start:   1 ende:  56 theta:  0.45, dist:  98.769 SU
start:   1 ende:  57 theta:  0.44, dist:  98.229 SU
start:   1 ende:  58 theta:  0.43, dist:  97.592 SU
start:   1 ende:  59 theta:  0.42, dist:  96.858 SU
start:   1 ende:  60 theta:  0.41, dist:  96.029 SU
start:   1 ende:  61 theta:  0.40, dist:  95.106 SU
start:   1 ende:  62 theta:  0.39, dist:  94.088 SU
start:   1 ende:  63 theta:  0.38, dist:  92.978 SU
start:   1 ende:  64 theta:  0.37, dist:  91.775 SU
start:   1 ende:  65 theta:  0.36, dist:  90.483 SU
start:   1 ende:  66 theta:  0.35, dist:  89.101 SU
start:   1 ende:  67 theta:  0.34, dist:  87.631 SU
start:   1 ende:  68 theta:  0.33, dist:  86.074 SU
start:   1 ende:  69 theta:  0.32, dist:  84.433 SU
start:   1 ende:  70 theta:  0.31, dist:  82.708 SU
start:   1 ende:  71 theta:  0.30, dist:  80.902 SU
start:   1 ende:  72 theta:  0.29, dist:  79.016 SU
start:   1 ende:  73 theta:  0.28, dist:  77.051 SU
start:   1 ende:  74 theta:  0.27, dist:  75.011 SU
start:   1 ende:  75 theta:  0.26, dist:  72.897 SU
start:   1 ende:  76 theta:  0.25, dist:  70.711 SU
start:   1 ende:  77 theta:  0.24, dist:  68.455 SU
start:   1 ende:  78 theta:  0.23, dist:  66.131 SU
start:   1 ende:  79 theta:  0.22, dist:  63.742 SU
start:   1 ende:  80 theta:  0.21, dist:  61.291 SU
start:   1 ende:  81 theta:  0.20, dist:  58.779 SU
start:   1 ende:  82 theta:  0.19, dist:  56.208 SU
start:   1 ende:  83 theta:  0.18, dist:  53.583 SU
start:   1 ende:  84 theta:  0.17, dist:  50.904 SU
start:   1 ende:  85 theta:  0.16, dist:  48.175 SU
start:   1 ende:  86 theta:  0.15, dist:  45.399 SU
start:   1 ende:  87 theta:  0.14, dist:  42.578 SU
start:   1 ende:  88 theta:  0.13, dist:  39.715 SU
start:   1 ende:  89 theta:  0.12, dist:  36.812 SU
start:   1 ende:  90 theta:  0.11, dist:  33.874 SU
start:   1 ende:  91 theta:  0.10, dist:  30.902 SU
start:   1 ende:  92 theta:  0.09, dist:  27.899 SU
start:   1 ende:  93 theta:  0.08, dist:  24.869 SU
start:   1 ende:  94 theta:  0.07, dist:  21.814 SU
start:   1 ende:  95 theta:  0.06, dist:  18.738 SU
start:   1 ende:  96 theta:  0.05, dist:  15.643 SU
start:   1 ende:  97 theta:  0.04, dist:  12.533 SU
start:   1 ende:  98 theta:  0.03, dist:   9.411 SU
start:   1 ende:  99 theta:  0.02, dist:   6.279 SU
start:   1 ende: 100 theta:  0.01, dist:   3.141 SU
Die Berechnungen haben ich in python mit der folgenden Funktion erstellt:

Code: Alles auswählen

from math import pi, sin    

def circ_dist(startpoint, endpoint, size=200., radius = 1000. ,debug=False):
    st = startpoint / size # normieren
    en = endpoint   / size # normieren
    theta = min(1. - abs(st-en),abs(st-en))
    dist = 2 * radius * sin( theta  * pi )
    print (f"start: {startpoint:3.0f} ende: {endpoint:3.0f} theta: {theta:5.2f}, dist: {dist:7.3f} SU")

for gal in range(1,7):
   circ_dist(gal, endpoint = 6, size = 6., radius = 1000.)
Beste Grüße

Antworten