首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何创建一个图面图解与一个闭环的物质库围绕一个给定的二维轮廓的坐标数据的轴?

我如何创建一个图面图解与一个闭环的物质库围绕一个给定的二维轮廓的坐标数据的轴?
EN

Stack Overflow用户
提问于 2017-11-16 15:46:55
回答 1查看 700关注 0票数 0
  • 我将闭环存储为N行numpy数组的两列。
  • 数组的最后一行与第一行相同,这意味着它实际上是一个闭环。
  • 旋转中的角除数(可以说是“饼片”中的)应该由一个叫做'angsteps‘的变量来设置。
  • 该轮廓是在x-y坐标平面上绘制的,并围绕“x-轴”旋转。
  • 你可以在这里找到有问题的个人资料。https://i.imgur.com/yJoKIEp.png

我为缺少代码而道歉,但是概要文件数据有如此多的相互依赖关系,所以我无法发布生成它的代码,因为它基本上需要一个快捷的方法来插入github页面。

曲线数据的下采样版本如下所示。

代码语言:javascript
复制
    bulkmat =         [[  5.2          0.        ]
     [  0.381        0.        ]
     [  0.381        3.164     ]
     [  2.           3.164     ]
     [  2.           4.1       ]
     [  3.78         4.1       ]
     [  3.78         6.477     ]
     [  1.898        6.477     ]
     [  1.898        7.        ]
     [  3.18         7.        ]
     [  3.18         9.6       ]
     [  1.898        9.6       ]
     [  1.898        9.6       ]
     [  2.31987929  12.42620027]
     [  3.4801454   15.24663923]
     [  5.22074074  17.97407407]
     [  7.38360768  20.521262  ]
     [  9.81068861  22.80096022]
     [ 12.34392593  24.72592593]
     [ 14.825262    26.20891632]
     [ 17.09663923  27.16268861]
     [ 19.          27.5       ]
     [ 19.          27.5       ]
     [ 19.62962963  27.44718793]
     [ 20.18518519  27.29972565]
     [ 20.66666667  27.07407407]
     [ 21.07407407  26.7866941 ]
     [ 21.40740741  26.45404664]
     [ 21.66666667  26.09259259]
     [ 21.85185185  25.71879287]
     [ 21.96296296  25.34910837]
     [ 22.          25.        ]
     [ 22.          25.        ]
     [ 21.12125862  24.17043472]
     [ 18.91060645  23.59946824]
     [ 15.97201646  22.9218107 ]
     [ 12.84280513  21.85346069]
     [  9.96762011  20.14089993]
     [  7.67242798  17.51028807]
     [  6.13850192  13.61665735]
     [  5.37640942   7.99310742]
     [  5.2          0.        ]]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-16 23:20:49

下面是围绕z轴绘制的旋转实体的一个例子。作为输入,我们取一些点,然后从它们创建必要的2D数组。

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d.axes3d as axes3d

# input xy coordinates
xy = np.array([[1,0],[2,1],[2,2],[1,1.5],[1,0]])
# radial component is x values of input
r = xy[:,0]
# angular component is one revolution of 60 steps
phi = np.linspace(0, 2*np.pi, 60)
# create grid
R,Phi = np.meshgrid(r,phi)
# transform to cartesian coordinates
X = R*np.cos(Phi)
Y = R*np.sin(Phi)
# Z values are y values, repeated 60 times
Z = np.tile(xy[:,1],len(Y)).reshape(Y.shape)


fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection='3d')
ax2 = fig.add_axes([0.05,0.7,0.15,.2])
ax2.plot(xy[:,0],xy[:,1], color="k")

ax.plot_surface(X, Y, Z, alpha=0.5, color='gold', rstride=1, cstride=1)

plt.show()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47333811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档