Navigation: Scatterers > Scatter Types > Lambertian

 

Lambertian

 

Contact Us: fredsupport@photonengr.com

 

 

 

Description


The Lambertian scatter model is typically used to simulate a perfect diffuser. Unlike other models, the BSDF does not depend on either the angle of incidence or the specular ray direction(s). The predefined models Black Lambertian and White Lambertian are both of this type.

 

 The following picture shows a normalized log space plot of the reflected hemispherical scatter intensity distribution in direction cosine space. The Lambertian scatter parameter is reflectivity = 0.04. The specular angle is 30 degrees.

 

 

 

Navigation


This feature can be accessed by selecting Lambertian (equal scatter in all directions) as the Scatter Type in the Create a new scatter model dialog box.

 

 

Controls


Control

Inputs / Description

Defaults

Name

Name of the model (required).

Scatter n

Description

Description of the model  (optional).

 

Type

Select Lambertian from the pull down menu.

Lambertian

Refl

Controls the fraction of the incident power that will be scattered.  The direction of scattering (reflection or transmission) is determined by the Apply on Reflection and Apply on Transmission options below.

0.04

Additional data

Apply on Reflection

Apply the scatter model on reflection.

Checked

Apply on Transmission

Apply the scatter model on transmission.

Unchecked

Halt Incident Ray

For any surface with this scatter model assigned to it, no specular rays will leave the surface, regardless of the surface coating and raytrace property settings, if this toggle is checked.

Checked

 

OK

Accept settings and close dialog box.

 

Cancel

Discard settings and close dialog box.

 

Help

Access this Help page.

 

 

 

Application Notes


Model function

The Lambertian scatter model has no specular component. The scatter distribution function is completely independent of the angles of incidence, reflection, and transmission. It represents an ideal diffusing surface.

 

 

Reflectivity

Reflectivity must be between 0 and 1. This setting is independent of the Coating specification on the surface, which applies only to specular rays. Reflectivity near zero approximates a perfect absorber. Conversely, reflectivity approaching a value of 1 approximates a perfect diffuse reflecting surface as might be found in an integrating sphere. White paper is has a Lambertian reflectivity of about 0.8.

 

 

Wavelength invariance

The Lambertian model is wavelength invariant.

 

 

Scatter in transmission and reflection

All scatter models describe the BSDF as measured over a maximum of 2p steradians. Both transmitted and reflected scatter can be modeled by specifying the two scatter directions simultaneously with the appropriate direction controls found under the Scatter tab in the Surface Dialog.

 

 

Multiple scatter models

Multiple scatter models can be attached to the same surface. The scatter direction controls are then imposed on every attached model.

 

 

Scripting with the Lambertian model

Subroutines

AddLambertianScatter YourScatter

SetLambertianScatter IndexInScatterList, YourScatter

GetLambertianScatter IndexInScatterList, YourScatter

 

Data structure

T_LAMBERTIANSCATTER

Name – (string) Holds the name of the model. Default is an empty string.

Description – (string) Holds the description of the model. Default is an empty string.

Refl – (double) The value of the Reflectivity coefficient. Default is 0.

ApplyRefl – (Boolean) Applies the scatter model on reflection. Default is False.

ApplyTrans – (Boolean) Applies the scatter model on transmission. Default is False.

HaltIncident – (Boolean) Halts the incident ray. Default is False.

 

 

This example adds a Lambertian Scatter model to the FRED file associated with this script.

 

Dim s As T_LAMBERTIANSCATTER
s.Name = "Lambertian Example"
s.Description = "Sample from FRED documentation"
s.Refl = 0.05
s.ApplyRefl = true
s.ApplyTrans = true
s.HaltIncident = true
AddLambertianScatter s

 

 

This example sets the fourth Scatter model’s name to “Lambertian Example 2”, as long as that scatter model is a Lambertian model. It fails if it is any other scatter type.

 

Dim s As T_LAMBERTIANSCATTER
s.Name = "Lambertian Example 2"
SetLambertianScatter 4, s

 

 

This example gets the fourth Scatter model and prints its name, as long as that scatter model is a Lambertian model. It fails if it is any other scatter type.

 

Dim s As T_LAMBERTIANSCATTER
GetLambertianScatter 4, s
Print s.Name

 

 

Related Topics


ABg – for polished surface scatter

Binomial - plane symmetric case of general Polynomial

Extended Harvey-Shack - shift variant form of the Harvey-Shack model

Extended Scripted - User-defined scattering function that allows manipulation of the scattered rays' polarization state

Flat Black Paint – specify Total Integrated Scatter (TIS)

Harvey-Shack – for polished surface scatter

K-Correlation – analytic PSD

Phong – cosn from specular

Polynomial - General polynomial with diffuse and Lorentzian component

Scripted - User-defined scattering function

Surface Particle (Mie) – for particulate contamination

Tabulated BSDF – measured BSDF data

Tabulated PSD – measured PSD data

 

 

 

 

 

Copyright © Photon Engineering, LLC