This page has an analysis of photos of the moon that I took with my Nikon P900. The moon photos are cropped so that the moon is tightly enclosed in in a square photo since doing so makes it easier to act as input to sphere2equirect.py in image-utils. Clicking on an image leads to a higher resolution version. The orFiginal photo taken from the camera can be seen by removing the "-crop" from the photo name. Original photos that are not already linked to directly can also be found in this table:
Section | Name | Original Photo |
---|---|---|
Moon Maps | Full Moon | moon-full.jpg |
Moon Maps | Quarter Moon | moon-quarter.jpg |
Day Moon | Day Moon | moon-day.jpg |
Moonrise | Moonrise | moonrise.jpg |
Lunar Eclipse | Lunar Eclipse | lunar-eclipse.jpg |
A nearly full moon taken in North Austin TX (30.37 N 97.76 W) at 2018-10-25 21:29:05 CDT (Austin TX time):
Craters are most visible near the terminator, which in this case is near the upper right side of the moon. Since it's an almost full moon the terminator in the upper right side of the moon is is nearly a half circle, but it's actually half of an ellipse.
This photo is a bit dark and tan possibly due to a low exposure compensation value of -1 to assure that details would not be lost due to over exposure. But it being relatively low altitude at about 18° above the horizon may also explain it.
Since it's close to the horizon atmospheric refraction has flattened it a bit by one part in 362.4, which can be seen by using the formulas on that page for the upper part of the moon, and the lower part of the moon using the altitude given by Stellarium. Because of the flattening this image is not quite square. The calculated flattening is a starting point followed by trial and error.
The above full moon in Stellarium (which shows libration) for the same location and time:
From the above we can see that the full moon had an angular size of 31'42.2" or 0.5284° which is helpful for building an equirectangular map using sphere2equirect.py in image-utils:
sphere2equirect.py -a 0.5284 -b --center-lat 6.68 --center-lon -3.43 --rotate -48.3 --ellipse moon-full-crop.jpg
Which produces the following equirectangular map:
The latitude and longitude of the center point as well as the amount the moon is rotated was determined by trial and error so that it matches a known good equirectangular map of the moon. Such a map can be found in Solar System Scopes's textures.
Since the sphere is identified in the input image by specifying a bounding box the encloses it when working with the moon it's helpful to note that two adjacent sides will be visible and the other two sides will be hidden in darkness. In this case the left and lower sides of the moon are visible and the right and upper sides are hidden in darkness. Consequently "--in-begin-x" and "--in-end-y" can be specified for those sides since they are known and "--in-size" can be estimated.
One way of getting an initial estimate is to use an image editing program such as GIMP to fit a circle to the visible part of the perimeter of the moon.
If sphere2equirect.py is run with "-v" (verbose) it will indicate the range used. That information can be used to crop the images so that they tightly enclose the sphere (moon in this case), produced the images we see here.
In this case the input image is not quite square due to atmospheric refraction flattening the moon a bit (discussed above). Since sphere2equirect.py assumes by default that the input sphere is perfectly spherical the "--ellipse" in this case indicates the entire input should be consumed instead of the largest square that fits within it.
Since equirectangular is a common mapping that can act as input for mapping software it's possible to use G.Projector to convert to other projections. Here's the the above full moon converted to a Mercator projection with a maximum latitude of 65°:
The Mercator projection has some helpful characteristics. In spite of distorting size dramatically it maintains both the aspect ratio (it does not stretch or shrink on one axis) and direction (North is always North). Because of that we can see that the craters that are near the terminator (close to the edge of the moon in the upper right hand corner) are no longer elliptical due to being viewed at an angle. We can also see that the terminator line, which was quite curved in the original image, is a nearly straight vertical line due to the terminator being a great circle that runs nearly North and South.
With the Gnomonic projection the terminator, as well as any other great circle, will be a straight line. It's hard to tell since it's a bit blurry near the poles and since there may be some distortion there, but it looks like that may be the case. Also, lines radiating outward from craters as straight. At 0° North, 30° East and a radius of 65°:
A quarter moon taken in North Austin TX (30.37 N 97.76 W) at 2018-09-02 06:51:28 CDT:
The above quarter moon in Stellarium for the same location and time:
In this case the orientation is off since the moon was so high above the horizon that I didn't bother to have my camera in the "correct" orientation, but it's still reassuring that the terminator matches Stellarium. Also, like with the full moon, the crater shadows are most prominent near the terminator. From the above we can see that the quarter moon had an angular size of 32'5.7" or 0.5349° which is helpful for building an equirectangular map using sphere2equirect.py in image-utils:
sphere2equirect.py -a 0.5349 -b --center-lat 5.9766 --center-lon -6.3281 --rotate -26.46 moon-quarter-crop.jpg
Which produces the following equirectangular map:
Due to libration the longitude of the center for the quarter moon has moved about 2.9° to the West compared to the full moon allowing us to see a bit more of the left side of the moon. We can see that there is a spot on the West side that is 65 pixels from the edge for the full moon, and 85 pixels from the edge for the quarter moon which works out to a shift of acos(1 - 85/(2462/2)) - acos(1 - 65/(2436/2)) = 2.61°. Subtracting two pixels from 65 and calculating for 63 gives 2.91°, so that amount of shift seems about right. Comparing to the Stellarium images after rotating so that the equator is horizontal the spot gives acos(1 - 34/1024) - acos(1 - 25/1004) = 1.99°, which is a bit off, but in the right direction. I'd like to understand this discrepancy better since Stellarium seems to calculate libration correctly (longitude, latitude and diurnal). The full and quarter Stellarium images used.
It's an interesting exercise to try to generate the full moon equirectangular map with the quarter moon longitude and then adjusting the "begin" and "end" options to compensate so that the center of the map is the same pixel. The result is a significantly distorted map.
To illustrate libration with maps the full moon equirectangular map can be generated on top of the quarter moon equirectangular map with the "--multi" option. First "moon-quarter-crop-er.jpg" is copied to "moon-combined-crop-er.jpg", then it is resized to match "moon-full-crop-er.jpg" and then the command that produced "moon-full-crop-er.jpg" previously can be run with the "--multi" option:
sphere2equirect.py -a 0.5284 -b --center-lat 6.68 --center-lon -3.43 --rotate -48.3 --ellipse --multi -o moon-combined-crop-er.jpg moon-full-crop.jpg
Which produces the full moon equirectangular map with a sliver of the quarter moon equirectangular map on the left:
Which doesn't show us much since it's so distorted that close to the edge, but it still gives us a way of visualizing how libration reveals different parts of the moon. It's also reassuring that the light and dark spots line up in some places.
Both the original uncropped full moon and quarter moon photos were taken with maximum optical zoom was used which, as can be seen in the EXIF (properties that are stored in JPEG images) information, is the equivalent of 2000 mm for 35 mm film:
exif:FocalLength: 3570/10 exif:FocalLengthIn35mmFilm: 2000
Following the reasoning on the sun page, but using a more precise version of SPP:
SPP = 3.7558e-06
Also from the sun page is this formula for calculating the angular size, which will be used for the following table:
angular_size = atan(SPP * ((4608 / 2) - left_pixel)) + atan(SPP * (right_pixel - (4608 / 2)))
The previously X ranges and X sizes (horizontal is better than vertical due to atmospheric refraction) can be used to calculate the angular size and compare to Stellarium:
Image Link | Left Pixel | Right Pixel | Image Angular Size | Image Error | Stellarium Angular Size | Stellarium Altitude | Stellarium Screenshot Link |
---|---|---|---|---|---|---|---|
Full | 1123 | 3559 | 0.5242° | -0.7949% | 0.5284° | 18.4914° | Full |
Quarter | 1636 | 4098 | 0.5298° | -0.9534% | 0.5349° | 75.4146° | Quarter |