Matlab基礎(chǔ)及其應(yīng)用-第10章-App設(shè)計(jì)_第1頁
Matlab基礎(chǔ)及其應(yīng)用-第10章-App設(shè)計(jì)_第2頁
Matlab基礎(chǔ)及其應(yīng)用-第10章-App設(shè)計(jì)_第3頁
Matlab基礎(chǔ)及其應(yīng)用-第10章-App設(shè)計(jì)_第4頁
Matlab基礎(chǔ)及其應(yīng)用-第10章-App設(shè)計(jì)_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第10章APP設(shè)計(jì)【本章學(xué)習(xí)目標(biāo)】掌握圖形用戶界面設(shè)計(jì)的方法。熟悉控件的常用屬性。掌握GUIDE的使用。掌握GUI回調(diào)函數(shù)的定義方法。掌握App設(shè)計(jì)工具的使用。10.1 圖形用戶界面1控件(Controls)(1)按鈕。一個(gè)按鈕代表一種操作,也稱為命令按鈕。(2)滑動(dòng)條。用戶可以通過移動(dòng)滑塊來改變滑動(dòng)條對象的值。(3)單選按鈕。當(dāng)被選中時(shí),圓圈的中心有一個(gè)實(shí)心的黑點(diǎn),否則圓圈為空白。在一組單選按鈕中,只能有一個(gè)被選中。(4)復(fù)選框。被選中的項(xiàng)其小方框中有。復(fù)選框一次可以選擇多項(xiàng)。(5)可編輯文本。供用戶輸入數(shù)據(jù)用。編輯框內(nèi)輸入的是字符,參與算術(shù)運(yùn)算前需要轉(zhuǎn)換為對應(yīng)的數(shù)。(6)靜態(tài)文本。一般用作

2、其他控件的標(biāo)簽、提示。10.1.1 用戶界面對象概述10.1 圖形用戶界面2菜單(Menus)通過使用菜單,可以把對程序的各種操作命令非常規(guī)范有效地呈現(xiàn)給用戶,單擊菜單項(xiàng)程序?qū)?zhí)行相應(yīng)的功能。菜單對象是圖形窗口的子對象??旖莶藛危–ontextMenu)是用鼠標(biāo)右鍵單擊某對象時(shí)在屏幕上彈出的菜單。也稱為上下文菜單。10.1.1 用戶界面對象概述10.1 圖形用戶界面3工具欄(Toolbars)工具欄以圖標(biāo)方式提供了常用命令的快速訪問按鈕。10.1.1 用戶界面對象概述10.1 圖形用戶界面1外觀控制屬性(1)Style屬性。用于定義控件對象的類型。(2)Tag屬性。用于定義控件標(biāo)識。(3)St

3、ring屬性。用于定義控件對象的說明文字。(4)Enable屬性。用于控制控件對象是否可用,取值是on(默認(rèn)值)或off。(5)HorizontalAlignment屬性。用于設(shè)置說明文字的水平對齊方式,可取值為center(默認(rèn)值)、left或right。(6)BackgroundColor用于定義控件對象區(qū)域的背景色,默認(rèn)值為.94 .94 .94(淺灰色);ForegroundColor屬性用于定義控件對象說明文字的顏色,默認(rèn)為黑色。10.1.2 控件的公共屬性10.1 圖形用戶界面1外觀控制屬性(7)Position屬性。用于定義控件對象在用戶界面中的位置和大小,屬性值是一個(gè)4元向量

4、n1,n2,n3,n4。n1和n2分別為控件對象左下角相對于父對象的x、y坐標(biāo),n3和n4分別為控件對象的寬度和高度。(8)Max、Min屬性。用于指定控件對象的最大值和最小值,默認(rèn)值分別是1和0。(9)Value屬性。用于獲取和設(shè)置控件對象的當(dāng)前值。 (10)UserData屬性。用于存儲與控件對象關(guān)聯(lián)的數(shù)據(jù),默認(rèn)為空數(shù)組。10.1.2 控件的公共屬性10.1 圖形用戶界面2事件響應(yīng)屬性(1)Callback屬性。屬性值是描述命令的字符串或函數(shù)句柄,當(dāng)單擊控件時(shí),系統(tǒng)將自動(dòng)執(zhí)行字符串描述的命令或調(diào)用句柄所代表的函數(shù),實(shí)施相關(guān)操作。(2)ButtonDownFcn屬性:用于定義在控件對象上單擊

5、鼠標(biāo)左鍵時(shí)執(zhí)行的命令。(3)KeyPressFcn屬性。用于定義在控件對象上按下鍵盤鍵時(shí)執(zhí)行的命令。(4)KeyReleaseFcn屬性。用于指定在控件對象上按下鍵盤鍵后釋放時(shí)執(zhí)行的命令。(5)CreateFcn屬性:用于指定在建立控件對象時(shí)執(zhí)行的命令。(6)DeleteFcn屬性:用于指定刪除控件對象時(shí)執(zhí)行的命令。10.1.2 控件的公共屬性10.1 圖形用戶界面1事件驅(qū)動(dòng)機(jī)制面向?qū)ο蟮某绦蛟O(shè)計(jì)是以對象感知事件的過程為編程單位,當(dāng)事件發(fā)生時(shí),相應(yīng)的程序段才會運(yùn)行。事件是由用戶或操作系統(tǒng)引發(fā)的動(dòng)作。gcbo命令用于獲取正在執(zhí)行回調(diào)的對象句柄。10.1.3 回調(diào)函數(shù)10.1 圖形用戶界面2回調(diào)函

6、數(shù)回調(diào)函數(shù)定義對象怎樣處理信息并響應(yīng)某事件,該函數(shù)不會主動(dòng)運(yùn)行,是由主控程序調(diào)用的?;卣{(diào)函數(shù)的基本結(jié)構(gòu):function 回調(diào)函數(shù)名(source, eventdata)end參數(shù)source是發(fā)生事件的源對象句柄,eventdata存儲事件數(shù)據(jù)。10.1.3 回調(diào)函數(shù)10.1 圖形用戶界面【例10.1】繪制0,2的正弦曲線,當(dāng)在曲線上單擊鼠標(biāo)左鍵時(shí),將曲線線條顏色改為紅色。 首先定義回調(diào)函數(shù)setlinecolor。function setlinecolor(source,) source.Color=r;end將上述函數(shù)保存為函數(shù)文件setlinecolor.m。然后在命令窗口執(zhí)行以下命令

7、。 x=linspace(0,2*pi,50); h=plot(x,sin(x); h.ButtonDownFcn=setlinecolor;10.2 GUI函數(shù)函數(shù)uicontrol用于建立控件對象的,調(diào)用格式為h = uicontrol(parent,屬性1,屬性值1,屬性2,屬性值2, )參數(shù)parent用于指定控件對象的容器(即父對象),屬性及其取值決定了控件對象的特征。例如,在圖形窗口上放置一個(gè)滑動(dòng)條:10.2.1 建立控件對象fh=figure(position,100,200,320,160);sh = uicontrol(fh,Style,slider, . Max,100,M

8、in,0,Value,25, . SliderStep,0.05 0.2, . Position,60 100 150 30);10.2 GUI函數(shù)uibuttongroup函數(shù)、uipanel函數(shù)、uitoolbar函數(shù),分別用于建立按鈕組、面板、工具欄,調(diào)用格式為h = uibuttongroup(parent,屬性1,屬性值1,屬性2,屬性值2, )h = uipanel(parent,屬性1,屬性值1,屬性2,屬性值2, )h = uitoolbar(parent,屬性1,屬性值1,屬性2,屬性值2, )10.2.1 建立控件對象 fh=figure; bg = uibuttongro

9、up(fh,Position,0.1,0.1,0.5,0.1); r1 = uicontrol(bg,Style,radiobutton,. String,選項(xiàng)A,. Position,10 10 100 30); r2 = uicontrol(bg,Style,radiobutton,. String,選項(xiàng)B,. Position,110 10 100 30,. Value,1);10.2 GUI函數(shù)1創(chuàng)建菜單MATLAB提供了uimenu函數(shù)來創(chuàng)建、設(shè)置、修改菜單。函數(shù)調(diào)用格式為m = uimenu(parent,屬性1,屬性值1,屬性2,屬性值2, )建立菜單時(shí),parent為圖形窗口的

10、句柄,默認(rèn)在當(dāng)前圖形窗口中建立這個(gè)菜單。10.2.2 建立用戶菜單 hm=uimenu(gcf,Label,文件); hm1=uimenu(hm,Label,打開); hm2=uimenu(hm,Label,新建); hm3=uimenu(hm,Label,保存); hm21=uimenu(hm2,Label,圖形窗口); hm22=uimenu(hm2,Label,坐標(biāo)軸);MATLAB圖形窗口帶有默認(rèn)菜單,若不需要圖形窗口的默認(rèn)菜單為了建立用戶自己的菜單系統(tǒng),可以先將圖形窗口的MenuBar屬性設(shè)置為none。10.2 GUI函數(shù)2菜單屬性菜單對象除具有Children、Parent、Ta

11、g等公共屬性外,還有一些特殊屬性。Label屬性:用于定義菜單項(xiàng)上顯示的文字。Accelerator屬性:用于定義菜單項(xiàng)的快捷鍵。Checked屬性:指示菜單項(xiàng)是否已選中。 Enable屬性:控制菜單項(xiàng)的可選擇性。Separator屬性:在菜單項(xiàng)上方添加一條分隔線。10.2.2 建立用戶菜單10.2 GUI函數(shù)(1)uicontextmenu函數(shù)用于建立快捷菜單,函數(shù)調(diào)用格式為m = uicontextmenu(parent,屬性1,屬性值1,屬性2,屬性值2, )(2)利用uimenu函數(shù)為快捷菜單建立下一級菜單項(xiàng)。(3)通過圖形對象的UIContextMenu屬性將快捷菜單與圖形對象關(guān)聯(lián)。

12、10.2.3 建立快捷菜單10.2 GUI函數(shù)建立腳本文件menudemo.m,程序如下:syms t;x=sin(t)+sin(2*t);y=cos(t)-cos(2*t);hf=figure(Name,快捷菜單演示);hl=fplot(x,y,Tag,myline);hc=uicontextmenu; %建立快捷菜單%建立一級菜單項(xiàng)hcs=uimenu(hc,Text,線型); hcc=uimenu(hc,Text,線條顏色);%建立二級菜單項(xiàng)uimenu(hcs,Text,虛線,Tag,:,CallBack,LineStatus)uimenu(hcs,Text,實(shí)線,Tag,-,Call

13、Back,LineStatus);uimenu(hcc,Text,紅,Tag,r,CallBack,LineStatus);uimenu(hcc,Text,黑,Tag,k,CallBack,LineStatus);%將該快捷菜單和曲線對象關(guān)聯(lián)hl.UIContextMenu=hc; 10.2 GUI函數(shù)建立函數(shù)文件LineStatus.m,定義回調(diào)函數(shù)。function LineStatus(source,)h=findobj(Tag,myline);if source.Parent.Text=線條顏色 h.Color=source.Tag;elseif source.Parent.Text=

14、線型 h.LineStyle=source.Tag; end10.3 GUIDE1打開GUIDE打開GUIDE有兩種方法:(1)在MATLAB桌面, 選擇“主頁”選項(xiàng)卡,單擊工具欄的“新建”命令按鈕,從彈出的命令列表中選“App”下的命令項(xiàng) “GUIDE”。(2)在MATLAB命令行窗口輸入guide命令。10.3.1 GUIDE簡介10.3 GUIDE2界面編輯器窗口10.3.1 GUIDE簡介工具欄菜單欄組件選項(xiàng)板界面設(shè)計(jì)區(qū)狀態(tài)欄10.3 GUIDE3回調(diào)屬性用于定義對象怎樣處理信息并響應(yīng)事件。在GUIDE中,按鈕類控件和菜單項(xiàng)的單擊事件的默認(rèn)回調(diào)屬性是Callback ;其他圖形對象的回

15、調(diào)屬性還有ButtonDownFcn、KeyPressFcn、SelectionChangeFcn等。在GUIDE中,控件的回調(diào)屬性值默認(rèn)為“%automatic”,即自動(dòng)使用默認(rèn)的回調(diào)方法。GUIDE自動(dòng)生成的回調(diào)函數(shù)頭格式為:function pushbutton1_Callback(hObject,eventdata,handles)hObject存儲事件觸發(fā)的源控件eventdata存儲事件數(shù)據(jù)handles存儲用戶界面中所有對象的句柄。 10.3.1 GUIDE簡介10.3 GUIDE例如,用戶界面中有一個(gè)按鈕對象pushbutton1和1個(gè)靜態(tài)文本對象text1,若運(yùn)行時(shí)單擊按鈕p

16、ushbutton1,使text1上顯示“Hello, World”,則在回調(diào)函數(shù)pushbutton1_Callback的函數(shù)體中加入以下語句:handles.text1.String=Hello, World;例如,在回調(diào)函數(shù)pushbutton1_Callback的函數(shù)體中加入以下語句:handles.mydata=This is an example.;guidata(hObject, handles);在pushbutton2_Callback的函數(shù)體中加入以下語句,在對象text1上顯示上述字符串:handles.text1.String=handles.mydata;10.3 G

17、UIDE1屬性檢查器(Property Inspector)用于查看、設(shè)置用戶界面中各個(gè)對象的屬性。雙擊某個(gè)對象,或選中對象后,單擊編輯器工具欄的 “屬性檢查器”按鈕(或從“視圖”菜單中選菜單項(xiàng)“屬性檢查器”),打開屬性檢查器。在MATLAB命令行窗口輸入命令“inspect”,打開屬性檢查器。10.3.2 界面設(shè)計(jì)工具10.3 GUIDE2菜單編輯器(Menu Editor)用于創(chuàng)建、設(shè)置、修改下拉式菜單和快捷菜單。(1)創(chuàng)建菜單10.3.2 界面設(shè)計(jì)工具10.3 GUIDE2菜單編輯器(Menu Editor)菜單/菜單項(xiàng)的主要屬性。Label(標(biāo)簽)屬性。用于定義菜單項(xiàng)的上顯示的文字。若

18、在字符串中加入“&”字符,則跟隨在“&”后的字符有一條下劃線。對于這種帶有下劃線字符的菜單/菜單項(xiàng),可以用Alt+該字符鍵來激活。Tag(標(biāo)記)屬性。作為菜單項(xiàng)的標(biāo)識。Callback(回調(diào))屬性。該屬性的取值是函數(shù)句柄,或用字符串描述的MATLAB命令。用戶界面運(yùn)行時(shí),若單擊某菜單項(xiàng),MATLAB將自動(dòng)調(diào)用該菜單項(xiàng)回調(diào)屬性中定義的函數(shù)或命令。10.3.2 界面設(shè)計(jì)工具10.3 GUIDE3工具欄編輯器(Toolbar Editor)創(chuàng)建、設(shè)置、修改工具欄。10.3.2 界面設(shè)計(jì)工具10.3 GUIDE4對齊對象工具(Align Objects)用于調(diào)整設(shè)計(jì)區(qū)內(nèi)的對象位置。10.3.2 界面設(shè)

19、計(jì)工具10.3 GUIDE5對象瀏覽器(Object Browser)對象瀏覽器用于查看界面所包含的圖形對象和展示界面的組織架構(gòu)。10.3.2 界面設(shè)計(jì)工具10.3 GUIDE6Tab鍵順序編輯器(Tab Order Editor)利用Tab鍵順序編輯器,可以設(shè)置用戶按鍵盤上的Tab鍵時(shí),用戶界面上的對象被激活的先后順序。10.3.2 界面設(shè)計(jì)工具10.3 GUIDE【例10.3】利用GUIDE設(shè)計(jì)工具設(shè)計(jì)如圖10.9所示的用戶界面。該界面可以顯示表面圖、網(wǎng)格圖和等高線圖。繪制圖形的功能通過3個(gè)命令按鈕來實(shí)現(xiàn),繪制圖形所需要的數(shù)據(jù)通過一個(gè)列表來選取。方位角和仰角在視點(diǎn)面板中設(shè)置,圖形使用的色圖

20、通過下拉列表進(jìn)行選擇,著色方式通過單選按鈕組進(jìn)行選擇。切換按鈕用于隱藏或顯示坐標(biāo)軸網(wǎng)格。10.3.3 GUIDE的設(shè)計(jì)示例10.3 GUIDE1打開GUIDE,添加有關(guān)圖形對象。新建一個(gè)Blank GUI,在界面編輯器添加1個(gè)坐標(biāo)軸、3個(gè)按鈕、1個(gè)雙位按鈕、1個(gè)列表框、1個(gè)面板(視點(diǎn))、1個(gè)彈出式菜單(色圖)、1個(gè)按鈕組(著色方式),并在面板中放置兩個(gè)可編輯文本,在按鈕組中放置3個(gè)單選按鈕。利用對齊對象工具,按圖調(diào)整好各個(gè)控件對象的大小和位置。完成用戶界面布局后保存界面。將設(shè)計(jì)的用戶界面保存為.fig文件。這時(shí)系統(tǒng)還將自動(dòng)生成一個(gè)同名的.m文件,用于保存用戶界面初始化方法以及圖形窗口和控件的回

21、調(diào)函數(shù)。10.3.3 GUIDE的設(shè)計(jì)示例10.3 GUIDE2利用屬性檢查器,設(shè)置控件對象的屬性。10.3.3 GUIDE的設(shè)計(jì)示例10.3 GUIDE3編寫代碼,實(shí)現(xiàn)控件功能。(1)圖形窗口的回調(diào)函數(shù)10.3.3 GUIDE的設(shè)計(jì)示例在圖形窗口的OpeningFcn函數(shù)體中輸入以下代碼:%生成圖形數(shù)據(jù)handles.peaks=peaks(34); handles.membrane=membrane;x,y=meshgrid(-8:0.3:8);r=sqrt(x.2+y.2);sinc=sin(r)./(r+eps);handles.sinc=sinc;%將默認(rèn)繪圖數(shù)據(jù)存儲到handles

22、的current_data成員中handles.current_data=handles.sinc;%在后續(xù)繪圖操作時(shí),使用spring色圖繪制圖形colormap(spring);10.3 GUIDE3編寫代碼,實(shí)現(xiàn)控件功能。(2)控件對象的回調(diào)函數(shù) 3個(gè)繪圖按鈕用于繪制表面圖、網(wǎng)格圖和等高線圖。10.3.3 GUIDE的設(shè)計(jì)示例在Mesh_Callback函數(shù)體中輸入以下代碼。mesh(handles.current_data)在Surf_Callback函數(shù)體中輸入以下代碼。surf(handles.current_data);在Contour3_Callback函數(shù)體中輸入以下代碼。c

23、ontour3(handles.current_data)10.3 GUIDE3編寫代碼,實(shí)現(xiàn)控件功能。 切換按鈕GridSwitch用于顯示/隱藏網(wǎng)格在GridSwitch_Callback函數(shù)體中輸入以下代碼。10.3.3 GUIDE的設(shè)計(jì)示例if hObject.Value=1 grid on hObject.String=隱藏網(wǎng)格;else grid off hObject.String=顯示網(wǎng)格;end10.3 GUIDE3編寫代碼,實(shí)現(xiàn)控件功能。列表框ChooseFun用于選擇繪圖數(shù)據(jù)源。在ChooseFun_Callback函數(shù)體中輸入以下代碼。10.3.3 GUIDE的設(shè)計(jì)示例

24、str=hObject.String; %獲取列表框中的列表項(xiàng)val=hObject.Value; %獲取選中項(xiàng)的序號%根據(jù)選中項(xiàng)的文本確定采用哪一個(gè)數(shù)據(jù)源作為繪圖數(shù)據(jù)switch strtrim(strval)case Peaks handles.current_data=handles.peaks;case Membrane handles.current_data=handles.membrane;case Sinc handles.current_data=handles.sinc;end%更新handlesguidata(hObject,handles)10.3 GUIDE3編寫代碼

25、,實(shí)現(xiàn)控件功能。彈出式菜單ChooseCMap用于設(shè)置繪圖所采用的色圖。在ChooseCMap_Callback函數(shù)體中輸入以下代碼。10.3.3 GUIDE的設(shè)計(jì)示例str=hObject.String; %獲取列表框中的列表項(xiàng)cm=hObject.Value; %獲取選中項(xiàng)的序號colormap(eval(strcm);10.3 GUIDE3編寫代碼,實(shí)現(xiàn)控件功能。視點(diǎn)面板用于設(shè)置視點(diǎn),包括方位角和仰角,單擊其中的按鈕ConfigView,調(diào)用view函數(shù)設(shè)置視點(diǎn)。在ConfigView_Callback函數(shù)體中輸入以下代碼。10.3.3 GUIDE的設(shè)計(jì)示例el=eval(handles

26、.edit_el.String);az=eval(handles.edit_az.String);view(az,el)10.3 GUIDE3編寫代碼,實(shí)現(xiàn)控件功能。按鈕組ChooseShading中的選項(xiàng)發(fā)生改變時(shí),會觸發(fā)SelectionChanged事件。在ChooseShading_SelectionChangedFcn函數(shù)體中輸入以下代碼。10.3.3 GUIDE的設(shè)計(jì)示例%根據(jù)所選項(xiàng)的Tag屬性確定著色方式switch eventdata.NewValue.Tag case rb_flat shading flat; case rb_interp shading interp; c

27、ase rb_faceted shading faceted;end 10.3 GUIDE4運(yùn)行GUI程序。10.3.3 GUIDE的設(shè)計(jì)示例10.4 App設(shè)計(jì)工具1打開App Designer打開App Designer有兩種方法:(1)在MATLAB桌面中, 選擇“主頁”選項(xiàng)卡,單擊工具欄的“新建”按鈕,從彈出的命令列表中選“App”下的命令項(xiàng) “App設(shè)計(jì)工具”。(2)在MATLAB命令行窗口輸入appdesigner命令。10.4.1 App Designer10.4 App設(shè)計(jì)工具2App Designer窗口10.4.1 App Designer10.4 App設(shè)計(jì)工具2App

28、Designer窗口(1)設(shè)計(jì)視圖用于編輯用戶界面。選擇設(shè)計(jì)視圖時(shí),設(shè)計(jì)器窗口左邊是組件庫面板,右邊是組件瀏覽器和屬性面板,中間區(qū)域是用戶界面設(shè)計(jì)區(qū),稱為畫布。10.4.1 App Designer10.4 App設(shè)計(jì)工具2App Designer窗口(1)設(shè)計(jì)視圖用于編輯用戶界面。(2)代碼視圖代碼視圖用于編輯、調(diào)試、分析代碼。10.4.1 App Designer10.4 App設(shè)計(jì)工具1組件的種類及作用常用組件:與GUIDE中功能相同、外觀相似的組件。GUIDE中的“可編輯文本”控件在App組件庫中分成了分別用于輸入數(shù)值和文本的兩種“編輯字段”組件。容器類組件:用于將界面上的元素按功能進(jìn)

29、行分組。圖窗工具:用于建立用戶界面的菜單,包括“菜單欄”組件儀器類組件:用于模擬實(shí)際電子設(shè)備的操作平臺和操作方法,如儀表、旋鈕、開關(guān)等。10.4.2 App組件10.4 App設(shè)計(jì)工具2組件的屬性常見屬性如下。(1)Enable屬性。用于控制組件對象是否可用,取值是On(默認(rèn)值)或Off。(2)Value屬性。用于獲取和設(shè)置組件對象的當(dāng)前值。(3)Limits屬性。用于獲取和設(shè)置滑塊、微調(diào)器、儀表、旋鈕等組件對象的值域。屬性值是一個(gè)二元向量Lmin,Lmax, Lmin用于指定組件對象的最小值,Lmax用于指定組件對象的最大值。(4)Position屬性。用于定義組件對象在界面中的位置和大小1

30、0.4.2 App組件10.4 App設(shè)計(jì)工具1App類的基本結(jié)構(gòu)classdef 類名 matlab.apps.AppBase properties (Access = public) end methods (Access = private) function 函數(shù)1(app, event) end function 函數(shù)2(app) end endend10.4.3 類的定義10.4 App設(shè)計(jì)工具2訪問權(quán)限存取數(shù)據(jù)和調(diào)用函數(shù)稱為訪問對象成員。對成員的訪問有兩種權(quán)限限定:私有(private)成員:只允許在本界面中訪問公共(public)成員:可用于與App的其他類共享數(shù)據(jù)。10.4.

31、3 類的定義10.4 App設(shè)計(jì)工具【例10.4】生成一個(gè)用于觀察視點(diǎn)仰角和坐標(biāo)軸著色(投影)方式對三維圖形顯示效果影響的應(yīng)用程序,界面如圖10.11所示。界面右上部的列表用于選擇繪圖函數(shù),中間的旋鈕用于設(shè)置視點(diǎn)仰角,右下部的分段旋鈕用于設(shè)置坐標(biāo)軸著色方式。10.4.4 App設(shè)計(jì)工具的設(shè)計(jì)示例10.4 App設(shè)計(jì)工具1打開App Designer,添加組件。添加一個(gè)坐標(biāo)區(qū)、一個(gè)列表框、一個(gè)切換按鈕組、兩個(gè)旋鈕、一個(gè)蹺板開關(guān)和一個(gè)分檔旋鈕,然后按圖10.12調(diào)整組件的位置和大小。10.4 App設(shè)計(jì)工具2利用屬性面板設(shè)置組件對象的屬性。10.4 App設(shè)計(jì)工具3編寫代碼,實(shí)現(xiàn)組件功能。(1)編寫用于繪制圖形的updateplot函數(shù)和調(diào)整視點(diǎn)的updateview函數(shù)。在updateplot函數(shù)體加入以下代碼。%根據(jù)在列表框中的選擇,確定繪圖數(shù)據(jù)switch app.ListBox.Valuecase Sinc x,y=meshgrid(-8:0.3:8); r=sqrt(x.2+y.2); z=sin(r)./(r+eps); case Peaks x,y,z=peaks; case Sphere x,y,z=sphere; end %根據(jù)在切換按鈕組中按下的按

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論