IP3 02 Kinematics

Kinematics Graphs with Variable Initial Velocity and Acceleration

I used ChatGPT to create this simple interactive graph. Including the time taken to make 2 rounds of refinement using more prompts and the time it took to deploy it via Github, it took about 15 minutes from start to end.

The first prompt I used was :

Create a graph using chart.js with vertical axis being “displacement / m” and horizontal axis being “time / s”. There should be a slider for the initial velocity value ranging from 0 to 2 m/s, a slider for the acceleration value ranging from -2 m/s^2 to 2 m/s^2. The displacement will start from zero and will follow a function dependent on the initial velocity and acceleration values from the slider. Draw the line of the displacement on the graph. Update the graph whenever the sliders are moved.

The results of the first attempt is shown above. It is already functional, with the initial velocity and acceleration sliders working together to change the shape of the graph.

The function it used to calculate displacement is based on the kinematics equation $s = ut + \dfrac{1}{2}at^2$, written as

    displacement.push(0.5 * acceleration * t * t + initialVelocity * t);

After the first successful attempt, I gave some refinement prompts like:

Show the values of the velocity and acceleration, along with the units.

Use drop-down list to change the vertical axis to velocity or acceleration, updating the axis each time and the curve as well.

So the second attempt looked like this

ChatGPT got 1 out of 2 requests correct. The values of the velocity and acceleration were intended to be displayed next to the sliders. It must have been because I was not clear enough. Hence, the last refinement I asked for was :

Give the codes to show the values of velocity and acceleration next to the sliders. Just those codes.

I didn’t want to get ChatGPT to generate the entire page of html and javascript again so I targetted the specific codes that I needed to change.

It was helpful in telling me where to update these codes. So at the end of the day, this is what was obtained after I made some manual tweaks to change the way the unit is displayed (e.g. m s-2 instead of m/s2):

It was good enough for my purpose now. The web app can be sent to students as a link (https://physicstjc.github.io/sls/kinematics-graph) or embedded into SLS as a standalone app. For use in SLS, do note the following:

  1. The html file must be named index.html
  2. The chart.js file must be copied and saved in the same zipped file at the same level as the index.html file. Change the path of the Chart JS from <script src=”https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.7.0/chart.min.js”></script> to <script src=”chart.min.js”></script>.
  3. For reference, this is what it looks like when zipped.

Simulation of a Bouncing Ball

While I have shared a simulation of a bouncing ball made using Glowscript before, I felt that one made using GeoGebra is necessary for a more comprehensive library.

It took a while due to the need to adjust the equations used based on the position of the graphs, but here it is: https://www.geogebra.org/m/dfb53dps

The kinematics of a bouncing ball can be explained by considering the dynamics and forces involved in its motion. In this simulation, air resistance is assumed negligible. When a ball is dropped from a certain height and bounces off the ground, several key principles of physics come into play. Let’s break down the process step by step:

Free Fall: When the ball is released, it enters a state of free fall. During free fall, the only force acting on the ball is gravity. This force is directed downward and can be described by W = mg

W is the gravitational force.
m is the mass of the ball.
g is the acceleration due to gravity (approximately 9.81 m/s² near the surface of the Earth).

Impact with the Ground and Bounce: When the ball reaches the ground, it experiences a force due to the collision with the surface. This force is an example of a contact force and much larger than the gravitational force. This force depends on the elasticity of the ball and the surface it bounces off.

During the collision with the ground, the ball’s momentum changes rapidly. If the ball and the ground are both ideal elastic materials, the ball will bounce back with the same speed it had just before impact. In reality, some energy is lost during the collision, causing the bounce to be less than perfectly elastic. This simulation assumes elastic collisions.

Post-Bounce Motion: After the bounce, the ball starts moving upward. Gravity acts on it as it ascends, decelerating its motion until it reaches its peak height.

Second Descent: The ball then starts descending again, experiencing the force of gravity pulling it back down towards the ground.

This process continues with each bounce. In practice, with each bounce, some energy is lost due to the non-ideal nature of the collision and other dissipative forces like air resistance. As a result, each bounce is typically lower than the previous one until the ball eventually comes to rest. However, for simplicity, the simulation assumes no energy is lost during the collision and to dissipative forces.

An animated gif file is included here for use in powerpoint slides:

Sky-Diving and Terminal Velocity

https://www.geogebra.org/m/wavar9bx

This is a wonderful applet created by Abdul Latiff, another Physics teacher from Singapore, on how air resistance varies during a sky-dive with a parachute. It clearly demonstrates how two different values of terminal velocity can be achieved during the dive.

Incidentally, there is a video on Youtube that complements the applet very well. I have changed the default values of the terminal velocities to match those of the video below for consistency.

Also relevant is the following javascript simulation that I made in 2016 which can show the changes in displacement, velocity and acceleration throughout the drop.

Equation of Motion App

Access the app in full screen here: https://www.geogebra.org/m/mfvvhjrj

This app is designed to give students practice in interpreting velocity-time graphs with various scenarios, such as more complex examples involving negative velocity and acceleration. Answers will be given if student is wrong.

Use this to embed into SLS or another LMS.

<iframe scrolling="no" title="Equations of Motion" src="https://www.geogebra.org/material/iframe/id/mfvvhjrj/width/700/height/480/border/888888/sfsb/true/smb/false/stb/false/stbh/false/ai/false/asb/false/sri/false/rc/false/ld/false/sdz/false/ctl/false" width="700px" height="480px" style="border:0px;"> </iframe>

Bouncing Ball Animation using Python

For a fullscreen view, visit https://www.glowscript.org/#/user/wboson2007/folder/MyPrograms/program/Bouncing

Modified this python simulation from Dr Darren Tan’s work at https://sciencesamurai.trinket.io/a-level-physics-programming#/collisions/bouncing-ball

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.

Multiple Representation of Vertical Throw

One common misconception among new learners of kinematics is that acceleration of an object being thrown upward is zero at the top of the path when it is momentarily at rest. I created this interactive, along with the 3 graphs in order to help students relate the vectors to the graphical representation of motion.

It is also worth noting that students often have conflicting ideas of the acceleration at the beginning of the throw, as they are aware that a resultant upward acceleration is necessary for the object to start moving upward in the first place. Hence, it must be stressed that the animation begins after the ball has left the throwing hand.

For a view that is optimized for your screen, visit https://www.geogebra.org/m/zvsydy9f.