LambertianIllumination

giant.ray_tracer.illumination:

class giant.ray_tracer.illumination.LambertianIllumination(global_albedo=1.0)[source]

This basic illumination model computes the intensity values as simply the cosine of the incidence angle times the albedo.

Mathematically this is given by

\[I = -\alpha_0\alpha\mathbf{n}^T\mathbf{i}\]

where \(\alpha_0\) is the global albedo value, \(\alpha\) is the local albedo, \(\mathbf{n}\) is the unit normal vector, \(\mathbf{i}\) is the unit incidence vector, and \(I\) is the intensity value.

This class makes use of a global albedo value stored in global_albedo which can be used to scale all outputs from this model. For most cases of OpNav, however, this can be ignored.

Anywhere that is not visible (either because the visible flag was set to False, or the cosine of the incidence angle is less than 0) is set to 0 in the return.

Parameters:

global_albedo (float) – The global albedo used to scale all outputs.

global_albedo: float

The global albedo used to scale all output

Summary of Methods