Preface |
|
xiii | |
Chapter 1 Introduction to Python |
|
1 | (40) |
|
|
1 | (1) |
|
|
2 | (4) |
|
1.2.1 Which Distribution Do We Need? |
|
|
2 | (1) |
|
1.2.2 Installing Anaconda |
|
|
3 | (1) |
|
1.2.3 The Anaconda Navigator |
|
|
3 | (3) |
|
1.2.3.1 How to Start Anaconda Navigator |
|
|
4 | (1) |
|
1.2.3.2 Jupyter/IPython QtConsole |
|
|
4 | (1) |
|
|
5 | (1) |
|
1.3 Coding with Jupyter/IPython QtConsole |
|
|
6 | (16) |
|
|
6 | (1) |
|
|
7 | (1) |
|
1.3.3 Use Python As a Calculator |
|
|
7 | (2) |
|
|
7 | (1) |
|
|
8 | (1) |
|
1.3.4 Variables and Reserved Keywords |
|
|
9 | (1) |
|
|
9 | (1) |
|
|
10 | (1) |
|
|
10 | (9) |
|
|
11 | (4) |
|
|
15 | (2) |
|
|
17 | (1) |
|
|
18 | (1) |
|
|
19 | (3) |
|
1.3.6.1 Condition Checking |
|
|
19 | (1) |
|
1.3.6.2 The if/elif/else Construction |
|
|
20 | (1) |
|
1.3.6.3 The for/range Loop |
|
|
20 | (1) |
|
|
21 | (1) |
|
1.3.6.5 Continue and Break |
|
|
21 | (1) |
|
|
22 | (4) |
|
|
22 | (1) |
|
1.4.2 Write and Run Python Scripts with Spyder |
|
|
23 | (1) |
|
|
23 | (2) |
|
|
25 | (1) |
|
1.5 Widely Used Python Libraries for Science and Engineering |
|
|
26 | (14) |
|
1.5.1 Numerical Python Library: NumPy |
|
|
26 | (5) |
|
1.5.1.1 Creating Numpy Arrays |
|
|
26 | (1) |
|
1.5.1.2 Using Array-Generating Functions |
|
|
27 | (2) |
|
|
29 | (1) |
|
|
30 | (1) |
|
1.5.2 Data Visualization Python Library: matplot lib |
|
|
31 | (4) |
|
|
31 | (1) |
|
|
32 | (1) |
|
1.5.2.3 Basic Text Commands |
|
|
33 | (1) |
|
1.5.2.4 Line and Marker Styles |
|
|
33 | (2) |
|
1.5.3 Scientific Python Library: scipy |
|
|
35 | (6) |
|
1.5.3.1 Special Functions |
|
|
36 | (1) |
|
|
36 | (1) |
|
1.5.3.3 Fresnel Integrals |
|
|
37 | (2) |
|
|
39 | (1) |
|
|
40 | (1) |
Chapter 2 GUI Programming with Python and Qt |
|
41 | (34) |
|
2.1 First Steps in GUI Application using PyQt5 |
|
|
41 | (13) |
|
2.1.1 Importing PyQt5 and Creating a PyQt5 Window |
|
|
41 | (2) |
|
|
43 | (11) |
|
2.1.2.1 PyQT Application Structure |
|
|
43 | (1) |
|
2.1.2.2 Widgets, Events, and Signals |
|
|
44 | (1) |
|
|
44 | (2) |
|
|
46 | (2) |
|
|
48 | (3) |
|
|
51 | (3) |
|
|
54 | (19) |
|
2.2.1 The Qt Designer Window |
|
|
55 | (1) |
|
2.2.2 The Property Editor |
|
|
55 | (1) |
|
|
56 | (1) |
|
2.2.4 Qt Designer Preview |
|
|
56 | (1) |
|
|
57 | (1) |
|
|
58 | (1) |
|
2.2.7 An Example: Fraunhoffer Diffraction |
|
|
59 | (2) |
|
2.2.8 Conversion from UI file to Python Code |
|
|
61 | (8) |
|
2.2.8.1 Using Line Command |
|
|
62 | (1) |
|
2.2.8.2 Using a Python Code |
|
|
63 | (6) |
|
2.2.9 The Application: Fraunhofer Diffraction |
|
|
69 | (4) |
|
|
73 | (1) |
|
|
73 | (2) |
Chapter 3 Electromagnetic Waves |
|
75 | (18) |
|
|
75 | (1) |
|
3.2 Maxwell's Equations and Electromagnetic Waves |
|
|
75 | (1) |
|
|
76 | (6) |
|
|
82 | (1) |
|
3.5 Phase Velocity and Group Velocity |
|
|
83 | (2) |
|
|
85 | (1) |
|
3.7 Python Code for Drawing a Wave |
|
|
86 | (7) |
Chapter 4 Radiometry and Photometry |
|
93 | (10) |
|
|
93 | (3) |
|
|
96 | (7) |
Chapter 5 Fermat's Principle, Reflection, and Refraction |
|
103 | (16) |
|
|
103 | (1) |
|
|
103 | (1) |
|
|
104 | (2) |
|
|
105 | (1) |
|
|
106 | (1) |
|
5.5 Refraction and Snell's Law |
|
|
107 | (7) |
|
|
111 | (2) |
|
|
113 | (1) |
|
|
114 | (5) |
Chapter 6 Lenses and Mirrors |
|
119 | (18) |
|
|
119 | (1) |
|
|
119 | (1) |
|
6.3 Paraxial Approximation |
|
|
120 | (1) |
|
6.4 Refractive Power of a Spherical Surface |
|
|
120 | (2) |
|
|
122 | (1) |
|
|
123 | (1) |
|
|
123 | (7) |
|
|
130 | (1) |
|
6.9 Image Formation by Lenses |
|
|
131 | (2) |
|
|
133 | (1) |
|
|
134 | (3) |
Chapter 7 Thick Lenses and Lens Systems |
|
137 | (14) |
|
|
137 | (9) |
|
|
138 | (3) |
|
|
141 | (4) |
|
|
145 | (1) |
|
7.2 Multiple Refracting Surfaces |
|
|
146 | (5) |
Chapter 8 Polarization |
|
151 | (28) |
|
|
151 | (4) |
|
8.2 Circular Polarization |
|
|
155 | (2) |
|
8.3 Elliptical Polarization |
|
|
157 | (11) |
|
|
168 | (1) |
|
|
169 | (4) |
|
8.5.1 Linear Polarization |
|
|
170 | (1) |
|
8.5.2 Circular Polarization |
|
|
170 | (2) |
|
8.5.3 Elliptical Polarization |
|
|
172 | (1) |
|
|
173 | (5) |
|
|
173 | (1) |
|
8.6.2 Half-Wave and Quarter-Wave Plates |
|
|
174 | (2) |
|
8.6.3 Circular Polarization |
|
|
176 | (1) |
|
8.6.4 Elliptical Polarization |
|
|
177 | (1) |
|
|
178 | (1) |
Chapter 9 Interference |
|
179 | (92) |
|
|
179 | (17) |
|
9.1.1 Necessary Conditions |
|
|
179 | (11) |
|
|
183 | (2) |
|
9.1.1.2 Waves Identically Polarized |
|
|
185 | (1) |
|
9.1.1.3 Asynchronous Waves with Constant Initial Phase Shift |
|
|
185 | (1) |
|
9.1.1.4 Synchronous Waves with Constant Initial Phase Shift |
|
|
186 | (1) |
|
9.1.1.5 Synchronous Waves with Random Initial Phase Shift |
|
|
187 | (1) |
|
9.1.1.6 Synchronous Waves with Constant Initial Phase Shift and Arbitrary Polarization |
|
|
188 | (1) |
|
|
189 | (1) |
|
9.1.2 Beat and Propagation Velocity |
|
|
190 | (6) |
|
9.1.2.1 Group Velocity and Phase Velocity |
|
|
194 | (2) |
|
|
196 | (25) |
|
|
196 | (7) |
|
9.2.1.1 Optical Path Difference and Phase Shift |
|
|
197 | (1) |
|
9.2.1.2 Slits of Arbitrary Width |
|
|
198 | (2) |
|
9.2.1.3 Infinitely Thin Slits and Fringe Width |
|
|
200 | (1) |
|
9.2.1.4 Contrast or Visibility |
|
|
201 | (2) |
|
9.2.1.5 Fringe Orientation |
|
|
203 | (1) |
|
|
203 | (4) |
|
9.2.2.1 OPD and Phase Shift |
|
|
205 | (2) |
|
|
207 | (4) |
|
9.2.3.1 OPD and Phase Shift |
|
|
208 | (3) |
|
|
211 | (5) |
|
9.2.4.1 OPD and Phase Shift |
|
|
213 | (3) |
|
|
216 | (5) |
|
9.2.5.1 OPD and Phase Shift |
|
|
217 | (4) |
|
|
221 | (1) |
|
|
221 | (50) |
|
9.3.1 Parallel-Faced Plates |
|
|
222 | (8) |
|
9.3.1.1 General Considerations |
|
|
222 | (2) |
|
|
224 | (6) |
|
|
230 | (11) |
|
|
230 | (5) |
|
|
235 | (6) |
|
9.3.3 Michelson Interferometer |
|
|
241 | (8) |
|
9.3.3.1 Fringes of Equal Inclination |
|
|
242 | (2) |
|
9.3.3.2 Fringes of Equal Thickness |
|
|
244 | (5) |
|
9.3.4 Mach-Zehnder Interferometer |
|
|
249 | (7) |
|
9.3.5 Fabry-Perot Interferometer |
|
|
256 | (16) |
|
9.3.5.1 Interferometer Efficiency |
|
|
264 | (7) |
Chapter 10 Coherence |
|
271 | (20) |
|
|
272 | (7) |
|
|
272 | (4) |
|
|
276 | (3) |
|
|
279 | (12) |
|
|
280 | (1) |
|
10.2.2 Finite Number of Wavelengths |
|
|
280 | (3) |
|
10.2.3 Rectangular Continuum Spectra |
|
|
283 | (2) |
|
|
285 | (6) |
Chapter 11 Diffraction |
|
291 | (56) |
|
11.1 Fraunhofer Diffraction |
|
|
291 | (26) |
|
11.1.1 Rectangular Aperture |
|
|
291 | (7) |
|
|
298 | (1) |
|
|
299 | (5) |
|
11.1.3.1 Two Slits of Different Widths |
|
|
299 | (4) |
|
11.1.3.2 Two Identical Slits: Young Double Slits |
|
|
303 | (1) |
|
11.1.4 Diffraction Grating |
|
|
304 | (5) |
|
|
309 | (8) |
|
|
310 | (1) |
|
11.1.5.2 Rayleigh Criteria |
|
|
311 | (6) |
|
|
317 | (30) |
|
|
317 | (6) |
|
11.2.1.1 Diffracted Intensity |
|
|
317 | (3) |
|
11.2.1.2 Fresnel Integrals Properties |
|
|
320 | (3) |
|
|
323 | (14) |
|
11.2.2.1 Clothoid Properties |
|
|
323 | (4) |
|
11.2.2.2 Diffraction by a Single Slit |
|
|
327 | (6) |
|
11.2.2.3 Diffraction by an Edge |
|
|
333 | (4) |
|
11.2.3 Diffraction by a Single Slit |
|
|
337 | (3) |
|
11.2.4 Diffraction by an Edge |
|
|
340 | (7) |
Appendix A Fresnel Integrals |
|
347 | (6) |
Index |
|
353 | |