3D vectors onto diagonal planes

Hi there,

I’m working on thermal turbulent flows and I want to display 3D velocity vectors on a diagonal plane. I have an issue as I want to show the dimensionless temperature contour superimposed because the 3D vectors are not oriented towards the same side of the normal vector of the diagonal plane so I have to reduce the opacity of the temperature contour to show the vectors properly. Is there a way to present them in the foreground or something else?

Also, I’d like to change the color of the orientation unit vector (x,y,z) to black and change its location

Could you help me?


A similar question about drawing an object in front of another one even though it is technically behind came up in another recent question (Positioning and orientation of the orientation widget). I proposed to use a rendering shader to play with the depth of the object to adjust where it is drawn.

You can create such a shader by selecting the Glyph object in the pipeline browser and finding the Use Shader Replacements advanced display option. Turn that on and then use this for the shader replacement:

    "type": "vertex",
    "original": "//VTK::CustomEnd::Impl",
    "replacement": "gl_Position.z -= 1;"

Alternately, you can click on the Screen Shot 2022-12-28 at 9.39.27 AM button and load this file: closer-shader.json (109 Bytes).

I have to warn you that shaders are not really my bag, baby. I’ve just been playing with them a little and seeing what can happen. I found that you might have to change the number subtracted from gl_Position.z to get the arrows drawn in front of your slice but behind the near clipping plane. The effect will probably work better if you keep drawing the outline of the whole dataset.

As for the orientation axes, I don’t think you can change the colors being used. But you can move it by turning on the advanced Orientation Axes Interactivity property and then just dragging it where you want it.

Thank you very much