|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
<P><FONT face="Times New Roman" size=3>function Interplot <BR>global istep<BR>global xdata<BR>global ydata<BR>istep=0; % istep记录击键次数<BR>set(gcf,'pointer','cross'); <BR>set(gcf,'WindowButtonDownFcn',@WindowButtonDown);<BR>set(gcf,'WindowButtonMotionFcn',@WindowButtonMotion); </FONT></P>
<P><FONT face="Times New Roman" size=3> % 按下鼠标键时<BR>function WindowButtonDown(hObject,eventdata,handles)<BR>global istep<BR>global xdata<BR>global ydata<BR>global h<BR>istep=istep+1; % 击键次数加1<BR>p=get(gca,'currentpoint'); % 获取当前点的坐标<BR>if(istep==1) % 如果击键次数为1<BR> % 用当前点初始化直线段的起点和终点<BR> xdata(1)=p(1);<BR> ydata(1)=p(3);<BR> xdata(2)=p(1);<BR> ydata(2)=p(3); <BR> % 创建直线段对象,用异或模式画线<BR> % 返回直线段对象的句柄<BR> h=line(xdata,ydata,'EraseMode','xor');<BR>elseif(istep==2) % 如果击键次数为2<BR> % 将当前点设置为直线段终点<BR> xdata(2)=p(1);<BR> ydata(2)=p(3);<BR> % 改变直线段的终点属性<BR> % 用正常模式重绘直线段<BR> set(h,'XData',xdata,'YData',ydata,'EraseMode','normal')<BR> istep=0; %将istep归0<BR>end</FONT></P>
<P> % 移动鼠标时<BR>function WindowButtonMotion(hObject, eventdata, handles) <BR>global istep<BR>global xdata<BR>global ydata<BR>global h<BR>p=get(gca,'currentpoint'); % 记录鼠标的当前位置<BR>if(istep==1) % 如果istep等于1<BR> % 将当前点设置为直线段终点<BR> xdata(2)=p(1);<BR> ydata(2)=p(3);<BR> % 改变直线段的终点属性,<BR> % 用异或模式重绘直线段<BR> set(h,'XData',xdata,'YData',ydata)<BR>end<BR></P> |
|