gpt4 book ai didi

python - 在 Python 中绘制 3D 圆柱面图

转载 作者:太空宇宙 更新时间:2023-11-04 05:50:44 25 4
gpt4 key购买 nike

我正在尝试使用 Python 创建一个圆柱形 3D 曲面图,其中我的自变量是 ztheta,因变量是 radius(即,radius 是垂直位置和方位角的函数)。到目前为止,我只能找到创建 3D 表面图的方法:

  • z 作为 rtheta

    的函数>
  • 具有 r 作为 z 的函数,但不随 theta 改变(因此,最终产品看起来像旋转轮廓;例如 r = sin(z) + 1 的情况)。

我希望将 r 作为 z theta 的函数,因为我的函数会产生一个形状,在任何给定的高度,都是 theta 的复杂函数。最重要的是,我需要曲面图能够具有(但不一定必须具有,具体取决于函数的属性)顶部或底部敞开。例如,如果 rz = 0z = 1 (一个完美的圆柱体)是常数,我想要一个曲面图仅由圆柱体的侧面组成,不包括顶部或底部。该图应该看起来像一个空心壳。

我已经定义了函数 r

感谢您的帮助!

最佳答案

显然,经过一些尝试和错误后,在这种情况下最好/最简单的事情就是只转换 rthetaz 数据点(定义为二维数组,就像 x,y,z 绘图一样)转换为笛卡尔坐标:

# convert to rectangular
x = r*numpy.cos(theta)
y = r*numpy.sin(theta)
z = z

新的 x,y,z 数组可以像从 z 的多项式生成的任何其他 x,y,z 数组一样绘制> 是 x,y 的函数。我原本以为数据点会因为重叠的 z 值而搞砸,或者相邻的数据点可能无法正确连接,但显然事实并非如此。

关于python - 在 Python 中绘制 3D 圆柱面图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30336017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com