Page 1 of 1

How do I get Belle Hades to properly precess?

Posted: 15.10.2010, 01:22
by PlutonianEmpire
Recently, I've overhauled my Belle Hades planet, and I've been trying to implement precession.

However, I can't get it to precess properly, where the poles of the planet would rotate around the polar axis of the planet's orbit.

I've tried using reference frames, such as TwoVector, and other techniques, but none of them work.

Here's the full, unmodified code for the planet, before my attempts to implement precession:

Code: Select all

"Belle Hades" "DEL Tri" {
    Texture "bellehades21b.png"
    NightTexture "bellehades21-night.png"
    BumpMap "bellehades21b-bump.png"
    BumpHeight 0.5
    Color [ 0.85 0.85 1.00 ]
    HazeColor [ 0.40 0.60 1.00 ]
    HazeDensity 0.750
    Radius 5672.6753
    Mass 0.71

SpecularTexture "bellehades21-spec.png"
    SpecularColor [ 0.80 0.80 0.85 ]
    SpecularPower 25

    Atmosphere {
        Height 67
        Lower [ 0.40 0.60 1.00 ]
        Upper [ 0.00 0.00 0.50 ]
        Sky   [ 0.20 0.40 1.00 ]
        CloudHeight 7
        CloudSpeed 45.000
        CloudMap "bellehades-clouds.png"

        Mie 0.0012
        MieAsymmetry -0.26
        Rayleigh [ 0.001 0.0025 0.006 ]
        MieScaleHeight 13.5
    }

    EllipticalOrbit {
        Period            0.90862422997946611909650924024641
        SemiMajorAxis     1.1395600028081014
        Eccentricity      0.0127
        Inclination       57.2232
        AscendingNode     123.5636
        ArgOfPericenter   26.8286
        MeanAnomaly       286.4439
    }

    RotationPeriod          26.0431
    EquatorAscendingNode   123.0612
    Obliquity               76.6284
    #Obliquity 58.8232
   
    Albedo           0.32
}


And here's the TwoVector reference frame I tried:

Code: Select all

    BodyFrame {
        TwoVector {
            Center "DEL Tri/Belle Hades"
            Primary {
                Axis "y"
                RelativePosition { Target "DEL Tri" }
            }
            Secondary {
                Axis "-x"
                RelativeVelocity { Target "DEL Tri" }
            }
        }
    }


And the precession model:

Code: Select all

   PrecessingRotation {
      Period 26.0431
      PrecessionPeriod 21000
      Inclination 19.4052
      AscendingNode 123.0612
      MeridianAngle 328.2107
      Epoch "2012 12 21 17:00:00"
   }


The problem with this setup should be obvious once displayed in Celestia. There's a few other reference frames I tried, but none of them worked. I'm using Celestia 1.6.0 .

Re: How do I get Belle Hades to properly precess?

Posted: 15.10.2010, 02:30
by selden
You're going to have to say what it is that you're actually trying to accomplish.

If you want the planet to experience the standard form of precession (its rotational axis itself slowly rotating around a perpendicular to the ecliptic), you don't need a TwoVector declaration. Just replace the old-fashioned rotational element declarations by the PrecessingRotation block of code.

Re: How do I get Belle Hades to properly precess?

Posted: 15.10.2010, 03:03
by PlutonianEmpire
I'm trying to get the rotational axis of Belle Hades to rotate around a perpendicular to its own ecliptic, not the Earth's ecliptic.

Re: How do I get Belle Hades to properly precess?

Posted: 16.10.2010, 14:23
by selden
I've managed to construct an SSC file which causes the axis of rotation of an object to itself rotate around the local ecliptic coordinate system's "north-south" axis; i.e. to precess.

My procedure was to define a reference object which has the desired orbital inclination relative to the Earth's ecliptic and which has its rotational axis perpendicular to that orbit. This reference object rotates with a period with is the same as the desired period of precession. The visible object then is defined relative to that reference object. The visible object is declared with the desired rotational parameters. The rotating reference object carries the visible object's axis around, causing it to experience an appropriate precession of equinoxes.

The result is somewhat awkward to view, but I think it's about the best that can be done until something like a "LocalEcliptic" feature is added to Celestia.

Don't forget to change the obliquity of the Star, too, so that it roughly agrees with the planetary orbital plane. (The Sun's rotational axis is off by about 7 degrees, so an exact match isn't necessary for plausibility.)

Code: Select all


# the reference object
# when in use, set its name to be the desired planet name
"ObliqueReference" "ObliqueStar"
{
   Radius 6600

# my model has axial protrusions to aid in testing
# specifying an undefined model will cause the reference object to be invisible
#but without some of the issues associated with using
# Class "invisible"
   Mesh "sphere-axis.cmod"

   Color [ 0 1 1 ]

# define the orbit of the planet
    EllipticalOrbit {
        Period            0.90862422997946611909650924024641
        SemiMajorAxis     1.1395600028081014
        Eccentricity      0.0127
        Inclination       57.2232
        AscendingNode     123.5636
        ArgOfPericenter   26.8286
        MeanAnomaly       286.4439
    }

# define the precession
    UniformRotation {
# This Period is the precession measured in hours *not*years*
# This example value is small so it can be easily watched
    Period 12000   
   Inclination 57.2232
   AscendingNode 123.5636
   }
}

# define the planet that will be visible
# its name probably should not be the desired planet name
# perhaps <planet name>-Surface or something similar
"ORSurface" "ObliqueStar/ObliqueReference"
{
   Radius 6000
#   Mesh "sphere-axis.cmod"
   Texture "Earth.*"

# place it relative to the reference object
   OrbitFrame { BodyFixed { Center "ObliqueStar/ObliqueReference" }}
   FixedPosition [ 0 0 0 ]

# rotate it relative to the reference object
   BodyFrame  { BodyFixed { Center "ObliqueStar/ObliqueReference" }}
   UniformRotation {
      Period 24
      Inclination  23
      AscendingNode 123.5636
   }

}

Re: How do I get Belle Hades to properly precess?

Posted: 16.10.2010, 19:10
by PlutonianEmpire
Thank you! :)

Re: How do I get Belle Hades to properly precess?

Posted: 16.10.2010, 21:28
by selden
You're very welcome.

I've also submitted a SourceForge tracker request for a LocalEcliptic feature.