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

Where does the sun rise, w/ axial tilt?

  1. Feb 2, 2009 #1
    Obviously we all know the sun generally rises in the east and sets in the west. But due to axial tilt, it is only really due east and due west at the equinoxes. At other times of the year, the sunrise will be somewhat north of east or south of east (and likewise for the sunset, but let's focus on the sunrise). At each solstice, the sunrise reaches either the furthest north or furthest south and then starts heading back towards east.

    I initially thought it would be trivial to determine this behaviour for any latitude. For any point on the equator, it was indeed quite simple. However, for points off the equator, the problem became quite difficult. I couldn't see any intuitive answer so I began a rigorous calculation of the geometry involved. It's quite messy, but it is a straight forward solution of simultaneous equations, followed by some rotations of the coordinate system. A computer would be required to actually calculate some values.

    I don't think there is an easier way to do it, but I'd love to know what you all think. I believe the problem is that moving off the equator makes the problem one of 3-d geometry, whereas on the equator, it is just planar geometry.

    For anyone who is interested, here is my method:
    - Define a right-handed cartesian coordinate system centered on the center of the Earth, pointing to 0 lat 0 long, 0 lat 90E long, and the north pole.
    - Determine the north vector for a given latitude and longitude. If the point we are considering is P and the north pole is N, the north vector is the normalised projection of the vector PN onto the tangent plane at P. This part is the messy bit. There are 3 equations, two of which are linear, and one of which is quadratic. Afterwards there is a plus-or-minus involved which gives the north and south vectors, but it is trivial to differentiate between the two.
    - Next we use the standard matrices to tilt the Earth, and rotate it so that P lies on the terminator line.
    - Now we project the P-sun vector onto the tangent plane and take a dot product with the north and east vectors, and we have our answer (more or less).

    I haven't implemented the rotational part yet, but that's all pretty standard, the sort of stuff you do in 3-D graphics programming. I plan on attempting it soon, but I'm rusty on my 3-D rotations so it will probably be a pain in the ***.
  2. jcsd
  3. Feb 3, 2009 #2
    I really don’t know what you are trying to do, but I will add some things.

    First: On today’s date the sun doesn’t rise above approx 70 degrees north latitude and doesn’t set below approx 70 degrees south latitude. This is due to the tilt of the earth.
    Second: Because the earth is a sphere, actually an oblate spheroid, which means that’s its polar diameter is slightly less than its equatorial diameter; you cannot use Cartesian coordinate system except for very short distances. The Haversine formula is accurate enough for most situations.

    As for using the center of the earth I don’t know if that will work. The way sailors navigated, and sometime still do, was/is to use the heavenly bodies (sun, stars moon) and a sextant etc plus an almanac. The path of the bodies are not constant therefore the almanac is published each year or you can use a computer program that determines it. Also you have to include time. Accurate time is also required to use the tables.
  4. Feb 3, 2009 #3
    Thanks for your input.

    To clarify: assuming the Earth is just a sphere, and ignoring refraction of sunlight through the atmosphere, and supposing we could see all the way to the horizon, in which direction do we first see the sun?

    I believe we CAN use Cartesian coordinates. We are in three dimensions and I have defined the coordinate system uniquely. What is the problem?

    My problem is simply geometry. I mainly want to know if there is an easier way of doing this. I am confident that my method will yield the correct answer, it's just tedious and messy.
  5. Feb 3, 2009 #4


    User Avatar
    Homework Helper

    If you assume the sun is an infinite distance from earth, then the direction of a 3d vector pointing to the sun is same regardless of the position of the vector. This should help simplify things. Then for a given latitude and axis tilt (direction), you'd have to rotate a point on the sphere until the plane tangential to the surface of the earth at that point is parallel to the 3d vector pointing towards the sun.

    Another method might be to just create a vector from the center of the earth to a point, at a given latitude then rotate that point until the radial vector and the sun vector are perpendicular.
    Last edited: Feb 3, 2009
  6. Feb 3, 2009 #5


    User Avatar
    Homework Helper

    I think you're doing this in a good way.
  7. Feb 3, 2009 #6
    In the first paragraph, do you mean "the plane tangential to the surface at that point"?

    I think I understand what you mean about assuming an infinite separation, but I don't think that would help me avoid the messy part of my method. The messy part arises when calculating the north vector for a given point on the Earth, and knowing this north vector seems to be the only way of knowing the position of the sun in the sky.

    What you describe in your second paragraph is what I do in the latter stages of my method, rotating the Earth so that the point under consideration is on the terminator line (ie at sunrise).

    turin: thanks :) I guess the proper way can just be messy sometimes huh
  8. Feb 3, 2009 #7


    User Avatar
    Homework Helper

    Yes, I stated it incorrectly, and since fixed my post.

    The alternative ends up being a very long thin right triangle problem, the base being the line from center of earth to the surface point, the hypotenuse being the line from center of earth to center of sun, and the other side being a line from the point at the surface to the sun perpendicular to the base (the line from center of earth to the surface point).
    Last edited: Feb 3, 2009
  9. Feb 4, 2009 #8


    User Avatar
    Homework Helper

    I think that the error would be quite small if, as you suggest, just assume parallel rays. But, I wonder what exactly the maximum error would be.
  10. Feb 4, 2009 #9
    I took a picture of my celestial globe (see attachment).
    Throughout the year, the sun moves along the ecliptic.
    The angle between the celestial equator and the horizon is given by your latitude.
    The sun rises as the globe rotates around the axis that goes through earth'poles, parallel to the celestial equator.

    Here is what I would have done :

    Use the longitude of the sun on the ecliptic as main variable.
    Write the relationship between the declination of the sun in the equatorial coordinate system, the ecliptic longitude of the sun, and the ecliptic tilt.
    Write the relationship between the searched angle x, your latitude, and the equatorial declination of the sun. This step is very similar to the previous one, except that the ecliptic tilt is replaced by a function of your latitude, and the ecliptic longitude of the sun by the searched angle x.
    Solve the equation in order to get x as a function of t and latitude.

    Unfortunately, I messed up all the sin, cos, tan, cotan, and signums of the angles, otherwise I would have posted the solution.

    Attached Files:

  11. Feb 5, 2009 #10
    Pio2001 is on the right track in that you take the declination of the astronomical body. In this situation we are only concerned with the sun. The sun moves between the Tropic of Cancer and the Topic of Capricorn or from 23.5 degrees south to 23.5 degrees north. To get declination you can use a formula or use on of several sites on the Internet.
    What this mean is that today, the sun is directly over 16 degrees 46 minutes of latitude south of the equator.

    To make it easier it is simpler to think of the position of the body as a point on the surface of the earth, rather than in the sky. It is called the sub stellar point and defined as the point on the surface directly beneath the heavenly body at any given instance of time and where the line joining the body to the center of the earth cuts the surface.

    There are still more information needed such as GHA, which I don’t know how they calculate.

    However I found a simple formula that works reasonably well:

    True Azimuth angle Cos-1 = (sin declination)/(coos latitude).

    Where declination is the declination for the day and latitude is the latitude at your location.
    Azimuth angle is measured from True North so if you want the direction in magnetic, you have to concert.
    Also both the declination and latitude can be either north or south of the equator. For instance in the northern hemisphere at this time of the year the declination is S, and in this case you use a negative declination (eg –16.48). If they are both declination and latitude N or S there is no negative sign.
    Or: Names the Same it is a Plus
    Names not the Same it is a Minus.

    Or you can use one of the online calculators. This one calculates the sunrise at your location. Just enter your Lat and Long and time difference from UTC and it tell you when the sun rises. Note: to enter lat and long directly you must select where it says Boulder and then select lat/long otherwise it defaults back to Boulder

    From there you can go to the site below and enter the location and set time equal to sunset or sunrise from previous site. If Alt is negative it means sun is below horizon.
    Last edited by a moderator: Apr 24, 2017
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook