When representing optical layouts, it is often convenient and graphically pleasing to represent the optical system in an oblique (rather than orthographic or perspective) projection, with all blocks on the optical axis.
Suppose one wanted to overlay on such a layout a Matlab mesh, or 3D contour plot in an oblique/cavalier projection (to be specific: a mesh representing a point spread function on an image plane).
Matlab normally allows 3D plots in either orthographic projection or perspective projection. Is there a way to configure the camera view in Matlab so that 3D plots are returned in cavalier projection?
As far as I understand it, Matlab does not support this out-of-the-box.
But have a look at the file exchange submission
obliqueview
. It seems to take the objects of a 3d plot, makes a shear transform of them and then plots them in 2d.I just tried it, and it appears to be somewhat compatible with the new graphics system "hg2" of Matlab2014b and later. (There is one non-critical warning when running the example).