Positioning satellites

General discussion about Celestia that doesn't fit into other forums.
Topic author
rthorvald
Posts: 1223
Joined: 20.10.2003
With us: 21 years 1 month
Location: Norway

Positioning satellites

Post #1by rthorvald » 23.09.2004, 16:50

Ok, i?m trying to place a satellite on a fixed position above a planet.
Since i?m still on 1.3.1, i am using Grant?s invisible placeholder trick. But i have run into problems:

The planet?s rotationperiod : 9.83 hours
gives the satellite?s placeholder (the invisible) a period of: 0.4095833 days.
... This makes it stand still, as long as the orbit is equatorial.
However, i need to give the invisible an inclination of 60 degrees to get it to the point where the satellite must go. But with an inclination, it does not stand still relative to the surface anymore...

So, what am i missing here? Why does it move? And what value do i insert / change to compensate for the movement caused by the inclination value?

Any help is greatly appreciated, and the result will help realize a novel (never before seen) Add-On-concept to be included in the coming Ran Update...

- rthorvald

cpotting
Posts: 164
Joined: 18.03.2004
Age: 63
With us: 20 years 8 months
Location: Victoria, BC Canada

Re: Positioning satellites

Post #2by cpotting » 23.09.2004, 19:14

rthorvald wrote:Ok, i?m trying to place a satellite on a fixed position above a planet.
...
rthorvald wrote:However, i need to give the invisible an inclination of 60 degrees to get it to the point where the satellite must go. But with an inclination, it does not stand still relative to the surface anymore

Okay, this may be a bit off topic, but, without spoiling your surprise, can you tell me how a satellite can be geosynchronous but not be in an equatorial orbit?

rthorvald wrote:Ok, i?m trying to place a satellite on a fixed position above a planet.
Since i?m still on 1.3.1, i am using Grant?s invisible placeholder trick. But i have run into problems:


Oh, and perhaps this could help you. (Without really knowing how to do it myself) would it meet your needs to position the placeholder centred on the planet's pole of rototation, but centred above or below the equator at the desired latitude. The satellite could then orbit the placeholder in an equatorial orbit which would keep it above the same point on the planet. I am just not sure how you would get the placeholder to sit at the required location - can you make a geosynchronous orbit that is on the rotational axis?
Clive Pottinger
Victoria, BC Canada

granthutchison
Developer
Posts: 1863
Joined: 21.11.2002
With us: 22 years

Post #3by granthutchison » 23.09.2004, 20:10

I'm not sure how you're using my placeholder, here ... the position of the satellite should be adjusted by moving the placeholder north or south along the planet's axis and recalculating the required orbital radius of the satellite (not by tilting the placeholder orbit).
As a concrete example, here's an annotated way of placing Galileo permanently 700km above 60N, 30W on the Earth:

Code: Select all

# To place a "satellite" 700km above a planet at 60N 30W

# Desired radius = radius of planet + desired altitude
# in this case, 7078 (Earth radius +700 km)

"#" "Sol/Earth"         # A dummy body to provide a suitable orbit centre
{
    Class "invisible"

    EllipticalOrbit {
        Period        1e12          #                                - NEVER CHANGE THIS VALUE
        SemiMajorAxis   6129.7      # Desired radius * sin(Latitude) - CALCULATE FOR YOUR PLANET
        AscendingNode    280.5      # Earth's RotationOffset         - USE VALUE FOR YOUR PLANET
        Inclination      90         #                                - NEVER CHANGE THIS VALUE
        MeanAnomaly      90         #                                - NEVER CHANGE THIS VALUE
    }
}
   


"My satellite" "Sol/Earth/#"
{
    Class "spacecraft"
    Mesh "galileo.3ds"
    Radius 0.020

    EllipticalOrbit {
        Period             0.997269558  # Earth's rotation period (days)   - USE VALUE FOR YOUR PLANET
        SemiMajorAxis   3539            # Desired radius * cos(Latitude)   - CALCULATE FOR YOUR PLANET

                                        # Earth's RotationOffset =  +280.5 - USE VALUE FOR YOUR PLANET
        MeanLongitude    250.5          # Subtract west longitude = - 30   - USE YOUR DESIRED LONGITUDE
                                        #                           ======
                                        #                            250.5 
    }
 }
Most imaginary planets don't need a RotationOffset, so if this is undefined just set it to zero in the calculations above.

Does this help you see what's going on?

Grant

Topic author
rthorvald
Posts: 1223
Joined: 20.10.2003
With us: 21 years 1 month
Location: Norway

Re: Positioning satellites

Post #4by rthorvald » 23.09.2004, 21:32

cpotting wrote:without spoiling your surprise, can you tell me how a satellite can be geosynchronous but not be in an equatorial orbit?

Yes... When it?s not really a satellite ;-)

thanks,
-rthorvald

Topic author
rthorvald
Posts: 1223
Joined: 20.10.2003
With us: 21 years 1 month
Location: Norway

Post #5by rthorvald » 23.09.2004, 21:36

granthutchison wrote:the position of the satellite should be adjusted by moving the placeholder north or south along the planet's axis and recalculating the required orbital radius of the satellite (not by tilting the placeholder orbit)


Thank you!
I misunderstood/misremembered how that worked... Your example cleared my head.

Thanks for your quick reply, too!

- rthorvald

cpotting
Posts: 164
Joined: 18.03.2004
Age: 63
With us: 20 years 8 months
Location: Victoria, BC Canada

Post #6by cpotting » 24.09.2004, 14:50

granthutchison wrote:As a concrete example, here's an annotated way of placing Galileo permanently 700km above 60N, 30W on the Earth


Yeah! What he said!

Thanks Grant. I knew what to do, just not how to do it. Now I'm going to be fiddling until 2 AM again.
Clive Pottinger
Victoria, BC Canada

granthutchison
Developer
Posts: 1863
Joined: 21.11.2002
With us: 22 years

Post #7by granthutchison » 24.09.2004, 16:27

Of course if you have 1.3.2 you don't need to bother with all the placeholder nonsense:

Code: Select all

"My satellite" "Sol/Earth"
{
    Class "spacecraft"
    Mesh "galileo.3ds"
    Radius 0.020
    LongLat [-30 60 700]
 }

Grant


Return to “Celestia Users”