Quaternions came from Hamilton ... and have been an unmixed evil to those who have touched them in any way. Vector is a useless survival ... and has never been of the slightest use to any creature.
— Lord Kelvin
Introduction
Vector Calculus is a powerful branch of mathematics that extends traditional calculus into multiple dimensions. It enables the study of phenomena involving direction and magnitude, and serves as the mathematical foundation for fields such as physics, engineering, and computer graphics, where understanding how quantities change in space is crucial.
This interactive book combines theoretical concepts with dynamic visualizations to provide a hands-on approach to learning Vector Calculus. Unlike traditional textbooks, this online resource integrates interactive applets to help you visualize complex concepts in a way that bridges intuition with mathematical rigor. You will be able to explore the geometry of vectors is space, parametric surfaces, vector fields, gradients, divergence, curl, line and surface integrals, among other topics, through engaging simulations. These applets are built using open-source tools such as GeoGebra, Desmos, p5.js, Three.js, MathBox, and MathCell.js.
As you work through the material, you'll gain a deeper understanding of the subject and appreciate both its beauty and its practical applications in real-world scenarios.
A warning about using computers
While I advocate for using computers to aid geometric reasoning, I strongly encourage you to develop your problem-solving skills by working through the suggested exercises and filling in missing details throughout the chapters.
Think of the computer as a physicist thinks of a laboratory: a tool for testing ideas, verifying predictions, and uncovering new phenomena that inspire further inquiry. In some sections, I provide detailed instructions for exploring vector calculus with specific software. However, remember that computer hardware and software are fleeting— mathematical ideas, in contrast, are timeless.
NOTE! If you're on a mobile device, some of the applets might not work super well for you. They are designed for mouse input, so if you're getting frustrated or your finger is in the way, try the site on a computer.
Navigation
To access the chapters just click on the menu located on the left side.

To hide the navigation bar, just adjust the width of your browser. Or zoom in with the keyboard combination:
- Mac:
Command
++
- Windows:
Control
++
While exploring this book you will encounter two kinds of hidden extra notes. The first one looks like this:
Click here to expand!
Hello!
That's it! Now you can click on the same text again to
hide me!
Another type of hidden notes look like this:
Click here! 📃
Here you will find short notes, and maybe
some math jokes.
You can close this note by clicking
again on the same text.
That's it! If you are ready to start exploring
Vector Calculus, skip ahead to
Chapter 1
Acknowledgements
This book would not have been possible without a ton of people sharing their great work. As much as possible, I've tried to keep track of all the online resources, books and articles that I have used.
The designed of this website was inspired by the following projects:
- LaTeX.CSS by Vincent Dörig
- LatexCSS by David Zollikofer
- Complex Analysis by Juan Carlos Ponce Campuzano
And it was built using amazing open-source software:
Many thanks also to:
- The GeoGebra developers and community who share their wonderful constructions and applets.
- Lauren McCarthy, the creator of p5.js, and to the great community of creative people who use this programming language.
- Daniel Shiffman, an amazing teacher who shares his knowledge with the world. I have learned all the basics about programming from his books and video tutorials The Coding Train.
- Bruno Simmon, freelance, web developer, and educator. I learned the basics of Three.js from his online course Threejs Journey.
- Ricardo Cabello (Mr.doob), the creator of Three.js, and to the great community of creative people who use this JavaScript library.
- Paul Masson, the creator of MathCell. This is JavaScript library for including interactive mathematics in a web browser.
Note! This project is still under construction 🏗️.
It exists thanks to the support of my patrons:
Edward Huff, Abei, pmben, Sophia Wood (Fractal Kitty),
Adam Parrott, Doug Kuhlmann, Dennis Watson, bleh,
Miguel Díaz, Ruan Ramon, Maciej Lasota,
Christopher-Alexander Hermanns, Aarón Reyes,
Gabriela Sofia Marin Sanchez, Jerome Siegler,
Yashar Shoraka, Jeff Butterworth,
Scott Pedersen, Ihsan Karabulut,
Elias Sanchez Angarano, Emanuel Silva.
If you found this project useful, please consider becoming a member in
Patreon.
♾️ Thanks everyone!
License
This book's entire contents, including the examples, problems and applets, is released under a Creative Commons Attribution, Non-Commercial, Share-Alike license. This means:
- You're welcome to use the examples, problems and applets for your personal studies or research. If you are using this book for a project (homework or research), please cite it somewhere in your project.
- You can only use the book's text, examples, problems and applets for non-commercial projects. That means you can remix or make your own version of the book, and you can fork and create new applets, so long as they are not commercial projects (i.e. publishing a book with a publisher).
- If you do make a project that forks or remixes this book, it must be released under this same license or a looser one.
If you have any questions, please Get in touch.
If you would like to support this project, you can do it using the following links:
Thank you for your support!