สมการหัวใจ ด้วย Python
2 min readFeb 20, 2019
พอดีไปอ่าน #สมการความรัก [1] บน Blockdit เป็นการบอกรักด้วยสมการคณิตศาสตร์น่าสนใจดี เลยลองรวบรวม code python มาทำตามดู
หัวใจ 2 มิติ
สมการ
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0,2*np.pi, 0.1)
x = 16*np.sin(t)**3
y = 13*np.cos(t)-5*np.cos(2*t)-2*np.cos(3*t)-np.cos(4*t)
plt.grid(False)
plt.axis('off')
plt.plot(x,y,'r-')
plt.show()
หัวใจ 3 มิติ
สมการ
from mpl_toolkits.mplot3d import Axes3D
from skimage import measure
from matplotlib import cmn = 100x = np.linspace(-3,3,n)
y = np.linspace(-3,3,n)
z = np.linspace(-3,3,n)
X, Y, Z = np.meshgrid(x, y, z)def f_heart(x,y,z):
F = 320 * ((-x**2 * z**3 -9*y**2 * z**3/80) + (x**2 + 9*y**2/4 + z**2-1)**3)
return Fvol = f_heart(X,Y,Z)
verts, faces ,_ ,_ = measure.marching_cubes_lewiner(vol, 0, spacing=(0.1, 0.1, 0.1))
fig = plt.figure(figsize=(12,8))
ax = fig.add_subplot(111, projection='3d')
ax.plot_trisurf(verts[:, 0], verts[:,1], faces, verts[:, 2],cmap=cm.Reds,edgecolor='white')
ax.view_init(15, -15)
ax.grid(False)
plt.axis('off')
plt.show()