Foucault Knife Edge Test

Scott Prahl

April 2021

[1]:
import numpy as np
import matplotlib.pyplot as plt
from lenstest import foucault
import lenstest

%config InlineBackend.figure_format='retina'

Overview

A Foucault knife edge test is a method used to measure the curvature of a mirror or lens. It is named after the French physicist Léon Foucault, who developed the technique in the 19th century.

The basic setup for a Foucault knife edge test consists of and illuminated pinhole size source, a knife edge, and the mirror or lens being tested. The pinhole source is placed at one center of curvature of a mirror (or say twice the focal distance of a lens), and the knife edge is placed near the image of the pinhole.

The knife edge is translated across the optical axis and the image of the light spot on a screen placed behind the lens or mirror is observed. As the knife edge is moved, the position of the light spot on the screen will change in a way that is related to the curvature of the lens or mirror. By measuring the position of the light spot on the screen as the knife edge is moved, it is possible to determine the curvature of the lens or mirror.

[2]:
D = 200
RoC = 400
z_offset = -10
x_offset = 1
conic = 0
phi = np.radians(-90)

fig, ax = foucault.plot_mirror_layout(D, RoC, x_offset, z_offset)
plt.show()

foucault.plot_mirror_layout(D, RoC, x_offset, z_offset)
plt.title("close-up near focus")
plt.xlim(-20,20)
plt.ylim(-20,20)
plt.draw()
_images/foucault_3_0.png
_images/foucault_3_1.png
[3]:
foucault.plot_mirror_layout(D, RoC, x_offset, z_offset)
plt.xlim(-20,20)
plt.ylim(-20,20)
plt.draw()
_images/foucault_4_0.png
[4]:
foucault.plot_lens_layout(D, RoC, x_offset, z_offset)
plt.show()
_images/foucault_5_0.png
[5]:
D = 200
RoC = 400
z_offset = 10
x_offset = -0.5
conic = 0
phi = np.radians(0)

foucault.plot_lens_layout(D, RoC, x_offset, z_offset)
plt.show()

foucault.plot_knife_and_screen(D, RoC, x_offset, z_offset, phi=phi)
plt.show()
_images/foucault_6_0.png
_images/foucault_6_1.png