问题标签 [pyvista]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
140 浏览

python - 如何将 Z 通道上的 2 个表面连接成一个网格?

所以我有 2 个表面(PyVista 中的 PolyData)一个在另一个之上:

在此处输入图像描述

它们在 Z 通道上的形状略有不同,但只要顶部的在 X、Y 平面上具有 Z 值,我们确信底部的具有相同的值。那么如何将对齐的两个曲面 X、Y 合并为一个实体网格呢?


我尝试什么:

我能得到什么: 在此处输入图像描述

我所期望的: 在此处输入图像描述 只有中间被填充。

0 投票
1 回答
120 浏览

python - 如何切割连接到低于pyvista中某个值的点的顶点和面?

因此,当从 Grass GIS 导出时r.out.vtk,我们会得到一个带有 -99999 点而不是空值的坏表面:

在此处输入图像描述

我想删除它们,但一个简单的剪辑是不够的:

导致: 在此处输入图像描述

所以我想知道如何只保留顶部(> -999)点和连接的顶点 - 以便使用 pyvista 仅获得顶部平面(实际上是弯曲的\不是平面的)?

链接到示例 .vtk

0 投票
1 回答
327 浏览

python - 如何检查一个点是否在pyvista的表面内?

所以我有一个封闭的网格和一个单点。如何检查一个是否在另一个内部?

我试过了:

但我在len(inside.points). 那么如何检查一个点是否在网格内?

0 投票
1 回答
86 浏览

python - PyVista 绘图仪无法为多个子图生成背景图像

我正在尝试在 Python 中渲染网格,pyvista.Plotter()同时尝试在渲染的网格旁边显示图像。代码目前的形式为

我认为这Plotter.add_background_image()将是使用 PyVista 绘制图像的最方便的方法。循环中注释掉的行for实际上产生了正确的排列,但我希望较小的图有背景图像而不是另一个网格。但是,实际上只显示了最终的图像文件,并且它是p.subplot(0)不应有背景图像的背景图像。是否有更方便的方式在 pyvista 3d 渲染窗口旁边显示图像?

0 投票
1 回答
275 浏览

python - 如何将笛卡尔问题转换为圆柱问题?

我使用 Pyvista 在笛卡尔系统中显示陀螺仪结构 (TPMS)。我现在尝试以柱坐标显示结构。Pyvista 确实显示了一些圆柱形的东西,但似乎晶胞长度不均匀(虽然没有理由改变这个我的参数“a”是稳定的。这种变化似乎特别是沿 z 出现,但我不明白为什么(见图片)。

我有这个: 在此处输入图像描述 这是我的代码的一部分。

谢谢您的帮助。

0 投票
0 回答
306 浏览

python - 无法让 Pyvista 渲染与 Qt QML QQuickFramebufferObject 一起使用

我在 Qt 5.15.x Qt Widgets 中有多个 Pyvista 3d 可视化渲染。这是使用 QtInteractor ( https://github.com/pyvista/pyvistaqt ) 完成的。现在,我正在从 Qt 小部件转向 Qt QML。

我的想法是从 PyVista 获取渲染器并在 QML QQuickFrameBufferObject 中渲染。根据来自的知识

我编写了以下 Python3 代码。文件:qml_fbo_pyvista.py

文件:qml_view/pyvista3d_view.qml

由于 PyVista 的渲染器已经有一个 Sphere 3d 对象,我的期望是,它会在 QML 的帧缓冲区对象中渲染,并将在 QML 窗口中可见。但是,我错了。没有崩溃,但我也没有在 QML 窗口中看到 Sphere 3d 对象。

QML QSG_VISUALIZE 调试显示创建了一个 FBO 对象,但无法让 PyVista 的渲染器与 QML 帧缓冲区一起工作。

输出: qml_fbo_pyvista.py UI 输出 qml_fbo_pyvista.py 控制台输出

环境:

我错过了什么?

0 投票
1 回答
111 浏览

python - 将柏林噪声多次应用于平面/球体

一般来说,我对 Perlin 噪声和 pv.sample_function 有一些疑问。

  1. 您将如何将 Perlin 噪声应用于球体?我想要一个有点变形的球体。
  2. 您可以多次将 Perlin 噪声应用于网格(球体/平面)吗?我想有一架飞机,上面有一些粗糙的“波浪”和高细节的噪音(因此有大波浪,里面有小波浪)。
  3. 频率中的第三个参数究竟是做什么的?在玩了一些值之后,我没有注意到它是如何影响噪音的。

这是我想应用于一架飞机的两种不同频率/柏林噪声。此外,它还显示了他们分别创建的平面。

0 投票
0 回答
15 浏览

python - 如何将ipygany插入其他网页?

所以我想将在 Jupyter 中呈现的 ipygany 小部件嵌入到 Web 应用程序中,就像他们在这个pyvista文档中所做的那样。有什么方法可以从 jupyter 获得类似可嵌入 html 代码的东西?

0 投票
0 回答
37 浏览

scaling - `pyvista` 轴在原点没有缩放

有谁知道是否有一种方法可以add_axes_at_originpyvista用户放大或缩小时使用并防止它们缩放?这就是传统add_axes轴的工作方式pyvista(即它们不缩放)。

0 投票
1 回答
108 浏览

python - 布尔联合两个网格仅适用于椭圆体

我想在街道(平面)上创建一个坑洼(椭圆体)。经过一些测试,我意识到布尔联合可能是使用的那个(因为我想结合两个网格但不希望街道掩盖坑洼)。
当我使用 Sphere 尝试此操作时,它工作得非常好。
但是,我使用的是 ParameticEllipsoid。在那里我经常收到错误“vtkMath::Jacobi: Error extracting eigenfunctions”,并且想要的效果只适用于布尔差异而不是联合。我想它必须与 vtk/py 及其几何对象创建有关。

虽然采用布尔差异带来了想要的结果,但它需要很多时间(我不会太介意)并且很少工作(并且只有在椭圆体不与其他物体啮合的情况下)。

有没有办法避免这种情况?我的想法是提取网格的点(NumPy 数组)并计算与它们的联合,但我无法做到。

或者,我考虑直接定义椭圆形凹陷,使用高度作为平面内位置的函数。是否可以在不使用布尔运算的情况下做到这一点?