VTK の Y 軸を上ではなく下に移動させる方法はありますか?
データを表示する際に、VTK ウィンドウを非 VTK ウィンドウと一致させたいのですが、これらはすべて Y 軸が下向きになっています。
VTK の Y 軸を上ではなく下に移動させる方法はありますか?
データを表示する際に、VTK ウィンドウを非 VTK ウィンドウと一致させたいのですが、これらはすべて Y 軸が下向きになっています。
正確に何をしようとしているのかによっては、カメラを操作して逃げることができます。
次のようなことを試してください:
// To look "into" the X axis, with Y-axis pointing downwards
vtkCamera * cam = myRenderer->GetActiveCamera();
cam->SetPosition(1, 0, 0);
cam->SetFocalPoint(0, 0, 0);
cam->SetViewUp(0, -1, 0);
// To view the full bounds of your scene
myRenderer->ResetCamera();
これらの ivar を操作すると、非常に簡単に解決できるはずです。もっと複雑なことをしたい場合は、camara->SetUserTransform() を使用して vtkTransform をカメラに設定し、カメラの位置を計算する代わりに変換を操作できます。
ただし、VTK は常に右手座標系を想定していることに注意してください。上記の例では、X を見て Y を下に見ると、Z 軸は画面の左側に向かって増加します。左利きのシステムで作業している場合、これは混乱を招く可能性があります。
私はVTKに精通していませんが、機能SetReverseYAxis()はあなたが必要とするものかもしれません。
vtkChartXY など、VTK の新しいチャート コードを検討することもできます。3D シーンに単純なライン プロットを表示するテストTestChartsOn3D.cxxを追加しました。 vtkAxis クラスは、どちらの方向にも最小値と最大値を設定できるように設計されています。これは 3D シーンとは完全に独立していますが、2D チャートと一致させるかどうかに関係なく、好きなことを行うことができます。ただし、VTK 5.8.0 以降を使用する必要があります。