Bouncing Ball Animation using Python

For a fullscreen view, visit

Modified this python simulation from Dr Darren Tan’s work at

Wanted to try out a different way of creating simulations. Added the acceleration-time graph in place of his energy-time graph, in preparation for the teaching of kinematics. Also assuming no energy loss during collisions for simplicity.

For Singapore teachers, I have submitted a request to SLS for this URL to be whitelisted for embedding. Once approved, glowscript simulations can be embedded as part of the lesson. For the time being, a URL link out to the simulation will have to do.

3D Virtual Experiment – Simple Pendulum

This is a simple virtual experiment with a 3D view, allow teachers to explain the simple concepts of an oscillation experiment, such as which view is best to measure timing of the oscillation from.

To access this simulation directly via GeoGebra, go to :

To embed it in SLS or other platforms, use the following code:

<iframe scrolling="no" title="Pendulum" src="" width="640px" height="480px" style="border:0px;"> </iframe>

3D Virtual Experiment on Torsional Pendulum

In preparation for HBL in 2022, I designed a simple virtual experiment that will allow for students to collect data on oscillations using their own stopwatches and investigate the relationship between the period of oscillation and two separate variables. To access the simulation on GeoGebra, visit

Based on the given relationship $$T = cm^aL^b$$ where a, b and c are constants, students will be tasked to find the constants a, b and c. Students will then attempt to “linearise” the equation such that the independent variables m and L can be tested one by one.

Examples of data collected can be plotted using Excel to give the following graphs from which the gradients and vertical intercepts can be obtained instantly.

Hidden Circuits Interactive

I made this interactive tool using javascript for the teaching of DC circuits for integration with SLS as part of the IP4 Physics blended learning experience in the upcoming weeks.

The intention of this interactive is for students to do a preliminary inquiry activity to exercise what they learnt about series and parallel circuits. They can be tasked to draw out what they think the circuit diagram will be like, either on Nearpod or SLS.

Students can even notice the differences in brightness under different conditions. Questions can be designed around this as well.

Previously we used to construct little boxes with wires hidden underneath. However, due to wear and tear and with Covid-19’s safe management measures, a digital version that can be accessed via the students’ mobile devices is more suitable.

Light bulb image is adapted from Good Ware from
Switch image is adapted from Those Icons from

For a direct link to this interactive, please go to: (updated link)

To obtain the zip file for upload into SLS as an interactive media object, click here.

Template for Creating GeoGebra Animations

In an introductory sharing for the use of GeoGebra to my colleagues, I have prepared a simple template for them to try their hands at animations of points and other elements.

You can try the same too. Create a moving point by typing into the Input field (5,5*sin(time)) so that you get a point at x = 5 that oscillates between 5 and -5 in the vertical direction.

Relationship between displacement-time and velocity-time graphs

Through this GeoGebra app, students can observe how the gradient of the displacement-time graph gives the instantaneous velocity and how the area under the velocity-time graph gives the change in displacement.

In the GeoGebra app below, you will see a displacement-time graph on the left and its corresponding velocity-time graph on the right. These graphs will be referring to the same motion occuring in a straight line. Instructions

  1. Click “Play” and observe the values of displacement and velocity change in each graph over time.
  2. Note the relationship between the gradient in the displacement-time graph and the value of velocity.
  3. Note the relationship between the area under the velocity-time graph and the value of displacement.