Jake's Physics Things
I have made some visualizations/interactives/simulations to help explain certain physics concepts.
Note: Simulations are designed to be viewed on a computer with a large browser window. Graphical issues will likely occur if using a phone or smaller window.
Interactives
Mechanics
-
Rolling Motion
Simulate rolling motion as different combinations of translational/rotational motion. View velocity vectors at different locations (either as components, or the net velocity) to develop intuition for the no-slip condition. Track a point on the edge of the wheel to develop intuition for how its motion changes as the wheel rolls.
Oscillations & Waves
-
Oscillator Phase (old, loads slowly)
Visualizing simple harmonic motion as a mass lined up with a rotating phase circle. Adjustable phase constant and omega. -
Graphing Wave Functions
Using an animated wave, this visual helps understand the process of making graphs for y(x) and y(t) to illustrate what they mean. To create a y(x) graph you "take a snapshot", and to create a y(t) graph you can select a particle to track.
Electricity & Magnetism
-
Electric Potential
This visual allows students to visualize electric potential through a gravitational analogy. You can place positive and negative charges in 2D and view equipotentials. It is then possible to switch to a 3D view which plots the electic potential as height. You can also add test charges and simulate how they move under the influence of the electric field.
About
Suggestions
I'm looking for more ideas! If you have additional ideas for other visuals that would be helpful, and don't already exist, feel free to reach out. I don't have my email here to avoid spam, but if you have this web page you probably know me :). Most of these came out of my struggling to illustrate ideas well with just a whiteboard.
Technlogies
Source code will be made public soon, once I have time to clean some more things up. But if you're interested in doing something simular:
- PixiJS was used for most of the 2D simulations.
- The oscillator phase simulation was built with the Godot game engine (which is why it takes a long time to load, has no antialiasing, and bad accessability). Maybe one day I'll redo it.
- The electric potential simulation (which required 3D graphics) uses three.js.
- The more recently-updated simulations use Svelte to handle UI state, and daisyUI for the UI styling.