Pyvista 挑战,不显示连续缩放和渲染被混淆

Pyvista Challenges, Not Showing Continuous Scale And Rendering is Obfuscated

提问人:GS_1989 提问时间:9/12/2023 最后编辑:GS_1989 更新时间:9/13/2023 访问量:69

问:

Pyvista 和 stackoverflow 的新手。

我在使用 Pyvista 的色阶和渲染方面遇到了问题。

以下是代码,大部分是 Pyvista 文档中的样板:

import numpy as np
import pyvista as pv

ni, nj, nk = 4, 5, 20
si, sj, sk = 20, 10, 1

xcorn = np.arange(0, (ni + 1) * si, si)
xcorn = np.repeat(xcorn, 2)
xcorn = xcorn[1:-1]
xcorn = np.tile(xcorn, 4 * nj * nk)

ycorn = np.arange(0, (nj + 1) * sj, sj)
ycorn = np.repeat(ycorn, 2)
ycorn = ycorn[1:-1]
ycorn = np.tile(ycorn, (2 * ni, 2 * nk))
ycorn = np.transpose(ycorn)
ycorn = ycorn.flatten()

zcorn = np.arange(0, (nk + 1) * sk, sk)
zcorn = np.repeat(zcorn, 2)
zcorn = zcorn[1:-1]
zcorn = np.repeat(zcorn, (4 * ni * nj))

corners = np.stack((xcorn, ycorn, zcorn))
corners = corners.transpose()

dims = np.asarray((ni, nj, nk)) + 1
grid = pv.ExplicitStructuredGrid(dims, corners)
grid = grid.compute_connectivity()


cell_centers = grid.cell_centers()
k_values = cell_centers.points[:, 2]
random_values = np.random.rand(grid.n_cells) * k_values
grid.cell_data["values"] = random_values
grid.plot(scalars="values", show_edges=True)

这将创建以下图形:

规模问题

知道为什么量表是分段的和不正确的吗?

当 show_edges = False 时,我也会遇到奇怪的渲染问题。

渲染问题

此代码也出现了同样的问题:

import pyvista as pv

pv.set_plot_theme(“文件”) 将 numpy 导入为 NP

def plot_grid(): 电网 = 光伏。统一网格()

# Set the grid dimensions: shape because we want to inject our values
grid.dimensions = [10, 10, 10]

# Edit the spatial reference
grid.origin = [0, 0, 0]  # The bottom left corner of the data set
grid.spacing = [1, 1, 1]  # These are the cell sizes along each axis

# Add the data values to the cell data
grid.cell_data["values"] = np.arange(grid.n_cells)

# Now plot the grid!
plotter = pv.Plotter()
plotter.add_mesh(grid, show_edges=True, scalars="values")
plotter.add_scalar_bar(title="Cell Number")
plotter.show()

测试函数

plot_grid()

enter image description here

知道为什么在关闭边缘时渲染会被抛出循环吗?

python 渲染 缩放 vtk pyvista

评论

0赞 Andras Deak -- Слава Україні 9/13/2023
我不熟悉显式结构化网格,但您正在进行大量手动计算,如果您出错,VTK 可能会偏离轨道。您需要一个显式的结构化网格吗?因为你的网格看起来像一个 (née ),或者最坏的情况。使用更简单的网格表示形式可以更轻松地正确定义网格。ImageDataUniformGridStructuredGrid
0赞 GS_1989 9/13/2023
请参阅带有另一个示例的更新问题。我遇到了同样的问题。它发生在所有绘图类型中。
1赞 Bane Sullivan 12/3/2023
这看起来像是图形驱动程序问题。当我尝试在虚拟机下绘图并在 Windows 上使用旧的 OSMesa 版本时,我看到了这一点。我认为这是一个特定于您的系统的奇怪硬件/驱动程序问题,很难在堆栈溢出时进行调试......通常,对于 GitHub 上的 PyVista 错误,我们会在此过程中寻求帮助print(pv.Report())

答: 暂无答案