⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pi_limptmove2.m

📁 基于matlab的反演程序,用于地球物理勘探中射线追踪及偏移成像程序.
💻 M
字号:
function limptmove2();
hobj=gco;
axes1=gca;
% original positions of lines, will be import when reposition
pts=get(axes1,'userdata');
xdat=get(axes1,'xlim');
ydat=get(axes1,'ylim');
cpt=get(axes1,'currentpoint');
newxpt=sort([xdat(1) cpt(1,1) xdat(2)]);
newypt=sort([ydat(1) cpt(1,2) ydat(2)]);
newpt=[newxpt(2) newypt(2)];
set(hobj,'xdata',[newxpt(2)],'ydata',[newypt(2)]);
h=get(gcf,'userdata');
hlimbox=h(14);
limdata=get(hlimbox,'userdata');
limptdat=limdata{1};
limlndat=limdata{2};
lntop=limlndat(1);
lnlft=limlndat(3);
limcent=limdata{4};
wpt=find(hobj==limptdat);
% 1 - Move
% 0 - Hold
ptstatus={{[1 1] [0 1] [1 0] [0 0]},...
        {[0 1] [1 1] [0 0] [1 0]},...
        {[1 0] [0 0] [1 1] [0 1]},...
        {[0 0] [1 0] [0 1] [1 1]}};
ptstatus=ptstatus{wpt};
cormv={'xdata' 'ydata'};
for ii=1:4
    movept=limptdat(ii);
    ps=ptstatus{ii};
    for jj=1:2
        if(ps(jj)==1)
            set(movept,cormv{jj},newpt(jj));
        end
    end
end
% 1 - Move
% 0 - Hold
lnmv1={[1 0 1 1] [1 0 0 0] [1 1 0 1] [0 0 0 1]};
lnmv2={[0 1 1 1] [0 1 0 0] [0 0 0 1] [1 1 0 1]};
lnmv3={[1 0 0 0] [1 0 1 1] [1 1 1 0] [0 0 1 0]};
lnmv4={[0 1 0 0] [0 1 1 1] [0 0 1 0] [1 1 1 0]};
lnmv={lnmv1 lnmv2 lnmv3 lnmv4};
lnmv=lnmv{wpt};
cormv={'xdata' 'xdata' 'ydata' 'ydata'};
ptmv=[newxpt(2) newxpt(2) newypt(2) newypt(2)];
for ii=1:4;
    moveln=limlndat(ii);
    lm=lnmv{ii};
    mdat=[];
    for jj=1:4
        if(lm(jj)==1)
            mdat=[mdat ptmv(jj)];
        else
            dd=pts{ii};
            mdat=[mdat dd(jj)];
        end
    end
    xmdat=sort([mdat(1) mdat(2)]);
    ymdat=sort([mdat(3) mdat(4)]);
    set(moveln,'ydata',ymdat,'xdata',xmdat);
end
xdat=get(lntop,'xdata');
ydat=get(lnlft,'ydata');
set(limcent,'xdata',(xdat(2)-xdat(1))/2+xdat(1),'ydata',(ydat(2)-ydat(1))/2+ydat(1));

⌨️ 快捷键说明

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