2020年4月4日 星期六

把Python程式變有趣:情人的愛心 ( 附 Python 完整程式碼)





白色情人節剛過,應景一下,用Python寫一個程式,在二維座標上,使用三角函數計算出一個愛心的圖形,並用matplotlib畫出來。獻給天下有情人,不管是結婚了沒。

這個程式很簡單,上半部是兩個半圓,下半部則是用 acos()的函數來完成,幾行程式就可以完成一個漂亮的心型圖案,寫這類程式可以讓寫程式本身變得更有趣,也可以把它當成另類禮物,送給你的愛人,是不是很酷呢。以下就是完整程式碼:

import matplotlib.pyplot as plt
import numpy as np 

fig, ax = plt.subplots()
ax.set_aspect('equal')
plt.rcParams['font.sans-serif'] = ['Noto Sans CJK TC']

#plot part1 ( y >= 0 )
left = -2.0
right = 2.0
step = 0.0001
x = np.arange(left, right, step)
y = np.sqrt(1.0 - (np.abs(x) - 1.0)**2 )
ax.plot(x, y, color='#ff0000', linewidth = 10)

#plot part2 ( y < 0 )
y = np.arccos(1.0 - np.abs(x)) - np.pi
ax.plot(x, y, color='#9F0000', linewidth = 10)

ax.set(xlabel='x', ylabel='y', title='白色情人節快樂 ^_^')
ax.grid(color='b', linestyle='--', linewidth=1)
ax.legend(['y=sqrt(1-(|x|-1)^2)', 'y=acos(1-|x|)-PI'])

plt.show()