c语言编程笔录

首页 >   > 笔记大全

笔记大全

python画3d玫瑰花代码python绘制立体玫瑰花代码

更新时间:2023-12-02

第一段:Python画3D玫瑰花

通过Python,可以轻松绘制3D玫瑰花。这需要使用库matplotlib和numpy。

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure() # 创建一个Figure对象
ax = fig.add_subplot(111, projection='3d') # 创建3D图像

# 计算数据
a = 1
u = np.linspace(0, 2*np.pi, 100)
v = np.linspace(0, 2*np.pi, 100)
x = (a*np.sin(u)*np.cos(v))[:, np.newaxis]
y = (a*np.sin(u)*np.sin(v))[:, np.newaxis]
z = (a*np.cos(u))[:, np.newaxis]

# 绘制图像
ax.plot_surface(x, y, z, cmap=plt.cm.winter)

plt.show() # 显示图像

在上面的代码中,我们首先创建一个Figure对象,然后创建一个带有“3d” projection的Axes实例。然后我们计算数据,然后使用plot_surface函数绘制3D玫瑰花样式的图像。使用cmap参数进行选择颜色

第二段:Python绘制立体玫瑰花

类似于3D玫瑰花,我们可以使用Python和Matplotlib库创建立体玫瑰花。这需要我们计算坐标点,最后绘制曲线。

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# 计算数据
u = np.linspace(0, 2*np.pi, 1000)
x = np.cos(3*u) * np.cos(u)
y = np.cos(3*u) * np.sin(u)
z = np.sin(3*u)

# 绘制立体玫瑰
ax.plot(x, y, z)

plt.show()

在上面的代码中,我们首先创建Figure对象和Axes实例,然后计算坐标点,最后使用plot函数绘制曲线。

第三段:Python绘制红色3D玫瑰花

现在,我们尝试通过Python和matplotlib库绘制一个红色的3D玫瑰花。

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# 计算数据
a = 1
u = np.linspace(0, 2*np.pi, 100)
v = np.linspace(0, 2*np.pi, 100)
x = (a*np.sin(u)*np.cos(v))[:, np.newaxis]
y = (a*np.sin(u)*np.sin(v))[:, np.newaxis]
z = (a*np.cos(u))[:, np.newaxis]

# 绘制3D图像
ax.plot_surface(x, y, z, cmap=plt.cm.winter, color='r')

plt.show()

在上面的代码中,我们首先创建Figure对象和Axes实例,然后计算坐标点,然后使用plot_surface函数绘制3D玫瑰花样式的图像,并通过color参数设置为红色。

第四段:总结

在本文中,我们介绍了如何使用Python和matplotlib库来绘制3D玫瑰花和立体玫瑰花,还演示了如何通过Python绘制红色3D玫瑰花。在这个过程中,我们学习了如何计算坐标点,如何创建Figure和Axes实例,以及如何使用plot和plot_surface函数来绘制图表。