Paraview:在渲染窗口中更改坐标轴的纵横比

12
我需要在一个三维区域内处理一个标量场(幸运的是它可以在结构化网格中表示)。然而,其中一个轴的区域要比其他两个轴大得多。
为了清晰起见,我的“vts”文件等同于以下文件:
from pyevtk.hl import gridToVTK
import numpy as np
import random as rnd

# Dimensions
nx, ny, nz = 6, 6, 30
lx, ly, lz = 1.0, 1.0, 10.0
dx, dy, dz = lx/nx, ly/ny, lz/nz

ncells = nx * ny * nz
npoints = (nx + 1) * (ny + 1) * (nz + 1)

# Coordinates
X = np.arange(0, lx + 0.1*dx, dx, dtype='float64')
Y = np.arange(0, ly + 0.1*dy, dy, dtype='float64')
Z = np.arange(0, lz + 0.1*dz, dz, dtype='float64')

x = np.zeros((nx + 1, ny + 1, nz + 1))
y = np.zeros((nx + 1, ny + 1, nz + 1))
z = np.zeros((nx + 1, ny + 1, nz + 1))

# We add some random fluctuation to make the grid
# more interesting
for k in range(nz + 1):
    for j in range(ny + 1):
        for i in range(nx + 1):
            x[i,j,k] = X[i] + (0.5 - rnd.random()*0) * 0.1 * dx * 0
            y[i,j,k] = Y[j] + (0.5 - rnd.random()*0) * 0.1 * dy * 0
            z[i,j,k] = Z[k] + (0.5 - rnd.random()*0) * 0.1 * dz * 0

# Variables
pressure = np.random.randn(ncells).reshape( (nx, ny, nz))
temp = x**2 + y**2 + z**2
gridToVTK("./structured", x, y, z, cellData = {"pressure" : pressure}, pointData = {"temp" : temp})

当我将生成的“structured.vts”文件加载到Paraview中并将表示方式切换为体积后,我会得到类似于下图的结果。

enter image description here

作为您可以看到,Z轴比其他轴要大得多。有没有办法改变坐标轴的纵横比/比例以改善这种可视化效果?
编辑:
更改数据的比例(如credondo所指出的)并相应地修改轴的比例即可解决问题。问题仍然存在一个更一般的方法,例如改变整个渲染视图的比例。特别是处理多个对象时,修改每个对象的比例将非常繁琐。
1个回答

9
您不需要修改您的数据,您可以在视图中缩放轴。
要做到这一点,您必须切换高级属性,即属性选项卡上的小齿轮图标,查找“比例尺”并选择每个轴的比例尺因子。或者您也可以直接使用属性搜索框(在“应用”按钮下方)并搜索“比例尺”以显示此属性。

4
谢谢。这样可以省去数据转换步骤,但您还需要更改轴刻度。此外,您需要为管道中的每个对象进行此操作。我正在寻找一种可以缩放整个渲染视图的方法。 - pysolver

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接