Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何创建以下四面体结构_Python_Python 3.x_Matplotlib - Fatal编程技术网

Python 如何创建以下四面体结构

Python 如何创建以下四面体结构,python,python-3.x,matplotlib,Python,Python 3.x,Matplotlib,我正在尝试使用python3自动将立方体分割成几个四面体。如下图所示 及 我们知道在一个单元中,我们可以找到四个顶点并生成一个四面体,如图1所示。当我们增加单位单元的数量时,需要满足一些限制,每个垂直面最多只能有4条边,所有四面体都应该通过顶点相互连接。如图2所示。现在,我想自动找到顶点,以满足更多的单位细胞,如100+数量的限制 有人能提供一些想法吗?真的很感激 图2中的顶点坐标如下所示: cell1 = [[-1, 1, 1, -1], #cell structure as cel

我正在尝试使用python3自动将立方体分割成几个四面体。如下图所示

我们知道在一个单元中,我们可以找到四个顶点并生成一个四面体,如图1所示。当我们增加单位单元的数量时,需要满足一些限制,每个垂直面最多只能有4条边,所有四面体都应该通过顶点相互连接。如图2所示。现在,我想自动找到顶点,以满足更多的单位细胞,如100+数量的限制

有人能提供一些想法吗?真的很感激

图2中的顶点坐标如下所示:

cell1 = [[-1, 1, 1, -1],    #cell structure as cell1 = [[xcoord], [ycoord], [zcoord]]
     [-1, -1, 1, 1],
     [1, -1, 1, -1]]
cell2 = [[1, 3, 1, 3], 
      [3, 3, 1, 1],
      [3, 1, 1, 3]]
cell3 = [[1, -1, 1, -1],
      [3, 5, 5, 3],
      [3, 3, 5, 5]]
cell4 = [[3, 5, 5, 3],
      [3, 5, 3, 5],
      [1, 1, -1, -1]]
cell5 = [[3, 5, 3, 5],
      [1, -1, -1, 1],
      [3, 3, 5, 5]]
图纸代码如下:

def打印框(A2、A3、A4、A5、A6):
plt.图()
ax=plt.轴(投影='3d')
verts2=[列表(zip(A2[0],A2[1],A2[2])]
verts3=[列表(zip(A3[0],A3[1],A3[2])]
verts4=[列表(zip(A4[0],A4[1],A4[2])]
verts5=[列表(zip(A5[0],A5[1],A5[2])]
verts6=[列表(zip(A6[0],A6[1],A6[2])]
ax.add_collection3d(Poly3DCollection(顶点2,面颜色=w',线宽=2,alpha=0.5),zs=z)
ax.add_collection3d(Poly3DCollection(顶点3,面颜色=r',线宽=2,alpha=1),zs=x)
ax.add_collection3d(Poly3DCollection(顶点4,面颜色=w',线宽=2,alpha=1),zs=x)
ax.添加集合3D(Poly3DCollection(顶点5,面颜色=w',线宽=2,alpha=1),Z=x)
ax.添加集合3D(Poly3DCollection(顶点6,面颜色=w',线宽=2,alpha=1),Z=x)
plt.show()
A2=[-1,1,1,-1],
[-1, -1, 1, 1],
[1, -1, 1, -1]]
A3=[[1,3,1,3],
[3, 3, 1, 1],
[3, 1, 1, 3]]
A4=[[1,-1,1,-1],
[3, 5, 5, 3],
[3, 3, 5, 5]]
A5=[[3,5,5,3],
[3, 5, 3, 5],
[1, 1, -1, -1]]
A6=[[3,5,3,5],
[1, -1, -1, 1],
[3, 3, 5, 5]]
绘图仪(A2、A3、A4、A5、A6)