Drawing the Butterfly Curve with Python
The butterfly curve, discovered by Temple H. Fay, is a beautiful curve that can be expressed using a polar coordinate function. Because of its elegance, I wanted to use it as my blog’s favicon.ico. Here, I’ll use Python’s matplotlib.pyplot package to draw the desired butterfly curve. First, let’s admire the beautiful butterfly curve.
1. First, We Need to Define the Mathematical Expression of the Butterfly Curve
It can also be expressed using spherical coordinates:
2. Choosing matplotlib.pyplot
as the Plotting Tool in Python
1. First, import the necessary Python packages
import numpy as np
import matplotlib.pyplot as plt
2. Set the parameter values
t = np.arange(0.0, 12*np.pi, 0.01)
x = np.sin(t)*(np.e**np.cos(t) - 2*np.cos(4*t)-np.sin(t/12)**5)
y = np.cos(t)*(np.e**np.cos(t) - 2*np.cos(4*t)-np.sin(t/12)**5)
3. According to the formula, use numpy
functions with plt
to draw the required image
plt.figure(figsize=(8,6))
plt.axis('off')
plt.plot(x,y,color='blue',linewidth = '2')
#plt.show()
plt.savefig("butter.jpg",dpi=400)
4. Use Pillow
to resize the image to an appropriate size for a favicon
from PIL import Image
im = Image.open("butter.jpg")
favicon = im.resize((50,50))
favicon.save("favicon.ico")