round digits, works in Celestia

main 0.2
Jeff Moe 2022-05-21 21:38:00 -06:00
parent 32c2d27991
commit 475c42b2ea
2 changed files with 37 additions and 31 deletions

View File

@ -1,22 +1,20 @@
"2011-060A" "Sol/Earth" {
Class "spacecraft"
# Fails to render
# Mesh "galileo-gnss.3ds"
Radius 0.005
"GSAT0101-37846" "Sol/Earth" {
Class "spacecraft"
# Mesh "foo.3ds" XXX
radius 0.005
EllipticalOrbit {
Epoch 2459719.59549104
Period 0.58659651
SemiMajorAxis 29600.181
Eccentricity 0.0004117
Inclination 56.9858
AscendingNode 22.1062
ArgOfPericenter 28.0726
MeanAnomaly 331.9949
Epoch 2459721.65010546
Period 0.58659651
SemiMajorAxis 29600.181
Eccentricity 0.00041170
Inclination 56.9858
AscendingNode 22.1062
ArgOfPericenter 28.0726
MeanAnomaly 331.9949
}
Obliquity 56.9858
EquatorAscendingNode 22.1062
RotationOffset 312.7348
Obliquity 56.9858
EquatorAscendingNode 22.1062
RotationOffset 312.7348
# Orientation [ ]
}

36
tle2ssc
View File

@ -29,11 +29,17 @@ t = ts.now()
# 2022-05-20 02:17:30
#t = ts.utc(2022, 5, 20, 2, 17, 30)
# Get one satellite
by_number = {sat.model.satnum: sat for sat in satellites}
satellite = by_number[satellite_number]
# Static radius
satellite_radius=0.005
satellite_epoch=satellite.model.jdsatepoch
# Epoch
#satellite_epoch=satellite.model.jdsatepoch
satellite_epoch=t.tdb
# The unique satellite NORAD catalog number given in the TLE file.
# Use one defined above.
#satellite_number=satellite.model.satnum
@ -64,6 +70,7 @@ satellite_bstar=satellite.model.bstar
# Ephemeris type (ignored by SGP4 as determination now automatic)
satellite_ephtype=satellite.model.ephtype
# Element number
satellite_elnum=satellite.model.elnum
@ -75,6 +82,8 @@ satellite_obliquity=math.degrees(satellite.model.inclo)
# Right ascension of ascending node in radians. Convert to degrees.
satellite_ascending_node=math.degrees(satellite.model.nodeo)
# Equator Ascending Node, in degrees
satellite_equator_ascending_node=math.degrees(satellite.model.nodeo)
# Eccentricity.
@ -87,7 +96,6 @@ satellite_arg_of_pericenter=math.degrees(satellite.model.argpo)
satellite_mean_anomaly=math.degrees(satellite.model.mo)
# Mean motion in radians per minute.
satellite_no_kozai=satellite.model.no_kozai
satellite_period=(1 / (satellite.model.no_kozai * xpdotp))
# Revolution number at epoch [Revs]
@ -105,21 +113,21 @@ satellite_rotation_offset=((satellite_arg_of_pericenter)+(satellite_mean_anomaly
print('"', satellite_name, '-', satellite_number, '" ','"Sol/Earth" {',sep="")
print(' Class "spacecraft"')
print(' # Mesh "foo.3ds" XXX')
print(' radius', satellite_radius)
print(' radius', "%.3f" %satellite_radius)
print()
print(' EllipticalOrbit {')
print(' Epoch', satellite_epoch)
print(' Period', satellite_period)
print(' SemiMajorAxis', satellite_semimajor_axis)
print(' Eccentricity', satellite_eccentricity)
print(' Inclination', satellite_inclination)
print(' AscendingNode', satellite_ascending_node)
print(' ArgOfPericenter', satellite_arg_of_pericenter)
print(' MeanAnomaly', satellite_mean_anomaly)
print(' Epoch', "%.8f" %satellite_epoch)
print(' Period', "%.8f" %satellite_period)
print(' SemiMajorAxis', "%.3f" %satellite_semimajor_axis)
print(' Eccentricity', "%.8f" %satellite_eccentricity)
print(' Inclination', "%.4f" %satellite_inclination)
print(' AscendingNode', "%.4f" %satellite_ascending_node)
print(' ArgOfPericenter', "%.4f" %satellite_arg_of_pericenter)
print(' MeanAnomaly', "%.4f" %satellite_mean_anomaly)
print(' }')
print(' Obliquity', satellite_obliquity)
print(' EquatorAscendingNode', satellite_equator_ascending_node)
print(' RotationOffset', satellite_rotation_offset)
print(' Obliquity', "%.4f" %satellite_obliquity)
print(' EquatorAscendingNode', "%.4f" %satellite_equator_ascending_node)
print(' RotationOffset', "%.4f" %satellite_rotation_offset)
print(' # Orientation [ ]')
print('}')