Helical Diffraction Simulator (Photo 51)
Build a helix from pitch, radius, rise and strand count, and watch its X-ray diffraction pattern — the X of Photo 51 — emerge from Bessel-function layer lines.
- diffraction
- Fourier optics
- Bessel functions
- DNA
- reciprocal space
- physics
Simulated diffraction film
Hover the film to read reciprocal-space coordinates and d-spacing.
Real-space helix (the object)
Blue and orange trace the two strands; point size encodes depth.
What the pattern says
X arm angle
56.7°
steeper ⇒ smaller radius / longer pitch
Layer spacing ΔZ
0.0294 1/Å
pitch 34.0 Å
Meridional d
3.40 Å
base-pair rise
Highest visible n
10
of n_max = 10
First max of n = 1
0.0292 1/Å
⇒ r ≈ 10.02 Å
Extinct layer lines
4
strand interference
Disorder damping at n=5
0.653
Debye–Waller weight
Photo 51 similarity
100%
Layer-line profile: J_1(2πRr)²
The first maximum of Jn occurs at 2πRr = 1.841, so its radial position measures the helix radius directly. Layer-line weight here = 0.576.
Measure the helix
Put the app in blind mode, ask a partner to set the geometry, then recover it from the film alone: the layer-line spacing ΔZ gives the pitch (P = 1/ΔZ), the first maximum of layer line n = 1 gives the radius (r = 1.841/2πR), the meridional spot gives the base rise, and a missing layer line reveals the two strands and their groove asymmetry. Compare your estimates with the true values afterwards.
How this differs from the original R script
The R prototype drew four cosmetic diagonal "arms" and mis-aligned the density grid (
rep(..., each=) versus rep(..., times=)), leaving the lower half of the image a flat grey. Here the X emerges on its own from the Bessel maxima of successive layer lines — nothing about the cross is drawn by hand.