HomeArticlesOptics

Ice Halos and Sun Dogs: The Physics of Atmospheric Optics

Six-sided ice crystals, tumbling or drifting in cirrus clouds, bend sunlight by Snell's law into rings and bright spots at precise, predictable angles.

mysimulator teamUpdated June 2026≈ 8 min read▶ Open the simulation

Every halo starts with a hexagonal prism

High cirrus clouds are made not of liquid droplets but of tiny hexagonal ice crystals, shaped like hexagonal prisms or hexagonal plates. When sunlight passes through one, it behaves exactly like light through a glass prism: it refracts on entry, refracts again on exit, and the two refractions together bend the ray by some deviation angle that depends on which two faces of the hexagon the ray happens to cross and at what angle it entered. A cloud contains billions of these crystals in every possible tumbling orientation, and each one refracts sunlight toward the observer's eye at its own particular angle — the halo is the collective pattern all those individual rays trace out.

live demo · rays bending around a central point, like halo geometry● LIVE

The 22-degree halo: a minimum, not an average

The common ring seen around the sun or moon comes from light entering one side face of the hexagonal prism and exiting through a face at 60° to it. For ice's refractive index of about 1.31, the deviation angle this produces has a mathematical minimum of about 22°, reached when the ray passes through close to symmetrically. Deviation angles above the minimum are common — many different entry angles all deviate by roughly 22-25° and pile up near the low end of that range — but deviation below 22° is geometrically impossible for this face pair. That pile-up at the minimum, called a rainbow-type caustic, is exactly why the halo is a bright, sharp-edged ring at 22° with a visibly darker sky just inside it (called Alexander's dark band's optical cousin, the halo's own dark space) rather than a diffuse glow.

n_ice ≈ 1.31   (visible light)
prism angle A = 60°         (60° halo, common)
prism angle A = 90°         (46° halo, rare)

minimum deviation D_min = 2·arcsin(n·sin(A/2)) - A
  A = 60°  →  D_min ≈ 22°
  A = 90°  →  D_min ≈ 46°

Sun dogs: the same physics, one extra constraint

Sun dogs (parhelia) sit at the same 22° radius as the halo but only appear as two bright patches level with the sun, left and right, rather than a full ring. The difference is crystal orientation: plate-shaped crystals are wide and flat, and air resistance makes them fall with their broad hexagonal face nearly horizontal, like a leaf drifting down — they do not tumble freely the way the halo-forming prism crystals do. That fixed horizontal orientation restricts which refraction paths are geometrically available, concentrating the light at the same altitude as the sun instead of spreading it into a ring, which is why sun dogs brighten and separate from the sun as the sun gets lower in the sky and fade toward the ring shape as the sun approaches the horizon.

The rarer halos

The 46° halo comes from the 90° face pair — light entering a hexagonal end face and exiting a side face — and is much fainter because that steeper geometry loses more light to internal reflection and demands well-aligned crystals to show at all. The circumzenithal arc (CZA), often described as an upside-down rainbow arcing high overhead, comes from light entering the flat top of a horizontally oriented plate crystal and exiting a side face — a different path again, and one of the most vividly coloured of all halo phenomena because its refraction geometry disperses the different wavelengths of sunlight more cleanly than the 22° halo does.

Simulating it: Monte Carlo ray tracing through random crystals

Because a real cloud contains crystals in every orientation, halo simulators use a Monte Carlo approach rather than solving the geometry analytically: generate a large number of hexagonal crystals with orientations drawn from the appropriate distribution (uniformly random and tumbling for a 22° halo, nearly horizontal with small random tilts for sun dogs), fire a parallel ray at each one from the sun's direction, trace it through two refractions using Snell's law at each face, and accumulate where the exiting rays land relative to the sun. Firing enough rays — typically hundreds of thousands — makes the statistical density of exit angles converge on the same bright rings and arcs a real sky shows, entirely from first-principles refraction with no halo shape hard-coded in.

Frequently asked questions

Why is the halo always 22 degrees from the sun, never bigger or smaller?

It is the minimum deviation angle for light entering one face of a hexagonal prism and exiting through a face at 60 degrees to it, given ice's refractive index of about 1.31. Rays passing near a crystal's edge deviate by much more than 22 degrees, but the deviation angle has a mathematical minimum at 22 degrees, and light bunches up near that minimum for a huge range of entry angles, which is why the ring is sharp and bright at exactly that radius and essentially empty inside it.

Why do sun dogs only appear beside the sun, not above or below it?

Sun dogs form from plate-shaped ice crystals that fall with their broad hexagonal face horizontal, like flat coins drifting down through calm air. That fixed orientation restricts the refracted light to the same horizontal altitude as the sun, so the bright patches only appear left and right of it at the same height, not above or below.

Why is the 46-degree halo so much rarer than the 22-degree halo?

The 46-degree halo forms from light entering a crystal's hexagonal end face and exiting a side face, a 90-degree path rather than the 60-degree path that makes the 22-degree halo. That larger prism angle means more light is lost to internal reflection rather than transmitted, and the geometry demands more tightly aligned, high-quality crystals, so the 46-degree halo shows up far less often and much fainter than its common inner cousin.

Try it live

Everything above runs in your browser — open Ice Halos and Sun Dogs and change the parameters while it is running. Nothing is installed, nothing is uploaded, the whole model lives in one tab.

▶ Open Ice Halos and Sun Dogs simulation

What did you find?

Add reproduction steps (optional)