📄 rrrproject3.asv
字号:
if isnumeric(val) & length(val)==1 & val >= get(handles.sliderbase3y,'Min') & val <= get(handles.sliderbase3y,'Max') set(handles.sliderbase3y,'Value',val); Ypc = val; if emptycheck varmakeup; RRRdrawing(S1,S2,S3) else RRRdrawing(S1,S2,S3) endelse Warnd = text(-10,10,'\fontsize{16} The input is out of range. Try again!','color','r'); set(Warnd,'visible','on') end% --------------------------------------------------------------------function varargout = slideranglefai_Callback(h, eventdata, handles, varargin)global fai S1 S2 S3set(handles.editanglefai,'String',num2str(get(handles.slideranglefai,'Value')));faidegree = get(handles.slideranglefai,'Value');fai = (faidegree*pi)/180; if emptycheck varmakeup; RRRdrawing(S1,S2,S3) else RRRdrawing(S1,S2,S3) endset(handles.editanglefai,'Value', fai);% --------------------------------------------------------------------function varargout = editanglefai_Callback(h, eventdata, handles, varargin)global fai S1 S2 S3 val = str2double(get(handles.editanglefai,'String'));if isnumeric(val) & length(val)==1 & val >= get(handles.slideranglefai,'Min') & val <= get(handles.slideranglefai,'Max') set(handles.slideranglefai,'Value',val); fai = (val*pi)/180; if emptycheck varmakeup; RRRdrawing(S1,S2,S3) else RRRdrawing(S1,S2,S3) end else Warnd = text(-10,10,'\fontsize{16} The input is out of range. Try again!','color','r'); set(Warnd,'visible','on') end% --------------------------------------------------------------------function varargout = initialposition_pushbution_Callback(h, eventdata, handles, varargin)global InVSInVS = 0;on = [handles.sliderbase1x,handles.sliderbase1y,handles.sliderbase2x,handles.sliderbase2y,... handles.sliderbase3x,handles.sliderbase3y,handles.editbase1x,handles.editbase1y,... handles.editbase2x,handles.editbase2y,handles.editbase3x,handles.editbase3y,... handles.textbase1x,handles.textbase1y,handles.textbase2x,handles.textbase2y,... handles.textbase3x,handles.textbase3y,handles.range,handles.pushbuttoninitialized,handles.edith,... handles.edita1,handles.editb1,handles.texth,handles.texta1,handles.textb1];visibleon(on); off = [handles.slideranglefai,handles.editanglefai,handles.textanglefai,handles.framesolutionleg1,... handles.radiobuttonsolution1forleg1,handles.radiobuttonsolution2forleg1,handles.textsetsolutionforleg1,... handles.framesolutionleg2,handles.radiobuttonsolution1forleg2,handles.radiobuttonsolution2forleg2,... handles.textsetsolutionforleg2,handles.framesolutionleg3,handles.radiobuttonsolution1forleg3,... handles.radiobuttonsolution2forleg3,handles.textsetsolutionforleg3,handles.sliderXg,handles.sliderYg,handles.editXg,handles.editYg, ... handles.textXg,handles.textYg,handles.togglebuttonclickinverse,handles.popupmenu_record];visibleoff(off);% --------------------------------------------------------------------function varargout = InverseKinematics_pushbutton_Callback(h, eventdata, handles, varargin)global fai S1 S2 S3global Xg Ygglobal ADglobal InVSif emptycheck; text(0.3,0.5,'You should finish initialization first!','fontsize',15);elseInVS = 1;on = [handles.slideranglefai,handles.editanglefai,handles.textanglefai,handles.framesolutionleg1,... handles.radiobuttonsolution1forleg1,handles.radiobuttonsolution2forleg1,handles.textsetsolutionforleg1,... handles.framesolutionleg2,handles.radiobuttonsolution1forleg2,handles.radiobuttonsolution2forleg2,... handles.textsetsolutionforleg2,handles.framesolutionleg3,handles.radiobuttonsolution1forleg3,... handles.radiobuttonsolution2forleg3,handles.textsetsolutionforleg3,handles.sliderXg,handles.sliderYg,handles.editXg,handles.editYg,... handles.textXg,handles.textYg,handles.togglebuttonclickinverse,handles.popupmenu_record];visibleon(on);off = [handles.sliderbase1x,handles.sliderbase1y,handles.sliderbase2x,handles.sliderbase2y,... handles.sliderbase3x,handles.sliderbase3y,handles.editbase1x,handles.editbase1y,... handles.editbase2x,handles.editbase2y,handles.editbase3x,handles.editbase3y,... handles.textbase1x,handles.textbase1y,handles.textbase2x,handles.textbase2y,... handles.textbase3x,handles.textbase3y,handles.range,handles.pushbuttoninitialized,handles.edith,... handles.edita1,handles.editb1,handles.texth,handles.texta1,handles.textb1];visibleoff(off);end% --------------------------------------------------------------------function varargout = radiobuttonsolution1forleg1_Callback(h, eventdata, handles, varargin)global fai S1 S2 S3global Xp Yp Xa Ya Xd Yd global Xg Ygoff = [handles.radiobuttonsolution2forleg1];mutual_exclude(off)set(handles.radiobuttonsolution1forleg1,'Value',1);S1 = get(handles.radiobuttonsolution1forleg1,'Value');RRRdrawing(S1,S2,S3);% --------------------------------------------------------------------function varargout = radiobuttonsolution2forleg1_Callback(h, eventdata, handles, varargin)global fai S1 S2 S3global Xp Yp Xa Ya Xd Yd global Xg Ygoff = [handles.radiobuttonsolution1forleg1];mutual_exclude(off)set(handles.radiobuttonsolution2forleg1,'Value',1);s1 = get(handles.radiobuttonsolution2forleg1,'Value');S1 = s1+1;RRRdrawing(S1,S2,S3);% --------------------------------------------------------------------function varargout = radiobuttonsolution1forleg2_Callback(h, eventdata, handles, varargin)global fai S1 S2 S3off = [handles.radiobuttonsolution2forleg2];mutual_exclude(off)set(handles.radiobuttonsolution1forleg2,'Value',1);S2 = get(handles.radiobuttonsolution1forleg2,'Value');RRRdrawing(S1,S2,S3)% --------------------------------------------------------------------function varargout = radiobuttonsolution2forleg2_Callback(h, eventdata, handles, varargin)global fai S1 S2 S3off = [handles.radiobuttonsolution1forleg2];mutual_exclude(off)set(handles.radiobuttonsolution2forleg2,'Value',1);s2 = get(handles.radiobuttonsolution2forleg2,'Value');S2 = s2+1;RRRdrawing(S1,S2,S3)% --------------------------------------------------------------------function varargout = radiobuttonsolution1forleg3_Callback(h, eventdata, handles, varargin)global fai S1 S2 S3off = [handles.radiobuttonsolution2forleg3];mutual_exclude(off)set(handles.radiobuttonsolution1forleg3,'Value',1);S3 = get(handles.radiobuttonsolution1forleg3,'Value');RRRdrawing(S1,S2,S3)% --------------------------------------------------------------------function varargout = radiobuttonsolution2forleg3_Callback(h, eventdata, handles, varargin)global fai S1 S2 S3off = [handles.radiobuttonsolution1forleg3];mutual_exclude(off)set(handles.radiobuttonsolution2forleg3,'Value',1);s3 = get(handles.radiobuttonsolution2forleg3,'Value');S3 = s3+1;RRRdrawing(S1,S2,S3)% --------------------------------------------------------------------function mutual_exclude(off)set(off,'Value',0);% --------------------------------------------------------------------function visibleoff(off)set(off,'Visible','off');% --------------------------------------------------------------------function visibleon(on)set(on,'Visible','on');% --- Executes during object creation, after setting all properties.function sliderXg_CreateFcn(hObject, eventdata, handles)% hObject handle to sliderXg (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: slider controls usually have a light gray background, change% 'usewhitebg' to 0 to use default. See ISPC and COMPUTER.usewhitebg = 1;if usewhitebg set(hObject,'BackgroundColor',[.9 .9 .9]);else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));end% --- Executes on slider movement.function sliderXg_Callback(hObject, eventdata, handles)% hObject handle to sliderXg (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'Value') returns position of slider% get(hObject,'Min') and get(hObject,'Max') to determine range of sliderglobal Xg S1 S2 S3set(handles.editXg,'String',num2str(get(handles.sliderXg,'Value')));Xg = get(handles.sliderXg,'Value');RRRdrawing(S1,S2,S3);set(handles.editXg,'Value', Xg);% --- Executes during object creation, after setting all properties.function sliderYg_CreateFcn(hObject, eventdata, handles)% hObject handle to sliderYg (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: slider controls usually have a light gray background, change% 'usewhitebg' to 0 to use default. See ISPC and COMPUTER.usewhitebg = 1;if usewhitebg set(hObject,'BackgroundColor',[.9 .9 .9]);else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));end% --- Executes on slider movement.function sliderYg_Callback(hObject, eventdata, handles)% hObject handle to sliderYg (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'Value') returns position of slider% get(hObject,'Min') and get(hObject,'Max') to determine range of sliderglobal Yg S1 S2 S3global theta11 theta12 theta21 theta22 theta31 theta32global txAD txRDset(handles.editYg,'String',num2str(get(handles.sliderYg,'Value')));Yg = get(handles.sliderYg,'Value');RRRdrawing(S1,S2,S3);set(handles.editYg,'Value', Yg);% --- Executes during object creation, after setting all properties.function editXg_CreateFcn(hObject, eventdata, handles)% hObject handle to editXg (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc set(hObject,'BackgroundColor','white');else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));endfunction editXg_Callback(hObject, eventdata, handles)% hObject handle to editXg (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of editXg as text% str2double(get(hObject,'String')) returns contents of editXg as a doubleglobal Xg S1 S2 S3val = str2double(get(handles.editXg,'String'));if isnumeric(val) & length(val)==1 & val >= get(handles.sliderXg,'Min') & val <= get(handles.sliderXg,'Max') set(handles.sliderXg,'Value',val); Xg = val; RRRdrawing(S1,S2,S3); else Warnd = text(-10,10,'\fontsize{16} The input is out of range. Try again!','color','r'); set(Warnd,'visible','on') end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -