<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kyle M. Douglass (Posts about radiometry)</title><link>https://kylemdouglass.com/</link><description></description><atom:link href="https://kylemdouglass.com/categories/radiometry.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2026 &lt;a href="mailto:kyle.m.douglass@gmail.com"&gt;Kyle M. Douglass&lt;/a&gt; 
&lt;a rel="license" href="https://creativecommons.org/licenses/by-nc-sa/4.0/"&gt;
&lt;img alt="Creative Commons License BY-NC-SA"
style="border-width:0; margin-bottom:12px;"
src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png"&gt;&lt;/a&gt;</copyright><lastBuildDate>Fri, 09 Oct 2026 13:55:08 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Foreshortening of Emitters and Lambert's Cosine Law</title><link>https://kylemdouglass.com/posts/foreshortening-of-emitters-and-lamberts-cosine-law/</link><dc:creator>Kyle M. Douglass</dc:creator><description>&lt;p&gt;In my &lt;a href="https://kylemdouglass.com/posts/a-primer-on-the-mathematics-behind-radiometry/"&gt;last post&lt;/a&gt; I covered some basic mathematics of radiometry. I realized shortly after writing the post that there was still a topic that I did not fully understand but that is central to radiometry and illumination optics in particular: &lt;a href="https://en.wikipedia.org/wiki/Lambert%27s_cosine_law"&gt;Lambert's cosine law&lt;/a&gt;. According to Wikipedia, this law states:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;the observed radiant intensity or luminous intensity from an ideal diffusely reflecting surface or ideal diffuse radiator is directly proportional to the cosine of the angle θ between the observer's line of sight and the surface normal; I = I0 cos θ.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The dependence of the intensity on \( \cos \theta \) is mathematically the same as the dependence of the projected area of a surface patch when viewed at an angle, a term known as foreshortening. In my previous post I had described foreshortening of remote surface patches, but not emitters. In effect, I had only described foreshortening as an effect concerning detection, but in reality it concerns emission as well. I very quickly ran into a conceptual problem when trying to apply the concept to emitters. The solution to this problem turns out to be quite... &lt;em&gt;illuminating&lt;/em&gt;. (Ha ha.)&lt;/p&gt;
&lt;h2&gt;Ideal Emitters&lt;/h2&gt;
&lt;p&gt;I'll start by breaking down Wikipedia's definition of the cosine law. First, it deals with ideal, diffuse reflecting and radiating surfaces. For now, I'll limit the discussion to just radiating surfaces.&lt;/p&gt;
&lt;p&gt;So what is an ideal radiating surface? It is one that can be described as a collection of mutually incoherent point sources radiating light equally in all directions. (Or so I thought.) A single point source radiating equally in all directions would look like this:&lt;/p&gt;
&lt;figure&gt;
  &lt;img alt="An ideal point source." width="25%" src="https://kylemdouglass.com/images/ideal_point_source.png"&gt;
&lt;/figure&gt;

&lt;p&gt;Here, each ray carries the same amount of power, and the number of rays per solid angle is constant. The length of a ray doesn't mean anything since, strictly speaking, a ray extends an infinite distance from the source.&lt;/p&gt;
&lt;h3&gt;Radiant Intensity&lt;/h3&gt;
&lt;p&gt;An ideal emitter is just a set of ideal point sources. Since the individual point sources are extended across space, we often call such a source an &lt;strong&gt;extended source&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Now, since each ray carries the same amount of power, then the set of all rays traveling in the same direction represents the total power emitted into that direction.&lt;/p&gt;
&lt;p&gt;But the power emitted by a source as a function of direction is the &lt;strong&gt;radiant intensity&lt;/strong&gt; of the emitter. So we can think of radiant intensity as the sum over the powers carried by all the rays traveling in the same direction from the source.&lt;/p&gt;
&lt;p&gt;The angular distribution of the radiant intensity of an emitter, therefore, is a purely geometrical construction.&lt;/p&gt;
&lt;h2&gt;Point Sources on a Surface or in a Volume?&lt;/h2&gt;
&lt;h3&gt;The Problem&lt;/h3&gt;
&lt;p&gt;Here's where I ran into my problem. I knew that LEDs could be modeled as Lambertian emitters to a decent degree of accuracy. This means that their radiant intensity should fall off like \( \cos \theta \) where \( \theta \) is the angle between the direction being considered and the normal to the surface. As described in the previous section, I also knew that the number of rays in a given direction should be proportional to the power emitted into that direction. So after counting the rays emitted into each direction, I should find that this number falls off as \( \cos \theta \).&lt;/p&gt;
&lt;p&gt;But when I sketched a picture of an LED as a collection of ideal emitters on a surface, I got the following:&lt;/p&gt;
&lt;figure&gt;
  &lt;img alt="An LED as a surface containing ideal point sources." width="50%" src="https://kylemdouglass.com/images/led_2d_point_sources.png"&gt;
&lt;/figure&gt;

&lt;p&gt;I've drawn rays in only two different directions, but you can see that the number of rays remains the same regardless of direction. So there's an inconsistency here. Where is it?&lt;/p&gt;
&lt;h3&gt;The Qualitative Solution&lt;/h3&gt;
&lt;p&gt;It took me a while to realize that the problem was with my conceptual model of the LED as a collection of emitters on a surface. A small hole in a black body radiator is also a Lambertian emitter. But a black body is a volume, not a surface. If instead I think of the LED as a window into a volume of ideal point sources, then I can see that all the rays behind the window and in the forward direction pass through the window. A fraction of the rays at any other direction are blocked, which results in a decrease in the amount of power emitted into their direction. And finally, the number of rays that are blocked increases as the angle away from the normal increases.&lt;/p&gt;
&lt;figure&gt;
  &lt;img alt="An LED as a volume containing ideal point sources and a window. Some rays are blocked." width="50%" src="https://kylemdouglass.com/images/led_3d_point_sources.png"&gt;
&lt;/figure&gt;

&lt;h2&gt;Derivation of Lambert's Cosine Law&lt;/h2&gt;
&lt;p&gt;In what follows I used Claude to help me set up the derivation, but have validated it myself.&lt;/p&gt;
&lt;h3&gt;The Setup&lt;/h3&gt;
&lt;p&gt;I say that this is a qualitative solution because it doesn't actually derive the \( \cos \theta \) dependence. As it turns out, the actual derivation is subtle and requires that we impose another condition onto the medium inside the LED.&lt;/p&gt;
&lt;p&gt;First, fill the half space \( z &amp;lt; 0 \) with \( n \) isotropic emitters per unit volume. Then, put an opaque screen at \( z = 0 \) with a window of area \( A \). Note that the emitters now extend beyond the \( x, y \) extent of the window, unlike what I drew above.&lt;/p&gt;
&lt;h3&gt;Rigorous Ray Counting&lt;/h3&gt;
&lt;p&gt;Next, we need a way to count the number of rays leaving the window in direction \( \theta \). To do this, I'm actually going to map each ray to its source point and count the number of source points instead. Let \( \hat{d} \) represent the unit vector corresponding to direction \( \theta \). Its elements are just the direction cosines of each ray. Also, let \( r \) represent the distance from the origin to the point where the ray intersects the window. \( \vec{r} \) ranges over the window, and \(dA\) is its area element. Finally, let \( s \) represent the distance along the ray to the source point. This leads to the familiar parametric representation of a ray used by ray tracers:&lt;/p&gt;
&lt;p&gt;$$
\vec{p} = \vec{r} - s \hat {d}
$$&lt;/p&gt;
&lt;p&gt;I've used the negative sign because I'm tracing backwards into the medium, and the magnitude of \( \vec{r} \) is just \( r \).&lt;/p&gt;
&lt;p&gt;As seen in the figure below, the set of all source points inside the medium whose rays travel in direction \( \theta \) and that also exit the window fills a volume whose differential element is \( dV = \cos \theta dA \, ds \). &lt;/p&gt;
&lt;figure&gt;
  &lt;img alt="The setup for deriving Lambert's cosine law." width="50%" src="https://kylemdouglass.com/images/lambert_cosine_law_derivation.png"&gt;
&lt;/figure&gt;

&lt;p&gt;If each source point emits a total power \( P \) into a solid angle of \( 4 \pi \) steradians, then the intensity as a function of \( \theta \) is&lt;/p&gt;
&lt;p&gt;$$ I ( \theta ) = \frac{n P}{4 \pi} \int_{window} \cos \theta \, dA \int_{s=0}^{\infty} ds = \infty . $$&lt;/p&gt;
&lt;p&gt;Oops.&lt;/p&gt;
&lt;h3&gt;Preventing Infinite Intensity&lt;/h3&gt;
&lt;p&gt;The thing which prevents the power from blowing up is absorption by the medium. Let \( \alpha \) represent the &lt;a href="https://en.wikipedia.org/wiki/Beer%E2%80%93Lambert_law"&gt;Lambert-Beer absorption coefficient&lt;/a&gt; of the LED material. Then the power carried along a ray is attenuated by a factor \( \exp \left(- \alpha s \right) \) after a path length \(s \) inside the material. The integral for intensity as a function of \( \theta \) is now&lt;/p&gt;
&lt;p&gt;$$
I ( \theta) = \frac{n P}{4 \pi} \int_{window} \cos \theta \, dA \int_{s=0}^{\infty} \exp \left( - \alpha s \right) ds = \frac{n P}{4 \pi \alpha} A \cos \theta.
$$&lt;/p&gt;
&lt;p&gt;This is exactly Lambert's cosine law, with \( I_0 = \frac{n P}{4 \pi \alpha} A \).&lt;/p&gt;
&lt;h2&gt;Some Final Observations&lt;/h2&gt;
&lt;p&gt;I can go a bit further. Dividing out the projected area \( A \cos \theta \) gives the radiance, which is independent of angle:&lt;/p&gt;
&lt;p&gt;$$
L = \frac{n P}{4 \pi \alpha}.
$$&lt;/p&gt;
&lt;p&gt;This has units of power per area per solid angle, as it should.&lt;/p&gt;
&lt;p&gt;I was genuinely surprised to learn how important absorption is to deriving Lambert's cosine law. If the material did not absorb but had a finite thickness \( D \) (to prevent the integral from blowing up), then the integral over path length would be \( D / \cos \theta \). The cosine in the denominator would cancel the one from the projected area of the window. The radiance would furthermore increase towards larger angles like \( 1 / \cos \theta \). In other words, it would no longer be constant.&lt;/p&gt;
&lt;p&gt;Finally, I think it's interesting that, under this conceptual setup, Lambert's cosine law is still just foreshortening of a patch when viewed at an angle. The difference is that this time we're looking at the patch/window from inside the LED material.&lt;/p&gt;</description><category>LEDs</category><category>physics</category><category>radiometry</category><category>solid angle</category><guid>https://kylemdouglass.com/posts/foreshortening-of-emitters-and-lamberts-cosine-law/</guid><pubDate>Fri, 09 Oct 2026 13:35:30 GMT</pubDate></item><item><title>A Primer on the Mathematics behind Radiometry</title><link>https://kylemdouglass.com/posts/a-primer-on-the-mathematics-behind-radiometry/</link><dc:creator>Kyle M. Douglass</dc:creator><description>&lt;p&gt;I have two projects at the moment that involve modeling &lt;a href="https://en.wikipedia.org/wiki/Radiometry"&gt;radiometric quantities&lt;/a&gt; in optical systems. At the outset of these projects I felt that I needed to refresh my knowledge of the basics. This post contains my notes about the topics that I think form the mathematical foundation of radiometry.&lt;/p&gt;
&lt;h2&gt;Spherical Coordinate Systems&lt;/h2&gt;
&lt;p&gt;Radiometric models are most naturally constructed in spherical coordinate systems. A spherical coordinate system is illustrated below.&lt;/p&gt;
&lt;figure&gt;
  &lt;img alt="A spherical coordinate system built upon a Cartesian axis" width="50%" src="https://kylemdouglass.com/images/spherical_coordinates.png"&gt;
&lt;/figure&gt;

&lt;p&gt;In the above illustration, I use the physicist's notation to denote:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;\( r \) : the radial coordinate&lt;/li&gt;
&lt;li&gt;\( \theta \) : the polar (or zenith) angle&lt;/li&gt;
&lt;li&gt;\( \phi \) : the azimuthal angle&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;The Differential Volume Element&lt;/h3&gt;
&lt;p&gt;The differential volume element in spherical coordinates is constructed as follows.&lt;/p&gt;
&lt;figure&gt;
  &lt;img alt="Construction of the differential volume element in spherical coordinates" width="50%" src="https://kylemdouglass.com/images/differential_volume_element_spherical_coordinates.png"&gt;
&lt;/figure&gt;

&lt;p&gt;In the figure above, the point \( A \) represents the point \( \left( r, \theta, \phi \right) \) in spherical coordinates.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The line segment \( AB \) has length \( dr \)&lt;/li&gt;
&lt;li&gt;The arc \( AC \) has length \( r \, d \theta \)&lt;/li&gt;
&lt;li&gt;The arc \( AD \) has length \( r \sin \theta \, d \phi \)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The differential volume element therefore is&lt;/p&gt;
&lt;p&gt;$$
dV = r^2 \sin \theta \, dr \, d \theta \, d \phi
$$.&lt;/p&gt;
&lt;p&gt;The reason for the \( \sin \theta \) term is that the ray from the origin to the point \( \left( r, \theta, \phi \right) \) traces out a circle of radius \( r \sin \theta \) when I let \( \phi \) vary from 0 to \( 2 \pi \) as illustrated below:&lt;/p&gt;
&lt;figure&gt;
  &lt;img alt="Circle radii vs. polar angles" width="50%" src="https://kylemdouglass.com/images/circle_radius_versus_polar_angle.png"&gt;
&lt;/figure&gt;

&lt;h2&gt;Solid Angle&lt;/h2&gt;
&lt;p&gt;A central concept in radiometry is the idea of the &lt;a href="https://en.wikipedia.org/wiki/Solid_angle"&gt;solid angle&lt;/a&gt;. Solid angle is the equivalent to angle in 3D space and is represented by the Greek letter \( \Omega \).&lt;/p&gt;
&lt;p&gt;We use solid angle to describe the apparent size of a surface as reviewed from some point in space. For a differential surface patch that we denote \( dS \) at a distance \( r \) from the point of observation \( P \), we say that the differential solid angle subtended by the patch at \( P \) is&lt;/p&gt;
&lt;p&gt;$$
d \Omega = \sin \theta \, d \theta \, d \phi
$$.&lt;/p&gt;
&lt;p&gt;A good heuristic to remember this quantity is to take the volume element in spherical coordinates and divide by \( r^2 \, dr \).&lt;/p&gt;
&lt;p&gt;I often see the definition \( \Omega = A / r^2 \), but this applies in the special case when the patch has area \( A \) and is a subset of the surface of a sphere of radius \( r \). More generally, if \( dS' \) represents the projected surface area of a patch, then&lt;/p&gt;
&lt;p&gt;$$
d \Omega = \frac{dS'}{r^2}
$$.&lt;/p&gt;
&lt;p&gt;Why must \( dS' \) be a projected area? The answer is due to an effect known as foreshortening, which will be discussed in the next section.&lt;/p&gt;
&lt;p&gt;When the observation point is at the origin and I use spherical coordinates, then I can equate the two expressions above:&lt;/p&gt;
&lt;p&gt;$$
d \Omega = \frac{dS'}{r^2} = \sin \theta \, d \theta \, d \phi
$$&lt;/p&gt;
&lt;h3&gt;Foreshortening&lt;/h3&gt;
&lt;p&gt;If the patch is oriented such that its unit normal vector \( \hat{n} \) is at an angle \( \theta \) to the line-of-sight from the observation point to the patch, then its apparent area will be &lt;strong&gt;foreshortened&lt;/strong&gt; according to the cosine rule:&lt;/p&gt;
&lt;p&gt;$$
A' = A \cos \theta
$$.&lt;/p&gt;
&lt;p&gt;As a result of foreshortening, the solid angle subtended by the patch at \( P \) will appear smaller. This is illustrated in the figure below.&lt;/p&gt;
&lt;figure&gt;
  &lt;img alt="The effect of foreshortening of a patch on its solid angle." width="50%" src="https://kylemdouglass.com/images/foreshortening.png"&gt;
&lt;/figure&gt;

&lt;p&gt;In this figure, the red dotted lines go from \( P \) to the edges of the patch when it is oriented with its normal unit vector parallel to the line-of-sight and the blue dashed lines go from \( P \) to the edges of the patch when it is oriented at an angle \( \theta \) to the line-of-sight. The angle subtended by the red dotted lines is larger than the one subtended by blue dashed lines, so foreshortening effectively reduces the solid angle subtended by the patch.&lt;/p&gt;
&lt;p&gt;In differential form, the solid angle of a patch of differential area \( dS \) foreshortened due to observation at an angle \( \theta \) is&lt;/p&gt;
&lt;p&gt;$$
d \Omega = \frac{\cos \theta \, dS}{r^2} = \frac{ \left( \hat{r} \cdot \hat{n} \right) dS }{r^2}
$$&lt;/p&gt;
&lt;p&gt;where \( \hat{r} \) and \( \hat{n} \) are unit vectors.&lt;/p&gt;
&lt;p&gt;The solid angle subtended by the patch is obtained by integrating over either expression:&lt;/p&gt;
&lt;p&gt;$$
\Omega = \iint_S \frac{\cos \theta \, dS}{r^2} = \iint_S \frac{ \left( \hat{r} \cdot \hat{n} \right) dS }{r^2}
$$&lt;/p&gt;
&lt;h3&gt;Uniformly Sampling Surfaces in Solid Angle&lt;/h3&gt;
&lt;p&gt;In one of my projects I am working with a rotationally symmetric optical surface that is defined through a recursion relation, but I need a differentiable representation for ray tracing. I obtain this representation by sampling the surface at different polar angles \( \theta \) and fitting the samples with a polynomial or spline.&lt;/p&gt;
&lt;p&gt;In some scenarios it is advantageous to uniformly sample the surface in solid angle, rather than angle itself. To achieve this, I uniformly sample \( \cos \theta \) and obtain the values for \( \theta \) by applying an \( \arccos \) function to the samples. In pure Python this looks like the following:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;math&lt;/span&gt;


&lt;span class="n"&gt;num_samples&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;

&lt;span class="c1"&gt;# Sample directions from the optical axis to directions perpendicular to it.&lt;/span&gt;
&lt;span class="n"&gt;cos_theta&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num_samples&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num_samples&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;
&lt;span class="k"&gt;assert&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cos_theta&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;num_samples&lt;/span&gt;

&lt;span class="n"&gt;theta&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;acos&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;cos_theta&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The above code produces values for \( \theta \) of &lt;code&gt;[0.0, 0.5410995259571458, 0.7751933733103613, 0.9625507478846871, 1.1278852827212578, 1.2810446253588492, 1.4274487578895312, 1.5707963267948966]&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The reason this works is the following: start with the definition of solid angle \( d \Omega = \sin \theta \, d \theta \, d \phi\). Because the surface is rotationally symmetric, integrate over the azimuthal angle to obtain \( \iint_{\phi = 0}^{2 \pi} \sin \theta \, d \theta \, d \phi = 2 \pi \int \sin \theta \, d \theta \).&lt;/p&gt;
&lt;p&gt;But \( \sin \theta \, d \theta = -d ( \cos \theta) \), so uniform sampling in \( \cos \theta \) space produces equal-sized rectangles in the Riemann sum that approximates this integral.&lt;/p&gt;
&lt;h2&gt;Etendue&lt;/h2&gt;
&lt;p&gt;Etendue (sorry French speakers) is another important quantity in radiometry. Though it is a core quantity of the science, it is actually a purely mathematical construction and does not require any concept of power, detector, or light source. It is related to solid angle, but is easy to confuse with the above expressions for solid angle because two different patches are involved in its construction, not one.&lt;/p&gt;
&lt;p&gt;Let \( dS_1 \) and \( dS_2 \) represent these two different surface patches. They are differential patches but drawn unrealistically large in the figure below for ease of understanding. Assume that the solid angle subtended &lt;strong&gt;by surface 2 as viewed from the center of surface 1&lt;/strong&gt; is \( d \Omega_{2,1} \). Furthermore let \( \theta_1 \) represent the angle between the unit normal vector to \( dS_1 \) and the center of the solid angle \( d \Omega_{2,1} \). Similarly, let \( \theta_2 \) represent the angle between the unit normal vector to \( dS_2 \) and the center of the solid angle \( d \Omega_{1,2} \). Finally, assume these patches sit in a medium with refractive index \( n \).&lt;/p&gt;
&lt;figure&gt;
  &lt;img alt="The geometrical construction for etendue." width="50%" src="https://kylemdouglass.com/images/etendue_construction.png"&gt;
&lt;/figure&gt;

&lt;p&gt;Etendue is defined as:&lt;/p&gt;
&lt;p&gt;$$
dG = n^2 \, \cos \theta_1 \, dS_1 \, d \Omega_{2,1}
$$&lt;/p&gt;
&lt;h3&gt;Conservation of Etendue&lt;/h3&gt;
&lt;p&gt;We can prove that this quantity is conserved by noting that \( d \Omega_{2,1} = \frac{\cos \theta_2 \, dS_2} {r^2} \), or&lt;/p&gt;
&lt;p&gt;$$\begin{eqnarray}
  dG &amp;amp;=&amp;amp; n^2 \cos \theta_1 \, dS_1 \, d \Omega_{2,1} \\
  &amp;amp;=&amp;amp; n^2 \cos \theta_1 \, dS_1 \frac{\cos \theta_2 \, dS_2}{r^2} \\
  &amp;amp;=&amp;amp; n^2 \frac{\cos \theta_1 \, dS_1}{r^2}  \cos \theta_2 \, dS_2 \\
  &amp;amp;=&amp;amp; n^2 \, d \Omega_{1, 2} \cos \theta_2 \, dS_2
\end{eqnarray}$$.&lt;/p&gt;
&lt;p&gt;So it does not matter if we measure etendue from surface 1 to surface 2, or from surface 2 to surface 1; it is the same for any two patches.&lt;/p&gt;
&lt;p&gt;Intuitively, the conservation of etendue is just a fancy way of counting the number of lines that pass through any two patches in space. When viewed this way, it is obvious that the number of lines that pass through both patches must be the same regardless of whether we look from patch 1 to patch 2 or from patch 2 to patch 1.&lt;/p&gt;
&lt;figure&gt;
  &lt;img alt="The geometrical intuition behind etendue." width="50%" src="https://kylemdouglass.com/images/etendue_intuition.png"&gt;
&lt;/figure&gt;

&lt;h3&gt;Phase Space Representation&lt;/h3&gt;
&lt;p&gt;Rigorously speaking, conservation of etendue is a result of Liouville's theorem. Let each ray be represented in a four dimensional phase space where two dimensions are on a reference surface and the remaining two represent the two degrees of freedom in the optical momentum vector \( \vec{p} = n \hat{s} \) of Hamiltonian optics. The volume of the phase space spanned by all the rays intersecting this surface is a conserved quantity.&lt;/p&gt;
&lt;p&gt;Etendue becomes an optical quantity when I assert that the lines represent rays that carry some amount of power \( d \Phi \). Strictly speaking, etendue either stays the same or increases, but it cannot decrease. Diffuse scattering is one way that it can increase, but not because scattering simply redirects light rays. Reflection and refraction also redirect light rays, but in these cases etendue is conserved because reflection and refraction are operations that satisfy Liouville's theorem.&lt;/p&gt;
&lt;p&gt;Etendue can be related to the second law of thermodynamics. (But how exactly this is done I do not know.)&lt;/p&gt;</description><category>calculus</category><category>radiometry</category><category>solid angle</category><guid>https://kylemdouglass.com/posts/a-primer-on-the-mathematics-behind-radiometry/</guid><pubDate>Mon, 17 Aug 2026 07:36:02 GMT</pubDate></item></channel></rss>