Galaxy Generation – Sterne Teil 1


Im ersten Beitrag über die prozedurale Erzeugung von Galaxien befassen wir uns zunächst mit den einzelnen Parametern, mit deren Hilfe wir die Größe und Gestalt der zu generierenden Galaxie beeinflussen können. Die einzelnen Techniken, die hierbei zum Einsatz kommen, behandeln wir dann im nachfolgenden Artikel.






Bei der Erzeugung einer neuen Galaxie werden insgesamt acht verschiedene Sternentypen berücksichtigt:

  • Blauer Stern (Spektralklasse A)
  • Oranger Stern (Spektralklasse K)
  • Roter Zwerg (Spektralklasse M)
  • Roter Riese (Spektralklasse M)
  • Gelber Stern (Spektralklasse G)
  • Weißer Stern (Spektralklasse F)
  • Blauer Riese (Spektralklasse B)
  • Blauer Überriese (Spektralklasse O)


Parameter für die spätere Beleuchtung von 3D-Objekten in der Sonnensystem-Ansicht:

SunBlue_LightColor: 1.0, 1.0, 1.0, 1.0
SunOrange_LightColor: 1.0, 1.0, 1.0, 1.0
SunRedDwarf_LightColor: 1.0, 1.0, 1.0, 1.0
SunRedGiant_LightColor: 1.0, 1.0, 1.0, 1.0
SunYellow_LightColor: 1.0, 1.0, 1.0, 1.0
SunWhite_LightColor: 1.0, 1.0, 1.0, 1.0
SunBlueGiant_LightColor: 1.0, 1.0, 1.0, 1.0
SunBlueHyperGiant_LightColor: 1.0, 1.0, 1.0, 1.0

SunBlue_LightRange: 500.0

[...]

SunBlueHyperGiant_LightRange: 500.0


Umrechnungsfaktor (1 Längeneinheit entspricht 10 Lichtjahre):

GalacticDistanceScaleFactor: 10.0


Maximaler quadratischer Abstand für die Darstellung von Lens-Flare-Effekten:

MaxLocalGroupDistanceSq: 65000.0


Verwendete Texturen:

Texture_SunBlue:      
../Data/Textures/SunsAndFlares/SunBlue.bmp

[...]

Texture_SunBlueHyperGiant: 
../Data/Textures/SunsAndFlares/SunBlueHyperGiant.bmp


Lens-Flare-Farben:

SunBlue_LensFlareColor: 0.5, 0.5, 1.0, 1.0
SunOrange_LensFlareColor: 1.0, 1.0, 0.5, 1.0
SunRedDwarf_LensFlareColor: 1.0, 0.5, 0.5, 1.0
SunRedGiant_LensFlareColor: 1.0, 0.5, 0.5, 1.0
SunYellow_LensFlareColor: 1.0, 1.0, 1.0, 1.0
SunWhite_LensFlareColor: 1.0, 1.0, 1.0, 1.0
SunBlueGiant_LensFlareColor: 0.5, 0.5, 1.0, 1.0
SunBlueHyperGiant_LensFlareColor: 0.5, 0.5, 1.0, 1.0


Lens-Flare-Skalierungsfaktoren:

SunBlue_LightScaleFactorX: 25.0
SunBlue_LightScaleFactorY: 7.5
SunBlue_LensFlareScaleFactor: 0.0625

[...]

SunBlueHyperGiant_LightScaleFactorX: 25.0
SunBlueHyperGiant_LightScaleFactorY: 7.5
SunBlueHyperGiant_LensFlareScaleFactor: 0.0625


Abhängigkeit der Lens-Flare-Intensität vom Kameraabstand:

LensFlareCameraDistanceValue: 1000.0
LensFlareIntensityDecrease: 0.003


Häufigkeit der unterschiedlichen Sterntypen:

SunBlue_DistributionValueMin: 0.49
SunBlue_DistributionValueMax: 0.5

SunOrange_DistributionValueMin: 0.5
SunOrange_DistributionValueMax: 0.85

SunRedDwarf_DistributionValueMin: 0.85
SunRedDwarf_DistributionValueMax: 0.95

SunRedGiant_DistributionValueMin: 0.95
SunRedGiant_DistributionValueMax: 0.98

SunYello_DistributionValueMin: 0.0
SunYello_DistributionValueMax: 0.39

SunWhite_DistributionValueMin: 0.39
SunWhite_DistributionValueMax: 0.49

SunBlueGiant_DistributionValueMin: 0.98
SunBlueGiant_DistributionValueMax: 0.99

SunBlueHyperGiant_DistributionValueMin: 0.99
SunBlueHyperGiant_DistributionValueMax: 1.0


Größe der Sterne:

SunBlue_MinScale: 4.0
SunBlue_MaxScale: 6.0

SunOrange_MinScale: 1.5
SunOrange_MaxScale: 2.0

SunRedDwarf_MinScale: 1.0
SunRedDwarf_MaxScale: 1.5

SunRedGiant_MinScale: 6.0
SunRedGiant_MaxScale: 8.0

SunYello_MinScale: 1.8
SunYello_MaxScale: 2.2

SunWhite_MinScale: 2.0
SunWhite_MaxScale: 2.5

SunBlueGiant_MinScale: 6.0
SunBlueGiant_MaxScale: 7.0

SunBlueHyperGiant_MinScale: 7.0
SunBlueHyperGiant_MaxScale: 8.0


Maximale Anzahl der Sterne in x-, y- und z-Richtung:

NumSunsMaxXDir: 31
NumSunsMaxYDir: 31
NumSunsMaxZDir: 31


Mittlerer Abstand zwischen den einzelnen Sternen in x-, y- und z-Richtung:

GalaxyParam_DeltaX: 44.0
GalaxyParam_DeltaY: 44.0
GalaxyParam_DeltaZ: 27.0


Minimale und maximale Variation des mittleren Stern-zu-Stern-Abstands in x-, y- und z-Richtung:

GalaxyParam_MinVarianceX: -7.0
GalaxyParam_MaxVarianceX: 7.0

GalaxyParam_MinVarianceY: -7.0
GalaxyParam_MaxVarianceY: 7.0

GalaxyParam_MinVarianceZ: -7.0
GalaxyParam_MaxVarianceZ: 7.0


Mit zunehmendem Abstand vom Galaxiezentrum nehmen die Stern-zu-Stern-Abstände mitunter immer weiter zu. Für die Berechnung dieser Abstände werden die nachfolgenden beiden Parameter benötigt:

GalaxyStellarDistanceIncreaseFactor1: 1.7
GalaxyStellarDistanceIncreaseFactor2: 0.01


Über die nachfolgenden drei Parameter kann die Sternendichte sowie die Ausdehnung der Galaxie beeinflusst werden:

GalaxyDistanceDecreaseParameter1: 0.25
GalaxyDistanceDecreaseParameter2: 5.0
GalaxyDistanceDecreaseParameter3: 2.5


Augenblicklich lassen sich Galaxien mit zwei, drei bzw. vier Spiralarmen generieren:

NumOfSpiralArms(2,3,4): 2


Die Orientierung der Galaxie im Raum wird durch die nachfolgenden Richtungsvektoren beschrieben:

SpiralGalaxyPlaneDirection1: 1.0, 0.0, 0.0
SpiralGalaxyPlaneDirection2: 0.0, 1.0, 0.0
3ArmedSpiralGalaxyBaseDirection: 0.0, 1.0, 0.0


Die nachfolgenden drei Parameter bestimmen das Aussehen einer Spiralgalaxie (enge Spirale, weitläufige Spirale, Vergrößerung der Spirale mit zunehmendem Abstand von Galaxiezentrum, etc.).

SpiralGalaxyDistanceExponent: 0.6

SpiralGalaxyTwistingFactorMin: 0.6
SpiralGalaxyTwistingFactorMax: 0.8


In ihrem Zentrum sind alle Galaxien mehr oder weniger stark verdickt (ausgebeult), während sie sich – sieht man einmal von Kugelgalaxien ab – zum Rand hin immer weiter abflachen. Der nachfolgende Parameter bestimmt den Radius dieser Ausbuchtung:

SpiralGalaxyBulgeRadius: 60.0


Der SpiralGalaxyFlatnessFactor bestimmt, ob eine flache oder eine kugelförmige Galaxie generiert wird:

SpiralGalaxyFlatnessFactor: 0.3