
Understanding Optics with Python
- 359 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Understanding Optics with Python
About this book
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 book's website.
-
- Discusses most standard topics of traditional physical and geometrical optics through Python and PyQt5
-
- Provides visualizations and in-depth descriptions of Python's 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 book's 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
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
1 | Introduction to Python |
https://www.python.org/) is an interpreted, interactive, object-oriented programming language that is opensource and easy to learn. It provides high level data structures such as associative arrays called dictionaries, dynamic typing and dynamic binding, modules, classes, exceptions, automatic memory management, etc. It has a remarkably simple and elegant syntax that allows programmers proficient in any other language to pick up the Python syntax very quickly. Beginners will find the clean syntax and indentation structure easy to learn. Python is used for software development at companies and organizations such as Google, Yahoo, CERN, NASA, etc., and the list only keeps growing.https://docs.python.org/3/library/. In addition to the standard library, there is a growing collection of several thousand user contributions that vary in complexity from individual programs and modules to packages and entire application development frameworks, which are available from the Python Package Index (https://pypi.python.org/pypi).www.python.org. There are downloadable versions for many operating systems and computer types. Once the installation of Python from www.python.org is completed succesfully, you will have the Python interpreter and the standard library in your computer. We will be using in this book some other libraries in addition to the standard library. Hence, you will have to install these additional libraries one by one. The problem is that some of these libraries might have dependencies that could frustrate a beginner in the process of installation. An alternative solution is to install a distribution of Python that has all these libraries preinstalled. This will solve the problem and one can then go safely through all the chapters of this book.www.python.org, distributors of the language, some of who are commercial, have added features beyond the language, such as, a number of preinstalled software packages, better development environments, program debuggers, and editors. However, sometimes these distributions may have connections to operating system features. Figure 1.1 shows the general picture for a few distributions.www.python.org, and then add their own branding. Each of those branded distributions copy from the c...Table of contents
- Cover
- Half Title
- Title Page
- Copyright Page
- Dedication
- Table of Contents
- Preface
- Chapter 1 Introduction to Python
- Chapter 2 GUI Programming with Python and Qt
- Chapter 3 Electromagnetic Waves
- Chapter 4 Radiometry and Photometry
- Chapter 5 Fermat’s Principle, Reflection, and Refraction
- Chapter 6 Lenses and Mirrors
- Chapter 7 Thick Lenses and Lens Systems
- Chapter 8 Polarization
- Chapter 9 Interference
- Chapter 10 Coherence
- Chapter 11 Diffraction
- Appendix A Fresnel Integrals
- Index