Python 绘制圆柱体(3D图)

您所在的位置:网站首页 圆柱体手工画图怎么画 Python 绘制圆柱体(3D图)

Python 绘制圆柱体(3D图)

2024-07-16 10:12| 来源: 网络整理| 查看: 265

Python 绘制圆柱体(3D图)

不知道为何,介绍用Python画3D图形,很少提到圆锥体、圆柱体。或者是有些工具可以直接画出吧。 在上一篇文章中解决了圆锥体的问题(见下链接),现在把圆柱体问题也一并解决下,这个问题困扰了好几天,因为圆柱体本身看上去不像是一个曲面问题。

Python 绘制圆锥体(3D图)

其实,明白几何作图原理的话,圆柱体并不很难。圆柱体其实是一个圆,或者说是N多个圆,每个圆对应的高度不同。这句话可能不是很好理解,但仔细想想也不是很难。 画圆是一件很简单的事情,x是角度的sin值,y是角度的cos值,高度划分为多少份,就要把圆重复多少次。代码也不多,只有五行,代码和结果图如下。

# -*- coding: utf-8 -*- #哪有什么可以直接登顶的人生,只有根据反馈不断迭代的过程! import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D # 简单方法画出漂亮的圆柱体(半径和高度均为1) fig = plt.figure() ax = fig.add_subplot(111, projection='3d') # 生成圆柱数据,底面半径为r,高度为h。 # 先根据极坐标方式生成数据 u = np.linspace(0,2*np.pi,50) # 把圆分按角度为50等分 h = np.linspace(0,1,20) # 把高度1均分为20份 x = np.outer(np.sin(u),np.ones(len(h))) # x值重复20次 y = np.outer(np.cos(u),np.ones(len(h))) # y值重复20次 z = np.outer(np.ones(len(u)),h) # x,y 对应的高度 # Plot the surface ax.plot_surface(x, y, z, cmap=plt.get_cmap('rainbow')) plt.show()

漂亮的结果图形如下所示! 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3