Atjaunināt sīkdatņu piekrišanu

Understanding Optics with Python [Hardback]

(University Tunis El Manar, Tunisia), (University Tunis El Manar, Tunisia), (University of Waterloo, Ontario, Canada), (L.V. Prasad Eye Institute, Hyderabad, PIN, India)
  • Formāts: Hardback, 359 pages, height x width: 234x156 mm, weight: 771 g, 5 Tables, black and white; 32 Illustrations, color; 164 Illustrations, black and white
  • Sērija : Multidisciplinary and Applied Optics
  • Izdošanas datums: 16-Feb-2018
  • Izdevniecība: CRC Press Inc
  • ISBN-10: 1498755046
  • ISBN-13: 9781498755047
Citas grāmatas par šo tēmu:
  • Hardback
  • Cena: 191,26 €
  • Grāmatu piegādes laiks ir 3-4 nedēļas, ja grāmata ir uz vietas izdevniecības noliktavā. Ja izdevējam nepieciešams publicēt jaunu tirāžu, grāmatas piegāde var aizkavēties.
  • Daudzums:
  • Ielikt grozā
  • Piegādes laiks - 4-6 nedēļas
  • Pievienot vēlmju sarakstam
  • Bibliotēkām
  • Formāts: Hardback, 359 pages, height x width: 234x156 mm, weight: 771 g, 5 Tables, black and white; 32 Illustrations, color; 164 Illustrations, black and white
  • Sērija : Multidisciplinary and Applied Optics
  • Izdošanas datums: 16-Feb-2018
  • Izdevniecība: CRC Press Inc
  • ISBN-10: 1498755046
  • ISBN-13: 9781498755047
Citas grāmatas par šo tēmu:
Optics is an enabling science that forms a basis for our technological civilization. Courses in optics are a required part of the engineering or physics undergraduate curriculum in many universities worldwide. The aim of Understanding Optics with Python is twofold: first, to describe certain basic ideas of classical physical and geometric optics; second, to introduce the reader to computer simulations of physical phenomena. The text is aimed more broadly for those who wish to use numerical/computational modeling as an educational tool that promotes interactive teaching (and learning). In addition, it offers an alternative to developing countries where the necessary equipment to carry out the appropriate experiments is not available as a result of financial constraints. This approach contributes to a better diffusion of knowledge about optics. The examples given in this book are comparable to those found in standard textbooks on optics and are suitable for self-study. This text enables the user to study and understand optics using hands-on simulations with Python. Python is our programming language of choice because of its open-source availability, extensive functionality, and an enormous online support. Essentials of programming in Python 3.x, including graphical user interface, are also provided. The codes in the book are available for download on the books website.











Discusses most standard topics of traditional physical and geometrical optics through Python and PyQt5











Provides visualizations and in-depth descriptions of Pythons programming language and simulations











Includes simulated laboratories where students are provided a "hands-on" exploration of Python software











Coding and programming featured within the text are available for download on the books corresponding website.

"Understanding Optics with Python by Vasudevan Lakshminarayanan, Hassen Ghalila, Ahmed Ammar, and L. Srinivasa Varadharajan is born around a nice idea: using simulations to provide the students with a powerful tool to understand and master optical phenomena. The choice of the Python language is perfectly matched with the overall goal of the book, as the Python language provides a completely free and easy-to-learn platform with huge cross-platform compatibility, where the reader of the book can conduct his or her own numerical experiments to learn faster and better." Costantino De Angelis, University of Brescia, Italy

"Teaching an important programming language like Python through concrete examples from optics is a natural and, in my view, very effective approach. I believe that this book will be used by students and appreciated greatly by instructors. The topic of modelling optical effects and systems where the students should already have a physical background provides great motivation for students to learn the basics of a powerful programming language without the intimidation factor that often goes with a formal computer science course." John Dudley, FEMTO-ST Institute, Besanēon, France

Recenzijas

"Understanding Optics with Python by Vasudevan Lakshminarayanan, Hassen Ghalila, Ahmed Ammar and Srinivasa Varadharajan is born around a nice idea: using simulations to provide the students with a powerful tool to understand and master optical phenomena. The choice of the python language is perfectly matched with the overall goal of the book, as the python language provides a completely free and easy to learn platform with huge cross platform compatibility, where the reader of the book can conduct his own numerical experiments to learn faster and better." Costantino De Angelis, University of Brescia, Italy

"Teaching an important programming language like Python through concrete examples from optics is a natural and, in my view, very effective approach. I believe that this book will be used by students and appreciated greatly by instructors. The topic of modelling optical effects and systems where the students should already have a physical background provides great motivation for students to learn the basics of a powerful programming language without the intimidation factor that often goes with a formal computer science course." John Dudley, FEMTO-ST Institute, Besanēon, France

"This book is unusual in that it serves two purposes: teaching the students to program using a simple, open-access programing environment, and learning optics along the way. The list of topics in optics covered by the book is quite broad. The first part of the book focuses more on the Python side, introducing methodically and clearly the different aspects of programming in this language. However, even from some of the early examples, basic concepts and functions in optics start to be used. This way, the student practices her/his programming skills but at the same time gets familiar with the mathematical tools that will be useful when the book transitions into optics. This book would be very well fit for an advanced undergraduate course or even a first year graduate course." Miguel Alonso, University of Rochester, New York, USA

"This highly recommended textbook provides an innovative approach to learning geometrical and physical optics. The book simultaneously solves two pedagogical requirements: how to code with Python and how to simulate optical phenomenon. A bibliography and an index are provided, and the books website contains all of the codes and programs. It is suitable for undergraduate and graduate students."

Barry R. Masters, Fellow of AAAS, OSA and SPIE

Preface xiii
Chapter 1 Introduction to Python 1(40)
1.1 Why Python?
1(1)
1.2 Python Setup
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)
1.2.3.3 Spyder
5(1)
1.3 Coding with Jupyter/IPython QtConsole
6(16)
1.3.1 Comments
6(1)
1.3.2 Hello World!
7(1)
1.3.3 Use Python As a Calculator
7(2)
1.3.3.1 Numbers
7(1)
1.3.3.2 Values and Types
8(1)
1.3.4 Variables and Reserved Keywords
9(1)
1.3.4.1 Variables
9(1)
1.3.4.2 Keywords
10(1)
1.3.5 Container Types
10(9)
1.3.5.1 Strings
11(4)
1.3.5.2 Lists
15(2)
1.3.5.3 Tuples
17(1)
1.3.5.4 Dictionaries
18(1)
1.3.6 Control Structures
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)
1.3.6.4 The while Loop
21(1)
1.3.6.5 Continue and Break
21(1)
1.4 Modules and Scripts
22(4)
1.4.1 Modules
22(1)
1.4.2 Write and Run Python Scripts with Spyder
23(1)
1.4.3 Defining Functions
23(2)
1.4.4 Classes
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)
1.5.1.3 Index Slicing
29(1)
1.5.1.4 Read/Write Data
30(1)
1.5.2 Data Visualization Python Library: matplot lib
31(4)
1.5.2.1 Getting Started
31(1)
1.5.2.2 Multiple Axes
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)
1.5.3.2 Bessel Functions
36(1)
1.5.3.3 Fresnel Integrals
37(2)
1.5.3.4 Interpolation
39(1)
1.6 Conclusion
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)
2.1.2 PyQt Classes
43(11)
2.1.2.1 PyQT Application Structure
43(1)
2.1.2.2 Widgets, Events, and Signals
44(1)
2.1.2.3 QLabel
44(2)
2.1.2.4 QPushButton
46(2)
2.1.2.5 QSpinBox
48(3)
2.1.2.6 QSlider
51(3)
2.2 The Qt Designer
54(19)
2.2.1 The Qt Designer Window
55(1)
2.2.2 The Property Editor
55(1)
2.2.3 Layout
56(1)
2.2.4 Qt Designer Preview
56(1)
2.2.5 Qt Ui File
57(1)
2.2.6 Matplotlib Widget
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)
2.3 Coding GUI Elements
73(1)
2.4 Conclusion
73(2)
Chapter 3 Electromagnetic Waves 75(18)
3.1 Introduction
75(1)
3.2 Maxwell's Equations and Electromagnetic Waves
75(1)
3.3 Wave Equation
76(6)
3.4 Poynting Vector
82(1)
3.5 Phase Velocity and Group Velocity
83(2)
3.6 Harmonic Waves
85(1)
3.7 Python Code for Drawing a Wave
86(7)
Chapter 4 Radiometry and Photometry 93(10)
4.1 Radiometry
93(3)
4.2 Photometry
96(7)
Chapter 5 Fermat's Principle, Reflection, and Refraction 103(16)
5.1 Introduction
103(1)
5.2 Fermat's Principle
103(1)
5.3 Reflection
104(2)
5.3.1 Plane Mirrors
105(1)
5.4 Fresnel Reflection
106(1)
5.5 Refraction and Snell's Law
107(7)
5.5.1 Apparent Depth
111(2)
5.5.2 Glass Slab
113(1)
5.6 The Ray Equation
114(5)
Chapter 6 Lenses and Mirrors 119(18)
6.1 Introduction
119(1)
6.2 Sign Convention
119(1)
6.3 Paraxial Approximation
120(1)
6.4 Refractive Power of a Spherical Surface
120(2)
6.5 Focal Lengths
122(1)
6.6 Ray Diagrams
123(1)
6.7 Magnification
123(7)
6.8 Lensmaker's Formula
130(1)
6.9 Image Formation by Lenses
131(2)
6.10 Newton's Formula
133(1)
6.11 Spherical Mirrors
134(3)
Chapter 7 Thick Lenses and Lens Systems 137(14)
7.1 Cardinal Points
137(9)
7.1.1 Focal Points
138(3)
7.1.2 Principal Points
141(4)
7.1.3 Nodal Planes
145(1)
7.2 Multiple Refracting Surfaces
146(5)
Chapter 8 Polarization 151(28)
8.1 Linear Polarization
151(4)
8.2 Circular Polarization
155(2)
8.3 Elliptical Polarization
157(11)
8.4 Malus's Law
168(1)
8.5 Jones Vector
169(4)
8.5.1 Linear Polarization
170(1)
8.5.2 Circular Polarization
170(2)
8.5.3 Elliptical Polarization
172(1)
8.6 Jones Matrices
173(5)
8.6.1 Linear Polarizer
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)
8.7 Optical Rotation
178(1)
Chapter 9 Interference 179(92)
9.1 Generalities
179(17)
9.1.1 Necessary Conditions
179(11)
9.1.1.1 Polarization
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)
9.1.1.7 Fringe Width
189(1)
9.1.2 Beat and Propagation Velocity
190(6)
9.1.2.1 Group Velocity and Phase Velocity
194(2)
9.2 Wavefront Division
196(25)
9.2.1 Young Double Slits
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)
9.2.2 Lloyd Mirror
203(4)
9.2.2.1 OPD and Phase Shift
205(2)
9.2.3 Fresnel Mirrors
207(4)
9.2.3.1 OPD and Phase Shift
208(3)
9.2.4 Fresnel Biprism
211(5)
9.2.4.1 OPD and Phase Shift
213(3)
9.2.5 Billet Bilens
216(5)
9.2.5.1 OPD and Phase Shift
217(4)
9.2.6 Meslin Lenses
221(1)
9.3 Amplitude Division
221(50)
9.3.1 Parallel-Faced Plates
222(8)
9.3.1.1 General Considerations
222(2)
9.3.1.2 Glass Plates
224(6)
9.3.2 Corners
230(11)
9.3.2.1 Newton's Rings
230(5)
9.3.2.2 Prismatic Plates
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)
10.1 Spatial Coherence
272(7)
10.1.1 Double Mirrors
272(4)
10.1.2 Broad Slit
276(3)
10.2 Temporal Coherence
279(12)
10.2.1 White Light
280(1)
10.2.2 Finite Number of Wavelengths
280(3)
10.2.3 Rectangular Continuum Spectra
283(2)
10.2.4 Gaussian Profile
285(6)
Chapter 11 Diffraction 291(56)
11.1 Fraunhofer Diffraction
291(26)
11.1.1 Rectangular Aperture
291(7)
11.1.2 Single Slit
298(1)
11.1.3 Double Slit
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)
11.1.5 Circular Aperture
309(8)
11.1.5.1 Point Source
310(1)
11.1.5.2 Rayleigh Criteria
311(6)
11.2 Fresnel Diffraction
317(30)
11.2.1 Fresnel Integrals
317(6)
11.2.1.1 Diffracted Intensity
317(3)
11.2.1.2 Fresnel Integrals Properties
320(3)
11.2.2 Clothoid
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
VL (Ph.D., UC Berkeley) is currently at University of Waterloo, where he is a professor of vision science, physics, electrical and computer engineering and systems design engineering. He has been a KITP Scholar at the Kavli Institute for Theoretical Physics at UC Santa Barbara, an associate of the Michigan Center for Theoretical Physics and has held research and teaching positions (as well as visiting professorships) at UC Irvine, UC Berkeley, the Indian Institute of Technology at Delhi and Madras, the University of Michigan and the University of Missouri amongst others.He is a fellow of a number of professional societies such as the American Physical Society, AAAS, Optical Society of America, SPIE the International Society for Optical Engineering,, Institute of Physics (UK), etc., a AAAS Science and Technology Policy Fellowship finalist, and has worked in a number of areas ranging from quantum physics and spectroscopy,to bioengineering, mathematical optics, image processing, optometry, ophthalmology and cognitive science. He has published over 300 papers, chapters, etc. as well as a editor/coauthor of about 15 books,and is the recipient of a number of awards including the SPIE Optics educator award (2011)and the Esther Beller Hoffman medal of OSA (2013). He serves as a consultant for the medical devices branch of the US FDA. He is a member of various panels of the National Institutes of Health, as well as the editorial boards of a number of journals including Journal of Modern Optics published by Taylor and Francis. He is a founding member of the UNESCO ALOP project and is on the optics advisory committee of the Abdus Salam International Center for Theoretical Physics. He is also the chief scientist of an educational technology start up in Hamilton, Ontario









Hassen Ghalila is a Professor of Physics in the Laboratoire de Spectroscopie Atomique Moléculaire et Applications (LSAMA) in the Department of Physics - Faculty of Sciences of Tunis - Tunis El Manar University. He received his Ph.D. from Orsay-Paris XI on numerical codes for plasma physics and microwave tubes. Since 2005 he has been the leader of the Experimental and Numerical and Simulations modeling team at LSAMA laboratory. Most of his publications are in topics ranging from laboratory plasma spectroscopy to ionospheric plasma. He is currently the local coordinator of the International Space Weather Initiative (ISWI) program. He is also the general secretary of the Tunisian Optical Society (STO) which is dedicated to outreach program in the field of optics.



Ahmed Ammar is a PhD graduate in Physics at the Laboratoire de Spectroscopie Atomique Moléculaire et Applications (LSAMA) in the Department of Physics - Faculty of Sciences of Tunis - Tunis El Manar University. His PhD research focuses on studying ionospheric disturbances through radio-VLF waves propagation, such as effect of solar flares and solar eclipses on the ionospheric D-region. His activities on many science-outreach programs in Tunisia led him to his research topic. Indeed, he has been an amateur astronomer since 2006 and currently he is the scientific director at the Astronomical Society of Tunisia (SAT) and member of steering committee of the Tunisian Optical Society (STO). He is a Python developer and participated in many workshops in the use of Python as a suitable and efficient programming language to teach and learn Physics and specifically Optics simulation. He is also member of the Experimental, Numerical and Simulations modeling team at LSAMA laboratory and member of the Tunisian team of the ISWI program (International Space Weather Initiative).



L. Srinivasa Varadharajan(Rajan) is a Research Scientist at the L V Prasad Eye Institute in Hyderabad, India. A physicist turned vision scientist, Rajan studies various low level visual functions using psychophysical techniques. He is a two time recipient ofof the Best Junior Faculty award at his earlier employments. He was a founding member and the Optics curriculum coordinator for what is now known as the Common Minimum Optometry Curriculum for India (2009) which is used as the gold standard for Optometric education in India. He also served as the a member of the task force constituted by the Ministry of Women and Family Welfare, Government of India, that deals with setting standards for the profession of Optometry in India. He has supervised a large number of undergraduate and postgraduate student research projects and has published widely in the fields of spatial vision, visual psychophysics, signal processing, etc.