Matlab 网格中的斜投影 [英] Oblique projection in Matlab mesh
问题描述
在表示光学布局时,以倾斜(而不是正交或透视)投影表示光学系统,所有块都在光轴上,通常很方便且图形美观.
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.
假设有人想在这样的布局上叠加一个 Matlab 网格或 oblique/cavalier 中的 3D 等高线图投影(具体来说:表示图像平面上点扩散函数的网格).
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 通常允许在 正交投影 或透视投影中绘制 3D 绘图.有没有办法在 Matlab 中配置相机视图,以便在骑士投影中返回 3D 绘图?
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?
推荐答案
据我所知,Matlab 不支持这种现成的.
As far as I understand it, Matlab does not support this out-of-the-box.
但是看看文件交换提交obliqueview
.它似乎采用 3d 绘图的对象,进行 剪切变换 其中,然后在 2d 中绘制它们.
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.
我刚试了一下,好像有点兼容Matlab2014b及以后的新图形系统hg2".(运行示例时有一个非严重警告).
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).
这篇关于Matlab 网格中的斜投影的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!