【问题标题】:MATLAB plot3 left handed coordinate systemMATLAB plot3左手坐标系
【发布时间】:2019-01-10 23:30:04
【问题描述】:

我想在 Matlab 中使用plot3 显示一些数据。此数据在左手坐标系中最有意义。

但是,MATLAB 的 3D 绘图坐标系以 Z 向上为方向,这与记录数据的方式不一致 - 使可视化变得混乱。我知道 Matlab 也使用左手坐标系,只是它绕 x 轴顺时针旋转了 90 度。

我已经尝试使用camup 命令,该命令有点接近我想要的,但是一旦在 GUI 中旋转绘图,camup 就会被丢弃,并且绘图会恢复到上面约定。

我不希望我的数据绕 x 轴顺时针旋转 90 度,因为在分析和调试时会引入另一个级别的歧义。

编辑:我认为这个指令序列已经接近了。

set(gca, 'YDir', 'reverse');
camup([0 1 0]);
xlabel('X (mm)');
ylabel('Y (mm)');
zlabel('Z (mm)');

【问题讨论】:

    标签: matlab matlab-figure


    【解决方案1】:

    您可以通过反转任一轴的方向来绘制左手坐标系。这由axesXDirYDirZDir 属性控制。

    surf(peaks)
    set(gca, 'ZDir', 'reverse')
    xlabel('x')
    ylabel('y')
    zlabel('z')
    

    【讨论】:

    • 对不起,我想你可能误解了这个问题。 y 轴应该是“向上”方向。我看不出你的截图和我最初发布的截图有什么不同。
    • @Carpetfizz:不同之处在于该图的 z 轴指向下方,成为左手坐标系。 MATLAB 的默认设置是右手操作。如果你旋转这些轴,你会得到你想要的视图。
    • 哦,我现在看到了 - 谢谢!但我想我不能像原始帖子中的第一张图片那样查看图表,其中 y 轴是“向上”向量?
    • 是的,只要我用鼠标旋转场景,相机就会重置
    • 即使没有旋转也无法产生想要的效果
    猜你喜欢
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    • 1970-01-01
    • 1970-01-01
    • 2017-01-05
    • 2021-07-14
    • 1970-01-01
    相关资源
    最近更新 更多