MATLAB plot3 左手坐标系
MATLAB plot3 left handed coordinate system
我想使用 plot3
在 Matlab 中显示一些数据。此数据在左手坐标系中最有意义。
然而,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)');
您可以通过反转任何一个轴的方向来绘制左手坐标系。这由 axes
.
的 XDir
、YDir
或 ZDir
属性控制
surf(peaks)
set(gca, 'ZDir', 'reverse')
xlabel('x')
ylabel('y')
zlabel('z')
我想使用 plot3
在 Matlab 中显示一些数据。此数据在左手坐标系中最有意义。
然而,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)');
您可以通过反转任何一个轴的方向来绘制左手坐标系。这由 axes
.
XDir
、YDir
或 ZDir
属性控制
surf(peaks)
set(gca, 'ZDir', 'reverse')
xlabel('x')
ylabel('y')
zlabel('z')