Ho un campo scalare in un dominio 3D (fortunatamente può essere rappresentato in una griglia strutturata). Tuttavia, un dominio degli assi è considerevolmente più grande degli altri due.Paraview: modifica delle proporzioni degli assi nella finestra di rendering
Per motivi di chiarezza, il mio file 'VTS' è equivalente a quella che segue:
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})
Quando carico il file 'structured.vts' generati in Paraview ottengo qualcosa di simile alla figura qui sotto dopo aver cambiato la rappresentazione in volume.
Come si può vedere l'asse Z è considerevolmente più grande rispetto agli altri assi. C'è un modo per cambiare il rapporto aspetto/scala degli assi per migliorare questa visualizzazione?
EDIT:
modifica della scala dei dati (come sottolineato da credondo) e modificando la scala dell'asse fa conseguenza il trucco. La domanda è ancora aperta per un approccio più generale come cambiare la scala dell'intera vista di rendering. Specialmente per gestire più oggetti in cui sarebbe noioso modificare la scala per ognuno di essi.
Grazie. Ciò consente di salvare il passaggio di trasformazione dei dati, ma è necessario modificare anche la scala degli assi. Inoltre, dovresti farlo per ogni oggetto nella pipeline. Sto cercando qualcosa che riduca l'intera vista di rendering. – pysolver