Page updated: October 10, 2021
Author: Curtis Mobley
View PDF


This page develops the mathematical tools needed to specify directions and angles in three-dimensional space. These mathematical concepts are fundamental to the specification of how much light there is and what direction it is traveling.

Coordinate Systems and Directions

Locations and directions will be specified with reference to particular coordinate systems chosen to be convenient for the problem at hand. These coordinate systems can be “global” or “ocean” systems that are fixed once and for all in their spatial orientation, or they can be “local” systems determined by the instantaneous direction of light propagation.

Global coordinate systems

The most common ocean system is defined as follows. Let let x̂,ŷ and be three mutually perpendicular unit vectors that define a right-handed Cartesian coordinate system. Let the depth z be measured positive downward from 0 at the mean sea surface, as is customary in oceanography. The unit direction vector thus points downward. For problems involving sea surface waves it is convenient to resolve the waves into “along-wind” and “cross-wind” components (see the pages on Cox-Munk sea-surface slope statistics and modeling sea surfaces). This is most easily done if x̂ is chosen to be in the direction that the wind is blowing over the ocean surface, i.e. x̂ points downwind. The cross-wind direction is then given by the cross (or vector) product ŷ = ×x̂. This defines the “wind-based” coordinate system used in the HydroLight radiative transfer code. If the problem at hand required the analysis of Sun glint on the sea surface as seen from an airplane, then it would be convenient to use a “Sun-based” system with x̂ pointing towards or away from the Sun and pointing upward, away from the mean sea surface (see Fig. 2 of the Cox-Munk page). No matter how chosen, the (x̂,ŷ,) directions remain fixed in space for the given problem.

Given a global coordinate system, a direction in space is specified as follows. Let ξ̂ denote a unit vector pointing in the desired direction. The vector ξ̂ has components ξx,ξy and ξz in the x̂,ŷ and directions, respectively. We can therefore write

ξ̂ = ξxx̂ + ξyŷ + ξz,

or just ξ̂ = (ξx,ξy,ξz) for notational convenience. Note that because ξ̂ is of unit length, its components satisfy ξx2 + ξ y2 + ξ z2 = 1.

An alternative description of ξ̂ is given by the angles 𝜃 and ϕ, defined as shown in Fig. 1. The polar angle 𝜃 is measured from the direction of , and the azimuthal angle ϕ is measured positive counterclockwise from x̂, when looking toward the origin along (i.e. when looking in the direction). For downward directions (the red arrow in the figure), 𝜃 < π2; for upward directions (the green arrow in Panel (b)), 𝜃 > π2. The connection between ξ̂ = (ξx,ξy,ξz) and ξ̂ = (𝜃,ϕ) is obtained by inspection of Panel (a) of Fig. 1:

ξx = sin 𝜃 cos ϕ ξy = sin 𝜃 sin ϕ (1) ξz = cos 𝜃

where 𝜃 and ϕ lie in the ranges 0 𝜃 π and 0 ϕ < 2π. The inverse transformation is

𝜃 = cos 1(ξ z) ϕ = tan 1 ξy ξx (2)

The polar coordinate form of ξ̂ could be written as ξ̂ = (r,𝜃,ϕ), but since the length of r is 1, we can drop the radial coordinate for brevity.


Figure 1: A global, ocean coordinate system. Panel (a) shows a unit direction vector ξ̂ heading downward into the ocean (red arrow) and the corresponding Cartesian components (ξx,ξy,ξz) and angular coordinates (𝜃,ϕ). In panel (b), the blue cone represents an element of solid angle ΔΩ(ξ̂) centered on direction ξ̂ of Panel (a). The green arrow shows an upward directed unit vector and the corresponding (𝜃,ϕ).

Another useful description of ξ̂ is obtained using the cosine parameter

μ cos 𝜃 = ξz. (3)

The components of ξ̂ = (ξx,ξy,ξz) and ξ̂ = (μ,ϕ) are related by

ξx = (1 μ2)12 cos ϕ ξy = (1 μ2)12 sin ϕ (4) ξz = μ,

with μ and ϕ in the ranges 1 μ 1 and 0 ϕ < 2π. Hence a direction ξ̂ can be represented in three equivalent ways: as (ξx,ξy,ξz) in Cartesian coordinates, and as (𝜃,ϕ) or (μ,ϕ) in polar coordinates.

The scalar (or dot) product between two direction vectors ξ̂ and ξ̂ can be written as

ξ̂ ξ̂ = |ξ̂||ξ̂| cos ψ = cos ψ,

where ψ is the angle between directions ξ̂ and ξ̂, and |ξ̂| denotes the (unit) length of vector ξ̂. The scalar product expressed in Cartesian-component form is

ξ̂ ξ̂ = ξ xξx + ξ yξy + ξ zξz.

Equating these representations of ξ̂ξ̂ and recalling Eqs. (1) and (4) leads to

cos ψ = ξxξ x + ξyξ y + ξzξ z = cos 𝜃 cos 𝜃 + sin 𝜃 sin 𝜃 cos(ϕ ϕ) (5) = μμ + 1 μ 21 μ2 cos(ϕ ϕ)

Equation (5) gives very useful connections between the various coordinate representations of ξ̂ and ξ̂, and the included angle ψ. In particular, this equation allows us to compute the scattering angle ψ when light is scattered from an incident direction ξ̂ to a final direction ξ̂.

The set of all directions ξ̂ is called the unit sphere of directions, which is denoted by Ξ. Referring to polar coordinates, Ξ therefore represents all (𝜃,ϕ) values such that 0 𝜃 π and 0 ϕ < 2π. Two subsets of Ξ frequently employed in optical oceanography are the downward (subscript d) and upward (subscript u) hemispheres of directions, Ξd and Ξu, defined by

Ξd all(𝜃,ϕ)suchthat0 𝜃 π2and0 ϕ < 2π, Ξu all(𝜃,ϕ)suchthatπ2 < 𝜃 πand0 ϕ < 2π.

Some authors use the notation 2πd for Ξd and 2πu for Ξu because these hemispheres of directions contain 2π steradians of solid angle.

Local coordinate systems

In Monte Carlo ray tracing calculations, for example, it is necessary to specify the polar and azimuthal scattering angles of a scattered ray relative to the direction of the unscattered ray. This requires defining a local (at the end point of the unscattered ray) Cartesian system “centered” on the direction of the unscattered ray, rather than on a fixed direction. A local system that meets the needs of Monte Carlo ray tracing can be defined as follows.

Referring to Fig. 2, let R = |R|ξ̂ denote a light ray with starting point r1 = (x1,y1,z1) and ending point r2 = (x2,y2,z2) in a global coordinate system. |R| is the length of the vector R, which is traveling in direction ξ̂ = (𝜃,ϕ) in the global system. Now suppose that this ray scatters at point r2 to create a new ray R, which ends at poinr r3. To describe that scattering, it is necessary to define a local (at the point of scattering r2) coordinate system for the scattering calculations. The scattering angles ψ and α (computed as described on page Probability Functions will then be applied in this system to determine the direction of the scattered ray R relative to the unscattered ray R.


Figure 2: A local coordinate system used to describe the scattering of an in-water ray. The initial or unscattered ray is R; the scattered ray R is in red. The ocean coordinate system and angles measured in this system are in black, the local coordinate system is in blue, and angles measured in the local system are in red. The blue dotted lines are lines of constant 𝜃 and constant ϕ; ϕ̂ and 𝜃̂ are respectively tangent to these lines at point r2.

In the ocean system, ray R has components (Rx,R y,R z):

R = R xx̂ + R yŷ + R z = R sin 𝜃 cos ϕx̂ + R sin 𝜃 sin ϕŷ + R cos 𝜃, (6)

where the Cartesian components Rx etc., in terms of spherical coordinates come from Eq (1).

A convenient local coordinate system (𝜃̂,ϕ̂,r̂) for scattered rays is constructed as follows. The radial unit vector

r̂ = R |R| = r2 r1 |r2 r1|

is in the same direction as the initial ray R. The azimuthal unit vector ϕ̂ is defined by the cross product of the ocean coordinate system and the incident vector’s direction:

ϕ̂ = ×r̂ | ×r̂|.

This vector points in the direction of increasing ϕ values. (If the unscattered vector is in the same direction as , the direction of ϕ̂ can be chosen at random.) The polar unit vector is then given by

𝜃̂ = ϕ̂×r̂.

This vector points in the direction of increasing 𝜃 values. (If you think of point r2 as being on the surface of the Earth, then 𝜃̂ points south, ϕ̂ points east, and r̂ is straight up.) The (𝜃̂,ϕ̂,r̂) system is then an orthogonal system of coordinates in which the scattering angles ψ and α can be applied to define the direction of the scattered ray. However, these directions are not fixed in the ocean system; they depend on the direction of the unscattered ray R.

After the direction of the scattered ray has been determined in the local (𝜃̂,ϕ̂,r̂) system, the scattered ray direction must be specified in terms of (𝜃,ϕ) in the global system, so that the scattering process can be repeated.

Similarly, in calculations involving polarization, a local Cartesian system is needed to resolve the components of the polarization relative to some reference plane. This reference plane can be either the meridian plane, which is the plane containing and the direction of propagation; or the scattering plane, which is the plane containing the incident and final directions of the scattered light (see Figs. 1 and 2 on the Polarization: Scattering Geometry page). Again, the appropriate local coordinate system depends on the direction of propagation of the light.

Solid Angle

Closely related to the specification of directions in three-dimensional space is the concept of solid angle, which is an extension of two-dimensional angle measurement. As illustrated in panel (a) of Fig. 3, the plane angle 𝜃 between two radii of a circle of radius r is

𝜃 arc length radius = r(rad).

The angular measure of a full circle is therefore 2π rad. In panel (b) of Fig. 3, a patch of area A is shown on the surface of a sphere of radius r. The boundary of A is traced out by a set of directions ξ̂. The solid angle Ω of the set of directions defining the patch A is by definition

Ω area radius squared = A r2(sr).


Figure 3: Geometry associated with the definition of plane angle (panel a) and solid angle (panel b).

Since the area of a sphere is 4πr2, the solid angle measure of the set of all directions is Ω(Ξ) = 4πsr. Note that both plane angle and solid angle are independent of the radii of the respective circle and sphere. Both plane and solid angle are dimensionless numbers. However, they are given “units” of radians and steradians, respectively, to remind us that they are measures of angle.

Consider a simple application of the definition of solid angle and the observation that a full sphere has 4πsr. The area of Brazil is 8.5 106km2 and the area of the earth’s surface is 5.1 108km2. The solid angle subtended by Brazil as seen from the center of the earth is then 4π8.5 1065.1 108 = 0.21sr.


Figure 4: Geometry used to obtain an element of solid angle in spherical coordinates.

The definition of solid angle as area on the surface of a sphere divided by radius of the sphere squared gives us a convenient form for a differential element of solid angle, as needed for computations. The blue patch shown in Fig. 4 represents a differential element of area dA on the surface of a sphere of radius r. Simple trigonometry shows that this area is dA = (r sin 𝜃dϕ)(rd𝜃). Thus the element of solid angle dΩ(ξ̂) about the direction ξ̂ = (𝜃,ϕ) is given in polar coordinate form by

dΩ(ξ̂) = dA r2 = (r sin 𝜃dϕ)(rd𝜃) r2 = sin 𝜃d𝜃dϕ = dμdϕ(sr). (7)

(The last equation is correct even though dμ = d cos 𝜃 = sin 𝜃d𝜃. When the differential element is used in an integral and variables are changed from (𝜃,ϕ) to (μ,ϕ), the Jacobian of the transformation involves an absolute value.)

Example: Solid angle of a spherical cap

To illustrate the use of Eq. (7), let us compute the solid angle of a “polar cap” of half angle 𝜃, i.e. all (𝜃,ϕ) such that 0 𝜃 𝜃 and 0 ϕ < 2π. Integrating the element of solid angle over this range of (𝜃,ϕ) gives

Ωcap =ϕ=02π𝜃=0𝜃 sin 𝜃d𝜃dϕ = 2π(1 cos 𝜃), (8)


Ωcap =ϕ=02πμ=μ1dμdϕ = 2π(1 μ). (9)

Note that Ξd and Ξu are special cases of a spherical cap (having 𝜃 = π2), and that Ω(Ξd) = Ω(Ξu) = 2πsr.

Dirac Delta functions

It is sometimes convenient to specify directions using the Dirac delta function, δ(ξ̂ ξ̂o). This peculiar mathematical construction is defined (for our purposes) by

δ(ξ̂ ξ̂o) 0ifξ̂ξ̂o, (10)


Ξf(ξ̂)δ(ξ̂ ξ̂o)dΩ(ξ̂) f(ξ̂o). (11)

Here f(ξ̂) is any function of direction. Note that δ(ξ̂ ξ̂o) simply “picks out” the particular direction ξ̂o from all directions in Ξ. Note also in Eq. (11) that because the element of solid dΩ(ξ̂) has units of steradians, it follows that δ(ξ̂ ξ̂o) has units of inverse steradians.

Equations (10) and (11) are a symbolic definition of δ. The mathematical representation of δ(ξ̂ ξ̂o) in spherical coordinates (𝜃,ϕ) is

δ(ξ̂ ξ̂o) = δ(𝜃 𝜃o)δ(ϕ ϕo) sin 𝜃 (sr1), (12)

where ξ̂ = (𝜃,ϕ),ξ̂o = (𝜃o,ϕo), and

0πf(𝜃)δ(𝜃 𝜃 o)d𝜃 f(𝜃o) 02πf(ϕ)δ(ϕ ϕ o)dϕ f(ϕo). Note that the sin 𝜃 in the denominator of Eq. (12) is necessary to cancel the sin 𝜃 factor in the element of solid angle when integrating in polar coordinates. Thus

Ξf(ξ̂)δ(ξ̂ ξ̂o)dΩ(ξ) = 02π0πf(𝜃,ϕ)δ(𝜃 𝜃o)δ(ϕ ϕo) sin 𝜃 sin 𝜃d𝜃dϕ = f(𝜃o,ϕo) = f(ξ̂o).

Likewise, we can write

δ(ξ̂ ξ̂o) = δ(μ μo)δ(ϕ ϕo)(sr1), (13)


11f(μ)δ(μ μ o)dμ f(μo).

Comments for Geometry:

Loading Conversation