正如你在标题中看到的,我想在vtk(python)中制作均匀分布的球体
首先,我看到这个链接“均匀分布球体上的n个点”,这是一种创建均匀分布球体的方法。通过该链接,我获得了均匀分布球体的 x、y、z 坐标。
其次,这实际上并不是我必须解决的问题。问题是即使我有均匀分布球体的 x,y,z 坐标,我也无法在 vtk(python) 上制作多数据。
import numpy as np
import mpl_toolkits.mplot3d
import matplotlib.pyplot as plt
import vtk
from scipy.spatial import Delaunay
num_pts = 1000
indices = np.arange(0, num_pts, dtype=float) + 0.5
phi = np.arccos(1 - 2*indices/num_pts)
theta = np.pi * (1 + 5**0.5) * indices
x, y, z = np.cos(theta) * np.sin(phi), np.sin(theta) * np.sin(phi), np.cos(phi);
# x,y,z is coordination of evenly distributed shpere
# I will try to make poly data use this …Run Code Online (Sandbox Code Playgroud) 我有 XUBUNTU 16.04 32 位。我是 VTK 库的初学者。我已经从源代码构建并安装了 VTK 7.1.1。我按照https://www.vtk.org/Wiki/VTK/Configure_and_Build的说明 安装就可以了。没有错误。我下载了最简单的示例:CylinderRenderingProperties。然后,我编译该示例。没有错误。但是,当我运行程序时
./CylinderRenderingProperties
Run Code Online (Sandbox Code Playgroud)
有一个错误:
VTK-7.1.1/Rendering/OpenGL2/vtkShaderProgram.cxx, line 395 vtkShaderProgram (0x9fd1510): 0:39(12): error: extension `GL_EXT_gpu_shader4' unsupported in fragment shader
Run Code Online (Sandbox Code Playgroud)
我不知道出了什么问题。可能与任何图形驱动程序有关?这是我的图形硬件的信息:
inxi -G
Graphics: Card: Intel Mobile 4 Series Integrated Graphics Controller
Display Server: X.Org 1.19.3 drivers: (unloaded: fbdev,vesa)
Resolution: 1280x800@60.00hz, 1280x1024@60.02hz
GLX Renderer: Mesa DRI Mobile Intel GM45 Express x86/MMX/SSE2 GLX Version: 2.1 Mesa 17.0.7
Run Code Online (Sandbox Code Playgroud) “FindClosestPoint”函数的定义如下:
def FindClosestPoint(self, p_float=None, p_float=None_1, p_float=None_2, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__
"""
V.FindClosestPoint([float, float, float], [float, float, float],
vtkGenericCell, int, int, float)
C++: void FindClosestPoint(double x[3], double closestPoint[3],
vtkGenericCell *cell, vtkIdType &cellId, int &subId,
double &dist2) override;
V.FindClosestPoint([float, float, float], [float, float, float],
int, int, float)
C++: virtual void FindClosestPoint(double x[3],
double closestPoint[3], vtkIdType &cellId, int &subId,
double &dist2)
Return the closest point and the cell which is closest to the
point x. The …Run Code Online (Sandbox Code Playgroud) 我已经看到 vtkplotter 支持范围广泛的体积图像格式,但它是否支持绘制 numpy 数组?我有一个 .mhd 格式的图像,我将其转换为 .npz 文件,并想使用提到的库绘制它。有没有办法这样做?
import numpy as np
data = np.zeros((3,3,3))
# how to plot this?
Run Code Online (Sandbox Code Playgroud)
如果您知道任何其他适用于医学分析的可视化体积数据的工具,请告诉。我试过 mayavi,但它消耗了太多内存,以至于我的电脑崩溃了。
我正在尝试访问保存热方程解的 VTK 文件,但我不知道它在 Colab 中的保存位置。
from fenics import *
import time
T = 2.0 # final time
num_steps = 50 # number of time steps
dt = T / num_steps # time step size
# Create mesh and define function space
nx = ny = 30
mesh = RectangleMesh(Point(-2, -2), Point(2, 2), nx, ny)
V = FunctionSpace(mesh, 'P', 1)
# Define boundary condition
def boundary(x, on_boundary):
return on_boundary
bc = DirichletBC(V, Constant(0), boundary)
# Define initial value
u_0 = Expression('exp(-a*pow(x[0], …Run Code Online (Sandbox Code Playgroud) 我最近将我的系统更新到了 Ubunutu 20.04,我的 python 现在是 3.8。从那以后我所有的import vtk线路都不起作用,
ModuleNotFoundError: No module named 'vtk'
Run Code Online (Sandbox Code Playgroud)
我已经尝试过apt-get python-vtk,pip3 install vtk几乎所有的标准终端安装命令。毫无疑问,他们都无法找到包裹。我一直在网上寻找解决这个问题的方法,但没有成功。
我熟悉从源代码构建 Kitware(Cmake 和 Paraivew)的东西,所以我这样做了:
git clone https://github.com/Kitware/VTK.git
mkdir VTK/build
cd VTK/build
ccmake ..
make
make install
Run Code Online (Sandbox Code Playgroud)
一些相关CMake的选项BUILD_SHARED_LIBS=ON,CMAKE_BUILD_TYPE=Release,CMAKE_INSTALL_PREFIX=/usr/local,python3_EXECUTABLE=/usr/bin/python3.8,VTK_WRAP_PYTHON=ON,Python3_INCLUDE_DIR=/usr/include/python3.8,Python3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.8.so,和VTK_PYTHON_OPTIONAL_LINK=ON。
我能够构建它,并且我认为我应该打开python wrapping. 安装后,我发现仍然无法运行 python 文件,仍然出现与上述相同的错误。我觉得我只需要告诉 python 去哪里获取 vtk 模块,这是正确的吗?如果是这样,它在哪里,它的名字是什么,我如何制作 python 链接到它?还是我错过了什么或做了一些非常愚蠢的事情?
如果有一种apt-get或pip3 install方式这样做会更好,但我想我已经用尽了谷歌搜索找到的所有尝试。
提前致谢。
我想使用Visualization Toolkit来分散绘图点,每个绘图点都有不同的颜色.我已经使用了这里给出的建议来绘制灰色的点,但我不明白如何为每个点赋予颜色.
多维数据集示例的相关部分是:
vtkPolyData *cube = vtkPolyData::New();
vtkPoints *points = vtkPoints::New();
vtkCellArray *polys = vtkCellArray::New();
vtkFloatArray *scalars = vtkFloatArray::New();
// Load the point, cell, and data attributes.
for (i=0; i<8; i++) points->InsertPoint(i,x[i]);
for (i=0; i<6; i++) polys->InsertNextCell(4,pts[i]);
for (i=0; i<8; i++) scalars->InsertTuple1(i,i);
// We now assign the pieces to the vtkPolyData.
cube->SetPoints(points);
points->Delete();
cube->SetVerts(polys);
polys->Delete();
cube->GetPointData()->SetScalars(scalars);
scalars->Delete();
Run Code Online (Sandbox Code Playgroud)
我怎样才能给每个Verts一个颜色?
我正在开发一个 qt/vtk 应用程序,用户可以根据他的要求绘制大量的 vtk 演员/道具。现在需要提供一种功能来组合所有绘制的演员/道具以形成母演员/道具。我尝试过 vtkactorcollection,但它单独存储所有演员。提供任何合适的示例或将我指向相关帖子。
我想从paraview导出高质量的矢量图形,但是除了svg(svg也不完美但ps和eps更好)之外,所有导出的矢量图形格式似乎都有点模糊.有没有解决这个问题的方法,我可以获得出版质量的图像?
我想使用 Python VTK 模块从 .vtu 文件中提取数据数组。文件看起来像这样(文件末尾的原始数据被省略):
<?xml version="1.0"?>
<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian">
<UnstructuredGrid>
<Piece NumberOfPoints="10471" NumberOfCells="64892">
<PointData>
<DataArray type="Float64" Name="potential" NumberOfComponents="1" format="appended" offset="0"/>
<DataArray type="Float64" Name="electric field" NumberOfComponents="3" format="appended" offset="83772"/>
</PointData>
<CellData>
<DataArray type="Int32" Name="GeometryIds" format="appended" offset="335080"/>
</CellData>
<Points>
<DataArray type="Float64" NumberOfComponents="3" format="appended" offset="594652"/>
</Points>
<Cells>
<DataArray type="Int32" Name="connectivity" format="appended" offset="845960"/>
<DataArray type="Int32" Name="offsets" format="appended" offset="1865068"/>
<DataArray type="Int32" Name="types" format="appended" offset="2124640"/>
</Cells>
</Piece>
</UnstructuredGrid>
<AppendedData encoding="raw">
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下 python 代码提取数据:
import numpy
from vtk import vtkUnstructuredGridReader
from vtk.util import numpy_support as …Run Code Online (Sandbox Code Playgroud) vtk ×10
python ×5
c++ ×2
python-3.x ×2
ubuntu ×2
evenly ×1
fenics ×1
mayavi ×1
numpy ×1
opengl ×1
paraview ×1
pde ×1
point-clouds ×1
scatter-plot ×1