Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Need an algorithm for satellite passing through non-penumbral earth shadow

  1. Dec 8, 2008 #1
    I have a simulation with a satellite that orbits earth in 3d.

    Earth's shadow, for simplification purposes (the satellite is pretty close to earth) is either on or off. There's no light diffraction here. It can be represented as a cylinder with radius ~6378km, and an axis which aligns with the sun's relative position to earth.

    This shadow changes position, as I calculated, by 1 degree approximately every 87660 seconds (slightly more than 1 day). I need a function that takes the satellite's position with respect to an earth-centered inertial coordinate system, and time (t=0 has earth's shadow being perfectly horizontal with vector i), and outputs a 1 or a 0, depending on whether this satellite is in the shadow or not.

    Both the satellite's position vector and the vector representing the axis of earth's shadow change with respect to time.

    I have the beginnings of a solution here, but it's really short.


    if dot(satellite position vector, cylindrical shadow axis vector) > certain value
    output value = 1
    output value = 0

    if any are curious, I am programming this in Simulink. I have a clock and the satellite R vector as inputs. I'm doing it for a thermal simulation.
  2. jcsd
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Can you offer guidance or do you also need help?
Draft saved Draft deleted