问题标签 [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.
python - PyVista 中的 3D 表面未正确生成。我试图避免关闭中心开口,但不知道该怎么做
我正在尝试使用 pyvista(也尝试过 Mayavi)创建 3D 表面,每当我执行 delaunay_2D 网格来创建表面时,它都会关闭该表面的“嘴”开口,该开口仍应打开。我附上了一张图片,显示了需要修复的部分,以及我的代码副本,该副本生成数据并重现当前问题。我非常感谢任何人对此问题的帮助。
python - Python:从凸包获取曲面
我是 3D 计算的新手,我搜索了一段时间,但找不到任何解决方案(可能我使用了错误的搜索词)。
所以我有不同的 3D 点云——例如一个有 5 个点的“金字塔”:
数组如下所示:
现在我想提取所有“表面”——我的计划是计算凸包,但我找不到任何属性来获得表面——我用 scipy.spatial 进行了测试
例如我想要以下输出:
我如何计算这些“表面”?
谢谢Dev先生
编辑:好的,我认为我的问题很具体-但这是我的下一次尝试(我找到了库“pyvista”)
我有以下代码:
这段代码为我生成了一个 *.obj 文件
并向我展示了一个情节:
我希望在这个目标文件中找到 5 个“面”——但有 6 个——因为“地面”被分成两个三角形——条目:
所以我的问题是:是否有可能(可能使用 pyvista)生成一个输出文件(不管它是 .obj 文件还是其他文件),我可以在其中找到金字塔的 5 个“面孔”?
谢谢
python - PyVista 和 Blender 中的顶点法线看起来不同
我正在处理洞穴的网格,并使用 Blender 手动将所有面法线设置为“正确”(所有面朝外)(编辑模式-> 选择面-> 翻转法线)。我还在 Blender 中可视化了顶点法线,它们都指向整个表面:
然后将网格导出为 STL 文件。
然而,现在,当我使用以下代码在 Pyvista 中可视化相同的东西时:
法线指向非常不同(如下),有时甚至是相反的方向。任何帮助理解这种差异将不胜感激!
OC_wellsliced.stl
STL 文件在这里。
python - 在 PYQT5 中使用 Pyvista 3D 和 2D 绘图
我正在尝试使用 Pyvista 绘制 3D 和 2D 绘图,我已经能够使 3D 绘图工作没有问题。添加二维图后,出现以下错误:
- 当我更改原始大小并且小部件使其大小增加时,我必须向 gridLayout_8 添加一个交互器小部件。我不确定如何避免这种情况。
- 当我关闭应用程序时,也会出现以下错误:
抱歉,这些脚本的行数太多,不适合放在此处。
主代码 https://pastebin.com/nMPWWeU5
pyvistaGUI https://pastebin.com/h5wiLYCY
我将非常感谢任何人对此的帮助!
python-3.x - PyVista 相交函数不适用于三角曲面
我正在尝试使用 PyVista python 包找到多点渐变曲线和三角曲面之间的交点。我已经尝试过常规折线并将折线制作成管以进行交叉计算。出于某种原因,PV 返回网格之间没有交集。我已经在视觉上确认了网格之间存在交集。我试图将折线生成为三角网格,然后检查这两个网格之间的交点。这行得通,但不幸的是,三角测量将我的折线扭曲到无法使用的程度。有人可以看看并告诉我我做错了什么吗?这是我创建折线点管的代码:
如果我可以提供任何进一步的细节,请告诉我。
python - PyVista 中的多体曲面到体积网格
我有一个项目涉及将曲面网格导入 PyVista 并使用 tetgen 将它们转换为体积网格。其中一些表面网格包含多个实体,基本上沿一个表面分割。这些不能被四面体化,因为它们是非流形的,但我想找到一种方法来修复它们,同时保留两个部分。下面是一个示例,显示了我正在处理的网格类型,以及使用 meshfix.repair 时如何丢失一个部分。(为大数据集道歉,这个问题似乎不会发生在更简单的网格中)
给定这样的输入网格,我怎样才能得到两个部分的四面体?
编辑:还有一些想法。
- 网格有两个不同的防水部分。所以也许有一种算法可以将表面网格分成单独的防水部分。尝试过 DatasetFilters.Connectivity 但这要求这些部分不要接触。
- 墙元素在各个部分之间共享,因此唯一的非流形边缘位于表面的外侧。这使得很难选择分隔墙。
- 也许我们可以做一些迭代测试,检查一个点是否在水密部分内,然后删除那些墙......