Given the phase of a planet or satellite, I can find the area illuminated visible to us, if we consider a 2D surface. But how do I find the percentage of illuminated area visible considering it a 3D surface and thus finding the magnitude of the partially illuminated planet/satellite.
-
$\begingroup$ github.com/skyfielders/python-skyfield/issues/210 may or may not help. Summary: it's close to Lambertian reflectance, but not quite. $\endgroup$– user21Jun 22, 2019 at 0:07
-
$\begingroup$ There is some helpful math in this answer. See also 1, 2, 3, 4, 5 $\endgroup$– uhohJun 22, 2019 at 3:03
1 Answer
In general, you'd have to project the light from the sun (Assuming we're talking about objects in our solar system) onto the 3D surface and project it onto a 2D surface. This can be accomplished via a ray tracing algorithm.
This procedure will give you the fraction of the surface illuminated.
Now if you are concerned about the fraction of the illuminated surface that is reflected in a specific directly -- so that it is "viewable" from that direction -- you have to do the ray tracing in 3D from the source (Sun) to the object and on to the viewer. There packages you can google that will do this type of ray tracing if you can model the objects in 3D...
-
$\begingroup$ The simplest version of this won't work since planets aren't perfect mirrors. A modified version would work if you regard planetary surfaces as reflecting light in all directions equally (also known as Lambertian reflectance) $\endgroup$– user21Jun 24, 2019 at 2:59
-
$\begingroup$ True you'd have to model specular reflection to model accurately, but just attenuating your solution to the above procedure will get you there. There are attenuating values you can use for your best guess as to surface composition. $\endgroup$– earnricJun 25, 2019 at 16:49
-
$\begingroup$ If folks have a better way of doing this modeling I'd like to hear it... $\endgroup$– earnricJun 25, 2019 at 16:49
-
1$\begingroup$ en.wikipedia.org/wiki/Phase_curve_(astronomy) $\endgroup$– user21Jun 26, 2019 at 0:17