As in this lesson you saw how a single pixel could be moved
straight across the screen. Of course one of the challenges of making an animation is in determining
what should guide the object in how it moves. In other words, where should the object
be drawn from one moment to the next? Well in things like video games and movies, the objects are made to move
according to the laws of physics. Let's do that here.
Basic physics allows one to predict how a ball will fly through space (with no air in the way). If
you launch the ball from position $(x,y)$ with a speed of $v$, at an angle $\theta$ with the ground,
then the ball will be at a new $(x,y)$ coordinate some $\Delta t$ in the future according to (given that $v_x=v\cos\theta$
and $v_y=v\sin\theta$):
$$x=x+v_x\Delta t$$
and
$$y=y+v_y\Delta t+\frac{1}{2}g\Delta t^2.$$
Although $v_x$ will stay the same throughout the flights, $v_y$ will change via
$$v_y=v_y+g\Delta t.$$
In all of these equations, $g$ is the acceleration due to gravity, which is $9.8$m/s$^2$ on earth.
Here is some code that will make a pixel fly through an airless world. See if you can fix it up
and get the little ball to fly!
Now you try. Try fixing $\theta$, $v$, $g$ and the pset lines.
Type your code here:
See your results here:
This code will not run. You need to fill in some launch angle $\theta$ in the theta= line and some launch speed
in the v= line. Next you have to put in some value for $g$, or gravity. Try $9.8$ for here on earth. You might
try $g$ for other planets later. Next, you have to fix the pset( ) line. If the ball is at $(x,y)$ at any
given time, what will this line be? You'll be sure to test the range for $\theta=30^\circ$ and $\theta=60^\circ$, right?
Share your code
Show a friend, family member, or teacher what you've done!