import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 设置圆柱参数
outer_radius = 1.0 # 外圆柱半径
inner_radius = 0.5 # 内圆柱半径(设置为0表示没有内圆柱)
height = 10.0 # 圆柱长度(这里代表高度,因为是水平放置)
resolution = 100 # 分辨率,值越高越平滑
# 创建角度数据
theta = np.linspace(0, 2 * np.pi, resolution)
y = np.linspace(-height/2, height/2, resolution)
# 创建网格
Theta, Y = np.meshgrid(theta, y)
# 计算X和Z坐标
X_outer = outer_radius * np.cos(Theta)
Z_outer = outer_radius * np.sin(Theta)
if inner_radius > 0:
X_inner = inner_radius * np.cos(Theta)
Z_inner = inner_radius * np.sin(Theta)
# 绘制3D图形
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 绘制外圆柱表面
ax.plot_surface(X_outer, Y, Z_outer, color='b', alpha=0.5, rstride=4, cstride=4)
# 如果定义了内圆柱,则绘制内圆柱表面
if inner_radius > 0:
ax.plot_surface(X_inner, Y, Z_inner, color='w', alpha=0.5, rstride=4, cstride=4)
# 隐藏坐标轴
ax.axis('off')
# 设置视角距离
ax.dist = 50 # 将默认的10改为更大的数字,例如12,以拉远视角
# 如果需要,调整坐标轴的限制来扩大视野
ax.set_xlim(-outer_radius-0.5, outer_radius+0.5)
ax.set_ylim(-height/2-0.5, height/2+0.5)
ax.set_zlim(-outer_radius-0.5, outer_radius+0.5)
# 显示图形
plt.show()
想问下各位为什么我改变了圆柱长度但是显示出来的图像还是和没改变的时候一样啊