Abstract class Shadow_Function


The abstract class Shadow_Function is used by Shadowed_Facet_BRDF_Model to store information about the shadow function. Several classes inheriting its properties are provided. The user may provide other shadow functions for Shadowed_Facet_BRDF_Model by creating classes inheriting the properties of Shadow_Function.

Instantiable Models and Their Parameters:

Parameter Data Type Description Default
Unit_Shadow_Function:
A trivial shadow function that does not provide any shadowing.
Unit_Shadow_Function has no parameters..
Torrance_Sparrow_Shadow_Function:
A shadow function appropriate for a surface covered with a distribution of V-grooves, as described by Torrance and Sparrow.
Torrance_Sparrow_Shadow_Function has no parameters..
Smith_Shadow_Function:
A shadow function appropriate for Gaussian rough surfaces, described by Smith.
w double The standard deviation of the surface slope. 0.35
Maxwell_Beard_Shadow_Function: A shadow function developed by Maxwell and Beard.
Omega double Omega [deg] 0.7
tau double tau [deg] 0.25
Table_Shadow_Function: A shadow function that is interpolated from a table of values, evaluated at an angle in degrees. The resulting shadow function is the product of this table evaluated at each of the incident and scattered polar angles.
T Table The table containing the shadow function. 1

See also:

SCATMECH Home,   Conventions,   Shadowed_Facet_BRDF_Model,  

K.E. Torrance and E.M. Sparrow, "Theory of off-specular reflection from roughened surfaces," J. Opt. Soc. Am. 57(9), 1105-1114 (1967).
B. Smith, "Geometrical Shadowing of a Random Rough Surface," IEEE Trans. Ant. Prop AP-15, 668-671 (1967).
J.R. Maxwell, J. Beard, S. Weiner, D. Ladd, and D. Ladd, Bidirectional Reflectance Model Validation and Utilization, (Environmental Research Inst. of Michigan (ERIM), Ann Arbor, MI, 1973).

Include file:

#include "torrspar.h"

Source code:

torrspar.cpp

Definition of public elements:

class Shadow_Function : class Model {
    virtual double f(double thetai,double thetas,double phis) = 0;
};

typedef Model_Ptr<Shadow_Function> Shadow_Function_Ptr;

double f(double thetai,double thetas,double phis)

This function evaluates the shadow function for the given geometry. The function is defined as that function which should be multiplied by the calculated intensity to achieve the shadowed intensity.

Top of Page


For More Information

SCATMECH Technical Information and Questions
Sensor Science Division Home Page
Sensor Science Division Inquiries
Website Comments

Current SCATMECH version: 7.22 (April 2021)