gmviz_init_matlabplot.m

来自「算断裂的」· M 代码 · 共 35 行

M
35
字号
function handle1 = gmviz_init_matlabplot(bbox)
% Initialize a matlab plot window.

fig = gmviz1;
ax = findobj(fig,'tag','Axes1');
handle1 = ax;
set(ax, 'DataAspectRatioMode', 'manual');
set(ax, 'xlimmode','manual');
set(ax, 'ylimmode','manual');
set(ax, 'zlimmode','manual');
[di, scrap] = size(bbox);
set(ax, 'UserData', di);
set(ax, 'DataAspectRatio', [1,1,1]);
deltas = bbox(:,2) - bbox(:,1);
deltamax = max(deltas);
centroid = (bbox(:,1) + bbox(:,2)) / 2;
set(ax, 'xlim', [bbox(1,1), bbox(1,1)+deltamax]);
set(ax, 'ylim', [bbox(2,1), bbox(2,1)+deltamax]);
if di == 3
  set(ax, 'zlim', [bbox(3,1),bbox(3,1)+deltamax]);
  set(ax, 'CameraPositionMode', 'manual');
  set(ax, 'CameraViewAngleMode', 'manual');
  set(ax, 'CameraUpVectorMode', 'manual');
  set(ax, 'CameraTargetMode', 'manual');
  set(ax, 'CameraPosition',  centroid' + deltamax * [1,1,1]);
  lg = light;
  set(lg, 'position', get(ax,'CameraPosition'));
  set(lg, 'tag', 'gmviz_light');
  set(ax, 'CameraTarget', centroid');
  set(ax, 'CameraViewAngle', 90);
  uvec = [1,-1/2,-1/2];
  uvec = uvec/norm(uvec);
  set(ax, 'CameraUpVector', uvec);
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?