2016-03-03 13 views
9

私は3Dドメイン内にスカラーフィールドを持っています(幸いにもそれは構造化グリッドで表現できます)。しかし、1つの軸ドメインは他の2つの軸ドメインよりもかなり大きい。明確にするために、私の「VTS」ファイルは、以下の1に相当しパラグラフ:レンダリングウィンドウでの軸のアスペクト比の変更

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}) 

私はのParaviewに発生した「structured.vts」ファイルをロードすると、私は次の図のように何かを得ます表現をボリュームに切り替えた後。

enter image description here

あなたはZ軸を見ることができるように他の軸よりもかなり大きいです。この視覚化を改善するために軸の縦横比/スケールを変更する方法はありますか?

EDIT:

(credondoにより指摘したように)データのスケールを変更し、軸のスケールを変更することに応じて、トリックを行います。この質問は、レンダービュー全体のスケールを変更するなど、より一般的なアプローチにはまだ開いています。特に、それぞれのスケールを変更するのが面倒な複数のオブジェクトを扱う場合に適しています。

答えて

5

データを変更する必要はありません。ビューで軸を拡大/縮小できます。

これを行うには、プロパティタブの小さな歯車のアイコンを詳細に切り替え、「スケール」を探して各軸の倍率を選択する必要があります。または、(Applyボタンの下にある)プロパティ検索フィールドを使用して、 "Scale"を検索するだけで、このプロパティを表示することができます。

+2

ありがとうございました。これによりデータ変換ステップが節約されますが、軸のスケールも変更する必要があります。また、パイプラインのすべてのオブジェクトに対してこれを行う必要があります。私は、レンダリングビュー全体をスケーリングするものを探しています。 – pysolver

関連する問題