Time for action – drawing Lissajous curves
The Lissajous figures are determined by four parameters A
, B
, a
, and b
. Let's set A
and B
to 1
for simplicity:
Initialize
t
with thelinspace
function from-pi
topi
with201
points:a = float(sys.argv[1]) b = float(sys.argv[2]) t = np.linspace(-np.pi, np.pi, 201)
Calculate
x
with thesin
function andnp.pi
:x = np.sin(a * t + np.pi/2)
Calculate
y
with thesin
function:y = np.sin(b * t)
Matplotlib
will be covered later in Chapter 9, Plotting with Matplotlib. Plot as shown here:plot(x, y) show()
The result for
a
=
9
andb
=
8:
What just happened?
We plotted the Lissajous curve with the previously mentioned parametric equations where A=B=1
, a=9
, and, b=8
. We used the sin
and linspace
functions as well as the NumPy pi
constant (see lissajous.py
):
import numpy as np from matplotlib.pyplot import plot from matplotlib.pyplot import show import sys a = float(sys.argv[1]) b = float(sys.argv[2]) t = np.linspace(-np.pi, np.pi, 201) x = np.sin(a * t + np.pi/2)...