Чтобы использовать текущий угол обзора на другой фигуре, вы можете сделать:
% call when the source axes is the current axes
[az, el] = view;
% call when the target axes is the current axes
view (az, el);
Или вы можете сделать то же самое, используя get
и set
свойства view
.
Однако, чтобы применить все свойства вида, которые вы упомянули вместе, проще использовать встроенную в Matlab опцию «сгенерировать файл» - когда у вас есть трехмерная фигура, как вам нужно, перейдите к file
-> Generate m-file
, и будет создан m-файл, который получает 3D-данные в качестве входных данных и применяет настройки.
Другой вариант - сохранить эти соответствующие настройки самостоятельно (просто проверьте созданный m-файл):
plot3(sin(t),cos(t),t);
pba = get(gca, 'PlotBoxAspectRatio');
dar = get(gca, 'DataAspectRatio');
cva = get(gca, 'CameraViewAngle');
cuv = get(gca, 'CameraUpVector');
ct = get(gca, 'CameraTarget');
cp = get(gca, 'CameraPosition');
и затем применить его к текущим осям (при условии, что целевые оси являютсятекущий):
set(gca, 'PlotBoxAspectRatio',pba);
set(gca, 'DataAspectRatio',dar);
set(gca, 'CameraViewAngle',cva);
set(gca, 'CameraUpVector',cuv);
set(gca, 'CameraTarget',ct);
set(gca, 'CameraPosition',cp);