Book Image

NumPy: Beginner's Guide

By : Ivan Idris
Book Image

NumPy: Beginner's Guide

By: Ivan Idris

Overview of this book

Table of Contents (21 chapters)
NumPy Beginner's Guide Third Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
NumPy Functions' References
Index

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:

  1. Initialize t with the linspace() function from -pi to pi with 201 points:

    a = 9
    b = 8
    t = np.linspace(-np.pi, np.pi, 201)
  2. Calculate x with the sin() function and np.pi:

    x = np.sin(a * t + np.pi/2)
  3. Calculate y with the sin() function:

    y = np.sin(b * t)
  4. Plot as shown in the following:

    plt.plot(x, y)
    plt.title('Lissajous curves')
    plt.grid()
    plt.show()

    The result for a = 9 and b = 8 is as follows:

What just happened?

We plotted the Lissajous curve with the aforementioned 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
import matplotlib.pyplot as plt


a = 9
b = 8
t = np.linspace(-np.pi, np.pi, 201)
x = np.sin(a * t + np.pi/2)
y = np.sin(b * t)
plt.plot(x, y)
plt.title('Lissajous curves')
plt.grid()
plt.show()