In einem Kristall sind die Bestandteile (Atome, Ionen oder Moleküle) regelmäßig angeordnet. Trifft ein Röntgenstrahl auf einen Kristall, so wird er nur in bestimmte Richtungen gestreut. Diese Tatsache lässt sich erklären durch die Welleneigenschaften der Röntgenstrahlung: Wellen, die an verschiedenen, zueinander parallelen Gitterebenen (Netzebenen) reflektiert werden, haben verschieden lange Wege zurückzulegen. In den meisten Fällen löschen sich die reflektierten Wellen gegenseitig aus. Ist aber der Gangunterschied für benachbarte Gitterebenen ein ganzzahliges Vielfaches der Wellenlänge, so tritt konstruktive Interferenz auf; der Röntgenstrahl wird reflektiert.
Die Bedingung für eine solche Reflexion (Bragg-Bedingung) lautet:
Δs ... Gangunterschied (für benachbarte Strahlen)
d ... Gitterkonstante (Abstand benachbarter Gitterebenen)
θ ... Glanzwinkel (zwischen Strahl und Gitterebene)
k ... Beugungsordnung (1, 2, 3, ...)
λ ... Wellenlänge
In dieser Simulation sind mehrere Gitterebenen und die zugehörigen Strahlen sowie das Einfallslot eingezeichnet. Der Glanzwinkel ist farbig markiert (grün), ebenso der Gangunterschied für die beiden obersten Gitterebenen (rot). Nach dem Start des Programms kann man sehen, wie sich die Wellenfronten (senkrecht zu den Strahlen) weiterbewegen.
Die Schaltfläche auf der rechten Seite enthält einen Schaltknopf für den Anfangszustand ("Zurück") und einen weiteren Schaltknopf zum Starten, Unterbrechen und Fortsetzen der Animation. Die Option "Zeitlupe" bewirkt eine Verlangsamung um den Faktor 5. Im Anfangszustand lassen sich (in gewissen Grenzen) mithilfe der vier Eingabefelder die wesentlichen Größen variieren. Das Ausgabefeld unterhalb der Eingabefelder zeigt den Gangunterschied Δs an.