Description Usage Arguments Details Value Examples

The reflectance at the planar boundary between two media, or interface, can be computed from the relative refractive index. Reflectance depends on polarization, and the process of reflection can generate polarized light through selective reflection of s and p components. A perfectly flat (i.e. polished) interface creates specular reflection, and this is the case that these functions describe. These function describe a single interface, and for example in a glass pane, a light beam will cross two air-glass interfaces.

1 2 3 4 5 | ```
Rfr_from_n(angle_deg, angle = angle_deg/180 * pi, n = 1.5, p_fraction = 0.5)
Rfr_p_from_n(angle_deg, angle = angle_deg/180 * pi, n = 1.5)
Rfr_s_from_n(angle_deg, angle = angle_deg/180 * pi, n = 1.5)
``` |

`angle_deg, angle` |
numeric vector Angle of incidence of the light beam, in degrees or radians. If both are supplied, radians take precedence. |

`n` |
numeric vector, or generic_spct object Relative refractive index. The default 1.5 is suitable for crown glass or acrylic interacting with visible light. n depends on wavelength, more or less strongly depending on the material. |

`p_fraction` |
numeric in range 0 to 1. Polarization, defaults to 0.5 assuming light that is not polarized. |

These functions implement Fresnel's formulae. All parameters accept
vectors as arguments. If both n and angle are vectors with length different
from one, they should both have the same length. Reflectance depends on
polarization, the $s$ and $p$ components need to be computed separately and
added up. `Rfr_from_n()`

is for non-polarized light, i.e., with equal
contribution of the two components.

If `n`

is a numeric vector the returned value is a vector of
reflectances, while if `n`

is a `generic_spct`

object the
returned value is a `reflector_spct`

object.

1 2 3 | ```
Rfr_from_n(0:90)
Rfr_from_n(0:90, p_fraction = 1)
Rfr_from_n(0:90, n = 1.333) # water
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.