从mayavi的切割平面中检索线

时间:2014-09-08 18:39:14

标签: python mayavi

如何从mayavi中的切割平面检索线?

我已经能够检索点,但我没有关于锥度的信息。

cutplane.cutter.outputs[0].points.to_array()

1 个答案:

答案 0 :(得分:1)

您找到了点坐标:

  PtsCoord = cutplane.cutter.outputs[0].points.to_array()

您还可以找到名为polys.to_array()的内容。也许在这里:

  PolyAndTriIDs = cutplane.cutter.outputs[0].polys.to_array() 

此变量包含形成三角形和多边形的点的索引,然后您可以使用以下行提取所有坐标:

  jj=0
  while (jj < PolyAndTriIDs.shape[0]):
    if PolyAndTriIDs[jj] == 3:  # triangles

      x1,y1,z1 = PtsCoord[PolyAndTriIDs[jj+1],:]
      x2,y2,z2 = PtsCoord[PolyAndTriIDs[jj+2],:]
      x3,y3,z3 = PtsCoord[PolyAndTriIDs[jj+3],:]
      jj=jj+4

    else: # quadrilateral
      x1,y1,z1 = PtsCoord[PolyAndTriIDs[jj+1],:]
      x2,y2,z2 = PtsCoord[PolyAndTriIDs[jj+2],:]
      x3,y3,z3 = PtsCoord[PolyAndTriIDs[jj+3],:]
      x4,y4,z4 = PtsCoord[PolyAndTriIDs[jj+4],:]
      jj=jj+5

HTH