Page 1 of 1
Planet orbit not shown if planet has spice orbit
Posted: 24.10.2009, 11:40
by CAP-Team
I'm upgrading my Celestia installation from 1.51 (and in-between-builds) to the official 1.60 build.
I have a problemn dat Celestia refuses to show a planet's orbit if it has a spice orbit.
I've just started with Mercury, the ssc is as follows:
Code: Select all
ReferencePoint "Mercury_bary" "Sol"
{
Beginning "1599 12 09 00:00"
Ending "2201 02 20 00:00"
OrbitFrame { EclipticJ2000 { Center "SSB"}}
SpiceOrbit {
Kernel "mercury.bsp"
Target "1"
Origin "0"
BoundingRadius 1e10
Period 0.2408467
}
}
# -------------------------------------------------
"Mercury" "Sol"
{
Class "planet"
Texture "mercury.*"
Color [ 0.47 0.47 0.49 ]
Radius 2440
Albedo 0.106
Beginning "1599 12 09 00:00"
Ending "2201 02 20 00:00"
OrbitFrame { EclipticJ2000 { Center "Sol/Mercury_bary" }}
SpiceOrbit {
Kernel "mercury.bsp"
Target "199"
Origin "1"
Period 0.2408467
BoundingRadius 1e10
}
BodyFrame { EquatorJ2000 { Center "Sol" }}
CustomRotation "iau-mercury"
}
Am I overlooking something?
Re: Planet orbit not shown if planet has spice orbit
Posted: 25.10.2009, 18:36
by CAP-Team
Anyone?
Re: Planet orbit not shown if planet has spice orbit
Posted: 25.10.2009, 20:30
by John Van Vliet
--- edit ---
Re: Planet orbit not shown if planet has spice orbit
Posted: 27.10.2009, 20:11
by chris
CAP-Team wrote:Anyone?
The problem might be with the BoundingRadius of 1e10 kilometers. BoundingRadius is a hint that tells Celestia roughly how big an orbit is. Celestia uses this information to speed up drawing: if the a sphere containing an object's orbit is completely out of view, Celestia knows that the object is out of view without having to compute it's position. The bounding sphere radius is also used when drawing an orbit, when Celestia needs a rough estimate of the size of the orbit.
The bounding sphere radius must be at least large enough to contain the orbit. If it's too small, the object might not be drawn at some points when it should in fact be visible. A little larger doesn't hurt too much, though it makes Celestia slightly less efficient. Too large, though, and you may see problems with orbit rendering. 1e10 kilometers is an enormous overestimate of Mercury's orbit. Try 1e8 instead--still too large, but the right order of magnitude.
Celestia automatically computes bounding spheres for other orbit types. But, for SPICE orbits and ScriptedOrbits, it isn't possible to reliably compute the bounding radius without computing positions at every time at which the orbit is valid (you don't want to wait that long...

). For planets and moons, you can get a reasonable bounding radius by taking the semimajor axis of the mean orbital elements and increasing it by 10%.
--Chris
Re: Planet orbit not shown if planet has spice orbit
Posted: 28.10.2009, 14:28
by CAP-Team
I tried decreasing the BoundingRadius for Mercury to 1e8, but with no success.
Funny thing is, that moon orbits (also with spice kernels) are drawn correctly.
Re: Planet orbit not shown if planet has spice orbit
Posted: 01.11.2009, 23:09
by CAP-Team
Chris, do you or Volcanopele use spice kernels for planets? I tried several pre-1.6.0 builds and even the newer post-1.6.0 builds but no orbits for planets, even when correcting the bounding radius values.
So is it an error in my .scc file or is it a bug in Celestia?
Re: Planet orbit not shown if planet has spice orbit
Posted: 02.11.2009, 01:03
by John Van Vliet
--- edit ---
Re: Planet orbit not shown if planet has spice orbit
Posted: 10.11.2009, 21:12
by CAP-Team
John, any luck with testing?
Re: Planet orbit not shown if planet has spice orbit
Posted: 10.11.2009, 21:31
by John Van Vliet
--- edit ---
Re: Planet orbit not shown if planet has spice orbit
Posted: 15.11.2009, 20:00
by John Van Vliet
--- edit ---
Re: Planet orbit not shown if planet has spice orbit
Posted: 17.11.2009, 19:42
by CAP-Team
That's great. I put the planet textures in the default location and that works fine.
Could you post a .scc for a planet in your configuration?
Re: Planet orbit not shown if planet has spice orbit
Posted: 17.11.2009, 22:56
by John Van Vliet
--- edit ---
Re: Planet orbit not shown if planet has spice orbit
Posted: 20.11.2009, 22:32
by CAP-Team
I tried a CLEAN official 1.6.0 release with the SolarSystemSPICE addon, with just Saturn for testing.
All planets show orbits, except Saturn.
Strange.. or a bug after all?
Re: Planet orbit not shown if planet has spice orbit
Posted: 21.11.2009, 02:01
by John Van Vliet
--- edit ---
Re: Planet orbit not shown if planet has spice orbit
Posted: 21.11.2009, 09:11
by CAP-Team
Maybe it's a Windows-only bug ?

Re: Planet orbit not shown if planet has spice orbit
Posted: 16.01.2010, 16:47
by CAP-Team
Sorry for kicking this old thread of mine, but I was cleaning my installations (I had several for testing purposes

).
I really think it's strange that planet orbits are not drawn when using spice kernels.
My whole solar system is based on spice kernels.
Today I found out that the orbit of dwarf planet Ceres
is drawn when using spice kernels. The only difference between this .ssc and the .ssc of a planet is that Ceres doesn't use a reference point.
Venus:
Code: Select all
ReferencePoint "Venus_bary" "Sol"
{
Beginning "1599 12 09 00:00"
Ending "2201 02 20 00:00"
OrbitFrame { EclipticJ2000 { Center "SSB"}}
SpiceOrbit {
Kernel "venus.bsp"
Target "2"
Origin "0"
BoundingRadius 1.2e8
Period 0.61519726
}
}
# -------------------------------------------------
"Venus" "Sol"
{
Class "planet"
Texture "venus.*"
NormalMap "venus-normal.*"
Radius 6051.893
Albedo 0.77
Atmosphere {
Height 60
Lower [ 0.8 0.8 0.5 ]
Upper [ 0.6 0.6 0.6 ]
Sky [ 0.8 0.8 0.5 ]
HazeColor [ 0.5 0.35 0.2 ]
HazeDensity 0.35
CloudMap "venus-clouds.jpg"
CloudHeight 50
CloudSpeed 90
}
Beginning "1599 12 09 00:00"
Ending "2201 02 20 00:00"
OrbitFrame { EclipticJ2000 { Center "Sol/Venus_bary"}}
SpiceOrbit {
Kernel "venus.bsp"
Target "299"
Origin "2"
BoundingRadius 1.2e8
Period 0.61519726
}
BodyFrame { EquatorJ2000 { Center "Sol" } }
CustomRotation "iau-venus"
}
Ceres:
Code: Select all
"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
Albedo 0.113
Beginning "1900 01 01 00:00:00:000"
Ending "2100 01 01 00:00:00:000"
OrbitFrame { EclipticJ2000 { Center "Sol" }}
SpiceOrbit {
Kernel "ceres_1900_2100.bsp"
Target "2000001"
Origin "0"
Period 4.6042995727713
BoundingRadius 1e10
}
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
}
}
I suspect that this reference point is preventing the orbit being drawn. Is the way I use Venus' .ssc the correct way? I actually suspect that Venus' orbit is drawn, but it is drawn around the barycenter, which lies inside Venus.
Plutos orbit around its barycenter is drawn when I toggle dwarfplanet orbits.
Re: Planet orbit not shown if planet has spice orbit
Posted: 16.01.2010, 20:21
by John Van Vliet
--- edit ---
Re: Planet orbit not shown if planet has spice orbit
Posted: 16.01.2010, 21:19
by CAP-Team
I used one of the spice tools to extract venus' data into a separate kernel.
I may have merged it together with some other kernels to extend the time the kernel spans.
I did this about two years ago, so I don't remember the exact details, but I'm sure de421 (or some previous version) was the basis for it.
I did the same with all the other planets.
Re: Planet orbit not shown if planet has spice orbit
Posted: 20.01.2010, 07:36
by CAP-Team
Well I finally fixed this. Sort of.
By adding two lines to the reference point of the .ssc orbits are now shown:
[code]
Visible true
Clickable false
[code]
Orbits only have the name of the bary center, not the name of the planet.