Simulations

Bouncing ball with energy loss

Open in new tab 🔗

This simulation offers a clear and interactive way to explore the motion of a ball bouncing on the ground, highlighting how displacement, velocity, and acceleration change over time. On the left, you’ll see the animation of the ball with vectors showing its position (green), velocity (pink), and acceleration (blue). The sliders at the top allow you to adjust the starting height, the percentage of energy lost on each bounce, and whether air resistance is included. You can pause, reset, or let the motion run continuously, while the time slider doubles as a scrubber when the simulation is paused.

On the right, the three graphs display how each physical quantity varies with time. The position–time graph shows the ball’s vertical displacement, always measured relative to the lowest point of its center of mass. The velocity–time graph alternates between negative and positive values, reflecting the downward and upward motion during each bounce, while the acceleration–time graph remains mostly constant at –g, with spikes at the moment of collision. Together, the animation and graphs help link the visual motion with the quantitative data, reinforcing the relationships between these variables.

The underlying theory follows Newton’s laws of motion. The ball accelerates downwards under gravity until it collides with the ground, where it loses some energy depending on the restitution factor. This is why the bounce height diminishes over time. The velocity vector shows not only the speed but also the direction of motion, while the acceleration vector indicates that gravity always acts downward, regardless of whether the ball is rising or falling. By adjusting energy loss during each collision and air resistance, you can model more realistic scenarios and see how dissipative forces affect motion, making this a powerful tool to visualize the physics of bouncing objects.

Displacement-distance graph and displacement-time graph of a wave

Open in new tab 🔗

Click here for full view.

Exploring Wave Properties Through Interactive Simulations

One of the most powerful ways to learn about waves is not just by reading definitions, but by seeing them in action. This simulation allows you to adjust amplitude, frequency, wavelength, and speed and watch how the wave’s behavior changes over time and space.

By the end of this activity, you should be able to:

  1. Define and use the terms speed, frequency, wavelength, period, and amplitude, and connect them to what you see on the graphs.
  2. Recall and apply the relationship $v = f \lambda$ to new situations and solve related problems.

How to Interact With the Simulation

Two Graphs, Two Perspectives

  • The top graph (Displacement vs Distance) shows the shape of the wave along space at a single instant.
  • The bottom graph (Displacement vs Time) shows how a single particle moves up and down as time passes.

Controls

  • Use the sliders to change Amplitude, Frequency, Wave Speed, and Wavelength.
  • Press Start Animation to see the wave move. Press it again to stop.
  • Press Reset to return to default values.

What happens when you…

  • Increase Amplitude → The wave gets taller, but the speed and wavelength stay the same.
  • Increase Frequency → More oscillations appear in the same time, and the particle on the time graph moves faster up and down.
  • Change Wavelength → The distance between crests and troughs changes on the distance graph.
  • Change Speed → The wave travels faster across the distance graph.

Use these questions as you experiment with the sliders:

Amplitude

  • How does increasing amplitude affect the wave’s appearance on both graphs?
  • Does amplitude change the wave speed?

Frequency and Period

  • Observe the bottom graph: How many oscillations occur in one second when frequency is 1 Hz? What is the period (time for one cycle)?
  • What happens to the period when you double the frequency?

Wavelength

  • On the top graph, how do the positions of the crests and troughs change as you adjust the wavelength slider?
  • Can you measure one wavelength directly from the graph?

Wave Speed Relationship

  • Try setting frequency = 2 Hz and wavelength = 150 mm. What is the predicted wave speed using $v = f \lambda$
  • Now observe the simulation: Does the wave move across the distance graph at that speed?
  • Repeat for another set of values (e.g. f=0.5 Hz, λ=300 mm). Does the relationship still hold?

Connecting Both Graphs

  • Watch the red dot on the distance graph (a fixed point on the medium). How does its motion compare with the displacement–time graph?
  • Why does the red dot’s vertical motion look like a sine wave over time?

Simulation on Radioactive Decay using Dice

A simulation based on the casting of dice can be used to demonstrate the concept of half-life. Imagine a certain number of dice being cast together. All the dice that show a six are removed from the population. The remainder are cast again repeatedly, and each time, those that show a six are removed.

The question posed to students is : around which cast will the number of dice be reduced to half the original?

Here is the simulation:

Open in new tab 🔗

Lens Ray Diagram Simulation

I initially wanted to modify my GeoGebra applet on the converging lens ray diagram to include the case for infinitely far objects but thought I should give Claude.ai a try to generate one using javascript. It went very smooth. I merely took a screenshot of the original GeoGebra applet for reference, and used the following prompts: “Refer to this geogebra applet and make a html5 version. The user can change the focal length, the lens position and object height using mouse clicks or touchscreen drags. Keep the size responsive. Keep the buttons as overlays.” There were a few iterations after that but the first iteration was already good enough as a minimum-viable product.

This is the screenshot of the original applet that was used as reference by Claude.ai.

This is the end product:

Open in new tab 🔗

Access the full version here.

Charging Two Conductors by Induction Simulation

Open in new tab 🔗

Following a previous simulation on charging by induction, this simulation allows students to investigate the effects of performing the actions of bringing or removing a charged rod near a pair of conducting cans that can be placed in contact or separated-in any order they choose. Each sequence produces a distinct outcome: the cans may finish with opposite charges or both neutral. The simulation makes the invisible electron shifts clear, helping learners see exactly when charge flows between cans and when it merely redistributes inside a single conductor.

The above screenshot shows one possible state of the charges after a particular sequence of buttons are clicked. Could you figure out what is the order of buttons pressed?

Charging by Induction Simulation

Open in new tab 🔗

In the topic of Static Electricity, charging by induction often presents a challenge for students. The process involves several invisible steps — the movement of electrons, the effect of grounding, and the lasting net charge after removing the influencing object. To bridge this gap between theory and understanding, I have created this interactive simulation to help students visualise the interactions and changes. Students can be asked to predict what will happen using various button sequences to help challenge students’ preconceptions about electric charge and behaviour during induction.

Charging by Induction Javascript Simulation

Refer to the scenario above. What will happen next if we:
a) Remove the earth wire before removing the rod, or
b) Remove the rod before removing the earth wire?