[Art & Science] 用python绘制3D花

[Art & Science] 用python绘制3D花

引言

选修了一门“艺术与科学实验室”的课,第三次作业是在自然中发现数学规律,并将其通过技术实现出来。在生活中花随处可见,并且具有极高的美感和艺术价值。对于花的绘制用数学方式实现出来使我十分激动。学校里花的原图一张:

python 源代码

此代码借来源此CSDN博客

from mpl_toolkits.mplot3d import Axes3D

from matplotlib import cm

from matplotlib.ticker import LinearLocator

import matplotlib.pyplot as plt

import numpy as np

fig = plt.figure()

ax = fig.gca(projection='3d')

[x, t] = np.meshgrid(np.array(range(25)) / 24.0, np.arange(0, 575.5, 0.5) / 575 * 17 * np.pi - 2 * np.pi)

p = (np.pi / 2) * np.exp(-t / (8 * np.pi))

u = 1 - (1 - np.mod(3.6 * t, 2 * np.pi) / np.pi) ** 4 / 2

y = 2 * (x ** 2 - x) ** 2 * np.sin(p)

r = u * (x * np.sin(p) + y * np.cos(p))

h = u * (x * np.cos(p) - y * np.sin(p))

surf = ax.plot_surface(r * np.cos(t), r * np.sin(t), h, rstride=1, cst

关键点

引言 选修了一门“艺术与科学实验室”的课,第三次作业是在自然中发现数学规律,并将其通过技术实现出来。在生活中花随处可见,并且具有

相关文章