Generateur de système solaire - Talus - 21-05-2016
Hello a tous
ça vas faire déjà plusieurs semaine que je bosse sur un "bon" generateur de système solaire, et je commence a obtenir quelque chose de vraiment pas mal
c'est un generateur aléatoire, pondéré avec des valeur et des statistique obtenue sur plusieurs site traitant astronomie, il me manque pas mal de valeurs au niveau des étoiles, en faite on ne trouve quasi que des stats sur les étoile de la "main sequence" (comme le soleil), pour les autre etoile c'est un poil plus complexe.
en ce moment je me concentre sur la generation des planètes.
pour ce dernière je réalise mes stats et mes calcule grâce aux articles de ce site : http://phl.upr.edu/home
je suis en train de rajouter a mon generateur les composition d’atmosphère en fonction des constante de planète (mass, radius, orbit, temperature, ....), je calcule aussi des indice permettant de déterminer si la planète est habitable ou non
actuellement le generateur donne du JSON : https://api.global-chaos.fr/api/galaxy
par default time est utilisée comme seed, mais vous pouvez rajouter ?seed=XXXXX, pour générer votre univers en fonction d'un seed de votre choix, la seed doit être numérique
voici une petite page de Doc faite a l'arrache : https://api.global-chaos.fr/doc
si parmi vous il y en aurais qui aurait envie d'aider, je serais prêt a partager mes recherches, et mes stats afin de pouvoir les compléter
en tout cas hésiter pas a laisser vos avis sur ce petit generateur, et dite moi ce qui vous ferrez plaisir comme valeur supplémentaire au data que je genere
PS :
voila les futur amélioration que je compte faire :
- créer un système de positionnement relatif au centre de la galaxie, afin de généré les positon des étoiles,
- rajouter l'age des étoile et en tenir compte dans les calcule
- calculer les température min et max des planètes
- calculer la période de révolution des planètes
RE: Generateur de système solaire - Xenos - 21-05-2016
Oooh, comme dit sur Skype, cela va m'intéresse d'intégrer VariiSpace là dessus, histoire d'avoir des galaxies cohérentes et réalistes (Bon, ce n'est pas pour de suite, mais à terme, ouep, je suis intéressé!)
Tu ferais le partage comment ? Je veux bien essayer d'aider à cela
RE: Generateur de système solaire - seishin - 21-05-2016
Bonjour,
Intéressant
Juste une petite remarque : on parle d'étoile (star) et de système stellaire (star system).
Appeler système solaire tout système est typiquement humain
(cela m'étonne que Xenos n'ait pas fait la remarque )
Seishin
RE: Generateur de système solaire - Thêta Tau Tau - 21-05-2016
(21-05-2016, 04:08 PM)seishin a écrit : Juste une petite remarque : on parle d'étoile (star) et de système stellaire (star system).
Faux, on parle de système planétaire, un système stellaire est un système constitué de plusieurs étoiles proches qui tournent les unes autours des autres (système binaire, triple...).
RE: Generateur de système solaire - Talus - 21-05-2016
pour faire plaisir a tout le monde j'ai renommer "solar system" en "system"
pour aider ce serait de trouver des statistique sur la population des etoiles.
elle sont classifier avec une code (classification spectrale) par exemple G2V pour le soleil
on a pour la couleur et donc la température : OBAFGKM (il y en a d'autre mais sans trop d’intérêt pour le moment)
O ce sont les étoile les plus chaude et M des froide
ensuite un chiffre de 0 a 9 qui est sa classe de chaleur, dans l’échelle du type de l’étoile
puis de 0 a VII viens la classe de luminosité qui défini sa taille (V étant la "main séquence" ou se trouve le soleil)
dans mon algo je vais d'abord déterminer le type de taille de l’étoile de 0 a VII
or je n'ai pas réussi a trouver de stats sur les populations en fonction de leur taille
ensuite je détermine la classe OBAFGKM, mais la encore a part pour la "main sequence" pas de stats de trouver
et grâce a ça je détermine la température, le radius et la mass du soleil
par exemple pour la "main sequence" j'ai ceci :
Code PHP : <?php
"V" => array( //main sequence
"percent" => 0,
"class" => array(
"O" => array( //blue
"class" => "O",
"percent" => 0.38,
"temperature" => array("min" => 25000, "max" => 60000),
"mass" => array("min" => 16, "max" => 100),
"radius" => array("min" => 6.6,"max" => 10),
),
"B" => array( //blue white
"class" => "B",
"percent" => 0.5,
"temperature" => array("min" => 10000, "max" => 25000),
"mass" => array("min" => 2.1, "max" => 16),
"radius" => array("min" => 1.8, "max" => 6.6),
),
"A" => array( //white
"class" => "A",
"percent" => 0.97,
"temperature" => array("min" => 7500, "max" => 10000),
"mass" => array("min" => 1.4, "max" => 2.1),
"radius" => array("min" => 1.4, "max" => 1.8),
),
"F" => array( //yellow white
"class" => "F",
"percent" => 3,
"temperature" => array("min" => 6000, "max" => 7500),
"mass" => array("min" => 1.04, "max" => 1.40),
"radius" => array("min" => 1.15, "max" => 1.40),
),
"G" => array( //yellow
"class" => "G",
"percent" => 7.6,
"temperature" => array("min" => 5000, "max" => 6000),
"mass" => array("min" => 0.80, "max" => 1.04),
"radius" => array("min" => 0.96, "max" => 1.15),
),
"K" => array( //orange
"class" => "K",
"percent" => 12.1,
"temperature" => array("min" => 3500, "max" => 5000),
"mass" => array("min" => 0.45, "max" => 0.80),
"radius" => array("min" => 0.70, "max" => 0.96),
),
"M" => array( //red star
"class" => "M",
"percent" => 75.45,
"temperature" => array("min" => 2500, "max" => 3500),
"mass" => array("min" => 0.08, "max" => 0.45),
"radius" => array("min" => 0.40, "max" => 0.70),
),
),
),
donc globalement je cherche a compléter ces stats par la même mais pour les autres classe et "sous classe" donc si il y a des volontaire hésiter pas ^^
de même pour la répartition de la population au sein d'une galaxie en fonction de la taille, age, mass, .... afin de pouvoir position les system au sein de la galaxie
de mème une fois ça fait je rajouterai un paramètre d'URL pour avoir les système et leur coordonner au position de temps,
en gros sans param sera l’état initial de la galaxie et avec time=100 ce sera la position des système a T+100
RE: Generateur de système solaire - @lucard - 24-05-2016
Salut à tous, j'ai des fichiers comprenant
- une listes de 100 000 étoiles découvertes (coodonées + Magnitude + Type)
[{N:"85", C:[ 903.32012939453, -383.0517578125, 161.67404174805 ],M:819,T: "A2"},
...,
{N:"120404", C:[ -442.91323852539, -1776.1363525391, -82.783866882324 ],M:-288,"Type":"B9"}];
- une liste des 10 937 Galaxies proches (< 10^3 Mégaparsec ) sous ce format là :
Code : Galaxy "WLM:DDO 221"
{
Type "Irr"
RA 0.0328
Dec -15.4611
Distance 3.001e+06 # method: rgb
Radius 4208
AbsMag -13.95
Axis [ -0.2128 -0.8243 -0.5246]
Angle 177.0636
InfoURL "http://simbad.u-strasbg.fr/sim-id.pl?Ident=WLM"
}
- Une liste des Amas Globulaires
Code : Globular "NGC 288:Melotte 3:GCl 2:C 0050-268"
{
RA 0.8797 # [hours]
Dec -26.5900 # [degrees]
Distance 2.87e+04 # [ly]
Radius 54.27 # [ly], mu25 Isophote
CoreRadius 1.42 # [arcmin]
KingConcentration 0.96 # c = log10(r_t/r_c)
AbsMag -6.74 # [V mags]
Axis [ 0.7644 0.4432 0.4683]
Angle 148.9 # [degrees]
InfoURL "http://simbad.u-strasbg.fr/sim-id.pl?Ident=NGC 288"
}
- Une liste d'éxo-planète
Code : "b" "HD 75732" # Rho1 Cnc A
{
Texture "exo-class3.*"
Color [0.53 0.62 1]
Albedo 0.1
Mass 260 # M.sin(i) = 0.824 jupiters
Radius 84000
InfoURL "http://exoplanet.eu/star.php?st=55+Cnc"
EllipticalOrbit {
Period 0.0401
SemiMajorAxis 0.115
Eccentricity 0.0159
Inclination 107
AscendingNode 123.5
ArgOfPericenter 263
MeanAnomaly 90
}
Obliquity 107 # guess, to match inclination
EquatorAscendingNode 124 # guess, to match ascending node
# likely to be in captured synchronous rotation
}
AltSurface "limit of knowledge" "HD 75732/b"
{
Texture "extrasolar-lok.*"
}
- Une liste des étoiles proches (avec les orbites des systèmes binaires)
Code : Barycenter "Rigil Kentaurus:Toliman:ALF Cen:Gliese 559"
{
RA 219.899437 # mass ratio 1.12:0.93
Dec -60.835401 #
Distance 4.365
}
71683 # ALF Cen A
{
OrbitBarycenter "ALF Cen"
SpectralType "G2V"
AppMag 0.01
EllipticalOrbit {
Period 79.85
SemiMajorAxis 10.68 # mass ratio 1.12:0.93
Eccentricity 0.52
Inclination 82.22
AscendingNode 67.30
ArgOfPericenter 4.02
MeanAnomaly 200.13
}
}
71681 # ALF cen B
{
OrbitBarycenter "ALF Cen"
SpectralType "K0V"
AppMag 1.34
EllipticalOrbit {
Period 79.85
SemiMajorAxis 12.87 # mass ratio 1.12:0.93
Eccentricity 0.52
Inclination 82.22
AscendingNode 67.30
ArgOfPericenter 184.02
MeanAnomaly 200.13
}
}
- Une liste que d'étoiles binaires (avec commentaires anglais) (les étoiles sont déjà dans le fichier précédent)
- Une liste (~3000) de nom d'étoile
Code : 0:Sol
88:TAU Phe
122:TET Oct
145:29 Psc
154:30 Psc
171:85 Peg
183:ZET Scl
186:31 Psc
194:c Psc:32 Psc
301:2 Cet
330:9 Cas
355:3 Cet
439:Gliese 1:Cordoba 32416
443:33 Psc
476:86 Peg
531:10 Cas
664:5 Cet
677:Alpheratz:Sirrah:ALF And:21 And:DEL Peg
729:87 Peg
746:Caph:Cheph:BET Cas:11 Cas
761:KAP1 Scl
...
- une liste des objet céleste du Système Solaire (+ un fichier de mise à jour)
Code : "Mercury" "Sol"
{
Texture "mercury.*"
Radius 2440
CustomOrbit "vsop87-mercury"
# Overridden by CustomOrbit
# EllipticalOrbit {
# Period 0.2408
# SemiMajorAxis 0.3871
# Eccentricity 0.2056
# Inclination 7.0049
# AscendingNode 48.33167
# LongOfPericenter 77.456
# MeanLongitude 252.251
# }
BodyFrame { EquatorJ2000 {} }
CustomRotation "iau-mercury"
# Overridden by CustomRotation
# UniformRotation
# {
# Period 1407.509405
# Inclination 28.55
# AscendingNode 11.01
# MeridianAngle 329.548
# }
Albedo 0.06
}
- Une liste des lunes mineures du SS
Code : "Metis:Jupiter XVI:1979 J 3" "Sol/Jupiter"
{
Class "minormoon"
Texture "asteroid.jpg"
SemiAxes [ 30 20 20 ]
EllipticalOrbit
{
Period 0.294780
SemiMajorAxis 127979
Eccentricity 0.0012
Inclination 0.019
AscendingNode 263.953 #
ArgOfPericenter 274.588 # J2000.0
MeanAnomaly 7.649 #
}
RotationOffset 366
Albedo 0.061
}
- Une liste des aséroïdes (dont certain sont classé comme "planètes naines")
Code : "1 Ceres:Ceres:A899 OF" "Sol"
{
Class "dwarfplanet"
Texture "asteroid.jpg"
Color [ 1.000 0.945 0.881 ]
BlendTexture true
Radius 487.5 # 975x909km
Oblateness 0.068 # Thomas et al, Nature, 8 Sep 2005
EllipticalOrbit
{
Epoch 2452600.5 # 2002 Nov 22 00:00UT
Period 4.60014
SemiMajorAxis 2.7660
Eccentricity 0.0793
Inclination 10.584
AscendingNode 80.483
ArgOfPericenter 74.043
MeanAnomaly 232.067
}
UniformRotation
{
Period 9.074170 # Icarus 2007,188(2):451
Epoch 2449249.91125 # 1993 Sep 19 09:52:12UT
Inclination 11
AscendingNode 29
MeridianAngle 339.85
}
Albedo 0.113
}
- Une liste des planètes naines (hors système solaire, mais attaché au centre gravitationnel du Soleil.) et leur satélite
Code : "13672 Makemake:Makemake:2005 FY9" "Sol" {
Class "dwarfplanet"
Texture "asteroid.jpg"
Radius 850 # estimate
EllipticalOrbit {
Epoch 2453600.5 # 2005 Aug 18 00:00UT
Period 308.329
SemiMajorAxis 45.640
Eccentricity 0.1519
Inclination 28.998
AscendingNode 79.416
ArgOfPericenter 245.848
MeanAnomaly 213.919
}
UniformRotation
{
Period 48.0 # guess
}
}
- Une liste des anneaux des planètes du SS.
Code : Location "Lambda Ring" "Sol/Uranus"
{
LongLat [ 180 0 24465 ]
Importance 2000
Type "XX"
}
Location "Epsilon Ring" "Sol/Uranus"
{
LongLat [ 180 0 25590 ]
Importance 2000
Type "XX"
}
- Une liste de groupe d'étoiles (rassemblées par constellation)
Code : "Centaurus"
[
[ "Iota Cen" "D Cen" "Nu Cen" ]
[ "Theta Cen" "Nu Cen" ]
[ "Kappa Cen" "Eta Cen" "Nu Cen" "Mu Cen" "Zeta Cen" "Epsilon Cen" "Gamma Cen" "Sigma Cen" "Delta Cen" "Rho Cen" "Pi Cen" "Lambda Cen" ]
[ "Beta Cen" "Epsilon Cen" "Alpha Cen" ]
]
- liste des 4 principales comètes
Code : "Halley:1P Halley" "Sol"
{
Class "comet"
Mesh "halley.cmod"
Texture "asteroid.jpg"
Radius 7.6 # maximum semi-axis
MeshCenter [ -0.338 1.303 0.230 ]
EllipticalOrbit
{
Epoch 2449400.5 #1994 Feb 17 00:00UT
Period 75.31589
SemiMajorAxis 17.834144
Eccentricity 0.967143
Inclination 162.262690
AscendingNode 58.420081
ArgOfPericenter 111.332485
MeanAnomaly 38.384264
}
# chaotic rotation, imperfectly defined:
# this version from "The New Solar System", 4th Edition; Eds.
# JK Beatty, CC Petersen, A Chaikin
PrecessingRotation
{
Period 170 # 7.1 day axial rotation period
Inclination 66
PrecessionPeriod 0.010 # 3.7 day precession period
}
Albedo 0.04
}
RE: Generateur de système solaire - Talus - 24-05-2016
wouah la vache, ça en fait des données !!!!
serais tu un fana d'astronomie ?
effectivement ça peut être vachement intéressant si n veux pousser le vice au plus loins, en générant les comètes, les astéroïde et tout autre géré de corps céleste
je pense que dans un premier temps je vais analyser le Json des étoiles pour obtenir les stats manquante de populations
dans la finalitee je voudrait pouvoir généré a peu prés tout type de corps céleste, pour créer une véritable api de génération ultime
mais la j'ai un petit soucis, j’arrive plus a me connecter a mon serveur ><
RE: Generateur de système solaire - @lucard - 25-05-2016
Je voulais faire une application mobile sous Unity pour "voir" l'univers en 3D... (Genre de Celestia pour Mobile)
Malheureusement il y a trop de données, et je n'ai pas suffisamment de compétences et de temps (pour accroitre mes compétences), dans la gestion des scripts d'Unity.
L'idée est simple mais l'application (le fait d'appliquer) des données est ... bloquant. x)
RE: Generateur de système solaire - Talus - 25-05-2016
effectivement ça prend pas mal de temps pour comprendre toute ces données et comment les utiliser
pour ma part ce sera avec UE4 que je vais utiliser la sortie du générateur, puis je pense qu'en faire une API ça sera utile a plein de monde
RE: Generateur de système solaire - Talus - 27-05-2016
petite mise a jour :
1 - mini page de docs effectuer : https://api.global-chaos.fr/doc
2 - le endpoint /galaxy est fini jusqu'a retour d'utilisateur
3 - passage de l'api en HTTPS, et HTTP 2, en gros fast & secure
l'api est sur un serveur dédier de bourrin donc déjà de base c'est du fast, mas si on peut faire mieux alors on fait mieux
Prochainement :
1 - endpoint /sun pour gen un soleil seul
2 - endpoint /planet pour gen une planet seul
que voulez qui soit rajouter ?
|