vtkCellArray 中点的排序是否意味着邻接?
does the ordering of the points in vtkCellArray imply adjacency?
我有一个折线形式的闭合轮廓。我正在访问该点
通过 vtkPolyData.GetLines() 并遍历
vtkCellArray.
我想计算直线每个顶点的角平分线。所以
我需要知道 V_{i-1}、V_i 和 V_{i+1}.
的坐标
在 vtkCellArray 中,[n0, p_1, p_2,... , p_n0, ... ] ,如果 p_2 出现在后面
单元格中的p_1,是不是表示p_1和p_2连在一起了?
是的,确实如此。只是为了用 vtkPolyLine
测试你的情况,让我们创建一个带有单个 vtkPolyLine
的 vtkPolyData
,其中线的最后一个点与第一个点相同。我们将看到生成的元胞数组具有相同的序列(即最后一个点和第一个点相同。)
import vtk as v
pts = v.vtkPoints()
pts.InsertNextPoint(0,0,0)
pts.InsertNextPoint(1,0,0)
pts.InsertNextPoint(2,0,0)
pts.InsertNextPoint(3,0,0)
polyLine = v.vtkPolyLine()
polyLine.GetPointIds().SetNumberOfIds(5)
polyLine.GetPointIds().SetId(0,0)
polyLine.GetPointIds().SetId(1,1)
polyLine.GetPointIds().SetId(2,2)
polyLine.GetPointIds().SetId(3,3)
polyLine.GetPointIds().SetId(4,0)
lines = v.vtkCellArray()
lines.InsertNextCell(polyLine)
pd = v.vtkPolyData()
pd.SetPoints(pts)
pd.SetLines(lines)
wr = v.vtkPolyDataWriter()
wr.SetFileName('Lines.vtk')
wr.SetInputData(pd)
wr.Write()
文件 Lines.vtk
包含以下内容:
# vtk DataFile Version 4.2
vtk output
ASCII
DATASET POLYDATA
POINTS 4 float
0 0 0 1 0 0 2 0 0
3 0 0
LINES 1 6
5 0 1 2 3 0 # This line has 5 points and last and first point are the same (0)
我有一个折线形式的闭合轮廓。我正在访问该点 通过 vtkPolyData.GetLines() 并遍历 vtkCellArray.
我想计算直线每个顶点的角平分线。所以 我需要知道 V_{i-1}、V_i 和 V_{i+1}.
的坐标在 vtkCellArray 中,[n0, p_1, p_2,... , p_n0, ... ] ,如果 p_2 出现在后面 单元格中的p_1,是不是表示p_1和p_2连在一起了?
是的,确实如此。只是为了用 vtkPolyLine
测试你的情况,让我们创建一个带有单个 vtkPolyLine
的 vtkPolyData
,其中线的最后一个点与第一个点相同。我们将看到生成的元胞数组具有相同的序列(即最后一个点和第一个点相同。)
import vtk as v
pts = v.vtkPoints()
pts.InsertNextPoint(0,0,0)
pts.InsertNextPoint(1,0,0)
pts.InsertNextPoint(2,0,0)
pts.InsertNextPoint(3,0,0)
polyLine = v.vtkPolyLine()
polyLine.GetPointIds().SetNumberOfIds(5)
polyLine.GetPointIds().SetId(0,0)
polyLine.GetPointIds().SetId(1,1)
polyLine.GetPointIds().SetId(2,2)
polyLine.GetPointIds().SetId(3,3)
polyLine.GetPointIds().SetId(4,0)
lines = v.vtkCellArray()
lines.InsertNextCell(polyLine)
pd = v.vtkPolyData()
pd.SetPoints(pts)
pd.SetLines(lines)
wr = v.vtkPolyDataWriter()
wr.SetFileName('Lines.vtk')
wr.SetInputData(pd)
wr.Write()
文件 Lines.vtk
包含以下内容:
# vtk DataFile Version 4.2
vtk output
ASCII
DATASET POLYDATA
POINTS 4 float
0 0 0 1 0 0 2 0 0
3 0 0
LINES 1 6
5 0 1 2 3 0 # This line has 5 points and last and first point are the same (0)