VTK学习笔记(三十三)从vtkPolyData获取点数据

VTK学习笔记(三十三)从vtkPolyData获取点数据

1、使用 numpy_support

from vtk.util import numpy_support
import numpy as np
points = vtk.vtkPoints()
points.InsertNextPoint(0.0, 0.0, 0.0)
points.InsertNextPoint(1.0, 0.0, 0.0)
points.InsertNextPoint(2.0, 0.0, 0.0)
original = vtk.vtkPolyData()
original.SetPoints(points)
orig_points = numpy_support.vtk_to_numpy(original.GetPoints().GetData())
print(orig_points)
print(original.GetPoints())
print(original.GetPoints().GetData())

打印输出

[[0. 0. 0.]
 [1. 0. 0.]
 [2. 0. 0.]]
vtkPoints (000001AE1F4096E0)
  Debug: Off
  Modified Time: 336
  Reference Count: 2
  Registered Events: (none)
  Data: 000001AE1D3E9FB0
  Data Array Name: Points
  Number Of Points: 3
  Bounds: 
    Xmin,Xmax: (0, 2)
    Ymin,Ymax: (0, 0)
    Zmin,Zmax: (0, 0)


vtkFloatArray (000001AE1D3E9FB0)
  Debug: Off
  Modified Time: 336
  Reference Count: 2
  Registered Events: (none)
  Name: Points
  Data type: float
  Size: 9
  MaxId: 8
  NumberOfComponents: 3
  Information: 0000000000000000
  Name: Points
  Number Of Components: 3
  Number Of Tuples: 3
  Size: 9
  MaxId: 8
  LookupTable: (none)

2、使用接口获取

import vtk
points = vtk.vtkPoints()
points.InsertNextPoint(0.0, 0.0, 0.0)
points.InsertNextPoint(1.0, 0.0, 0.0)
points.InsertNextPoint(2.0, 0.0, 0.0)
original = vtk.vtkPolyData()
original.SetPoints(points)

number = original.GetNumberOfPoints()
point = [0.0] * 3
for id in range(number):
    original.GetPoint(id, point)
    print(point)

输出:

[0.0, 0.0, 0.0]
[1.0, 0.0, 0.0]
[2.0, 0.0, 0.0]
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落花逐流水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值