2016-03-03 29 views
9

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.

enter image description here

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.

risposta

5

Non è necessario modificare i dati, è possibile ridimensionare gli assi nella visualizzazione.

Per fare ciò è necessario alternare le proprietà avanzate, l'icona a ingranaggi piccola nella scheda delle proprietà, cercare "Scala" e scegliere ciascun fattore di scala dell'asse. Oppure puoi semplicemente utilizzare il campo di ricerca delle proprietà (sotto il pulsante Applica) e cercare "Scala" per mostrare questa proprietà.

+2

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

Problemi correlati