VTK的Python绑定中的vtkSphere :: ComputeBoundingSphere在哪里?

时间:2014-05-25 17:58:36

标签: python vtk mayavi

我在Windows上使用带有VTK版本5.10.1和MayaVi版本4.3.1的Anaconda 64位。 VTK的Python绑定是vtkSphere::ComputeBoundingSphere吗?我有一组3D点,我想要最小的边界球。据我所知,vtkSphere::ComputeBoundingSphere在C ++中执行此操作但我在VTK的Python绑定中找不到此函数。

我发现类vtk.vtkSpherehelp(vtk.vtkSphere)的输出提到“其他方法可用于与球体相关的计算,例如为一组点或一组球体计算边界球体。 ”。那么,这个功能在哪里呢?

1 个答案:

答案 0 :(得分:0)

我仍然没有发现VTK的Python绑定暴露vtkSphere::ComputeBoundingSphere的证据,但我发现了CGAL库,其Python绑定确实暴露了N维边界球计算。 C ++函数文档位于http://doc.cgal.org/latest/Bounding_volumes/classCGAL_1_1Min__sphere__d.html

我在http://cgal-python.gforge.inria.fr/使用了过时的绑定(因为http://www.lfd.uci.edu/~gohlke/pythonlibs/#cgal-python有一个Windows安装程序可用)但是如果有人想试试,可以在https://code.google.com/p/cgal-bindings/找到更新的绑定。

假设你有一个名为verts的顶点列表,下面的代码构造一个Min_sphere_3对象,从中可以得到边界球体的中心和半径。

import CGAL

min_sphere = CGAL.Geometric_Optimisation.Min_sphere_3()

for pt in verts:
    min_sphere.insert(CGAL.Point_3(pt[0], pt[1], pt[2]))

# Sphere properties: min_sphere.center(), min_sphere.squared_radius().