Welcome to this curated collection of Jupyter Notebooks designed to help you learn and explore VPython in a step-by-step, beginner-friendly manner.
✍️ Some notebooks are created from scratch, while others are inspired by or adapted from online sources like YouTube tutorials and blogs. All are commented thoroughly to help you understand VPython easily.
VPython (Visual Python) allows you to create 3D animations and simulations easily using Python. It's perfect for physics visualizations, simulations, and interactive environments.
Before diving into VPython, you should have:
- ✅ Basic knowledge of Python programming
- ✅ Curiosity and enthusiasm to build visual simulations!
👆Click to close Notebook List
001-intro-to-basics.ipynb
- You will learn the basics of vpython002-basic-animations.ipynb
- How to animate things (objects)003-bouncing-ball.ipynb
- Bouncing ball 3D animation (very simple logic)004-animating-by-changing-dimensions.ipynb
- Another way of animating the objects005-thermometer-3d.ipynb
- Thermometer 3D animation006-non-blocking-dual-animation.ipynb
- Animating objects at the same time (without using threading)007-mixing-colours.ipynb
- To get and unleash the new colors008-colour-varying-orb.ipynb
- Understanding the RGB009-orientation-axis.ipynb
- Know the difference between oreintation and axis010-analog-clock.ipynb
- Analog clock 3D animation011-accurate-analog-clock.ipynb
- Accurate analog clock using Time Module012-labels-and-text.ipynb
- Labels and texts013-widgets.ipynb
- Widgets to vary the parameters instantly during the animation014-thousand-cubes.py
- A mind exercise to understand the colors and object positioning
and many more to come...
Each notebook:
- ✅ Covers a specific VPython concept
- ✅ Has step-by-step comments to guide you like a tutor 👨🏫
- ✅ Is written in simple, beginner-friendly language

🧪 You’ll be building things like:
- 🧊 3D shapes (spheres, boxes, cones, etc.)
- ⚙️ Simple physical simulations (projectiles, orbits)
- 🧲 Real-world visualisations (magnetism, springs, collisions)
To run these VPython notebooks, make sure you have the following installed:
- Python (version 3.7 or higher)
- Jupyter Notebook or JupyterLab
You can install Jupyter using pip:
pip install notebook
💡 Note Before Using
pip
:
If you're using Python for the first time:✅ Make sure
pip
is installed. It usually comes with Python 3.4+, but in case it's missing:
👉 Official pip installation guide🛠️ Also ensure that Python and pip are added to your system's PATH so they can be used from the terminal or command prompt:
On Windows:
When installing Python, make sure to check ✅ the box that says
"Add Python to PATH"
during setup.On macOS/Linux:
Python and pip are usually in PATH by default, but if needed, you can manually add them by editing.bashrc
,.zshrc
, or.bash_profile
.🔍 To test if pip is correctly installed and in your PATH, run:
pip --versionIf you see a version number, you’re good to go! ✅
📦 Python Libraries vpython – for 3D simulations
pip install vpython
💡 While not strictly required, these tools can enhance your VPython learning experience! You only need one of these options below. Choose whichever suits you best!
-
🐍 Anaconda Distribution
Combines Python, Jupyter, and many scientific libraries into a single, easy-to-install package.
👉 Download Anaconda -
💻 Visual Studio Code (VS Code)
A powerful, lightweight code editor with support for Jupyter notebooks through extensions.
👉 Download VS Code
-
🧠 Wikipedia Overview:
Learn the history, applications, and evolution of VPython.
🔗 https://en.wikipedia.org/wiki/VPython -
📘 Official VPython Documentation:
This is the most detailed and structured guide to every VPython function, class, and concept.
🔗 https://www.glowscript.org/docs/VPythonDocs/index.html -
🎥 Search YouTube for VPython Tutorials:
Visual learners can find dozens of tutorials demonstrating simulations like orbits, bouncing balls, pendulums, etc.
Try searching:vpython tutorial for beginners
I'm always open to collaboration, feedback, or simply a friendly tech chat!
Feel free to reach out through any of the platforms below:
🌟 Like this project? Don't forget to ⭐ star the repo!