版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版第14章 圖形對象和句柄l本書在第12章向讀者詳細引見了MATLAB的數(shù)據(jù)可視化功能,即如何經(jīng)過運用MATLAB的繪圖函數(shù)和圖形繪制窗口繪制用戶需求的二維、三維等圖形,置信讀者經(jīng)過學習,曾經(jīng)應(yīng)該對于“高級繪圖的運用有了一定程度的了解。正如筆者提到的一樣,MATLAB 7.0中的“高級繪圖指令往往不能運用戶對于圖形繪制了解得很透徹,假設(shè)用戶需求經(jīng)過了解“低層繪圖指令和圖形對象屬性開發(fā)函數(shù),來對高級繪圖指令的構(gòu)成原理進展深化了解,并繪制出更加個性化的圖形,那么讀者應(yīng)該仔細閱讀本章。l本章首先簡要引見了MATLAB圖形對象的相關(guān)概念、體系構(gòu)造等;MAT
2、LAB中需求經(jīng)過句柄訪問和控制圖形對象,因此第14.2節(jié)討論對象句柄的概念及其訪問;第14.3節(jié)引見了MATLAB中對象屬性的查詢、設(shè)置;第14.4-14.5節(jié)分別討論了兩類重要的MATLAB圖形對象,即窗口對象和軸對象;第14.6節(jié)引見了圖形輸出控制相關(guān)的屬性設(shè)置;第14.7節(jié)引見M文件內(nèi)句柄的存儲及MATLAB內(nèi)建函數(shù)對句柄的操作,最后第14.8節(jié)對本章進展了小結(jié)。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.1 圖形對象概述l圖形對象Graphics Object是MATLAB 7.0提供應(yīng)用戶的一種用于創(chuàng)建計算機圖形的面向?qū)ο蟮膱D形系統(tǒng),該系統(tǒng)提供應(yīng)用戶創(chuàng)建線、字、網(wǎng)格、面及圖
3、形用戶界面GUI,有關(guān)內(nèi)容詳見本書第17章的多種3繪圖指令。第12章所引見的各種“高級指令都是以圖形對象為根底生成的,所以圖形對象也稱為低層圖形。低層指令的調(diào)用,沒有高層指令那樣簡明明晰、通俗易懂,但是低層指令可以直接對圖形的根本要素進展操作的特點決議了運用者可以讓繪制的圖形更加個性化,更加具有表現(xiàn)力。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.1.1 圖形對象的體系構(gòu)造l圖形對象是MATLAB中用來顯示數(shù)據(jù)和創(chuàng)建GUI的根本繪圖元素,對象的每個實例instance都對應(yīng)獨一的標識符Identifier,此標識符稱為對象的句柄handle,句柄由系統(tǒng)設(shè)定,用戶不能改動。用戶可以利用句
4、柄輕松地操作現(xiàn)有圖形的各項特征,即設(shè)置對象屬性。lMATLAB的圖形對象體系構(gòu)造中包含各種具有承繼關(guān)系的對象,其關(guān)系有“父子從屬關(guān)系和“兄弟平行關(guān)系兩種,詳細如圖14.1所示。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.1.2 圖形對象的類型l本小節(jié)主要是在14.1.1節(jié)的根底上向用戶詳細引見各種類型的圖形對象。l1根對象。l2圖形窗口對象Figure。l3用戶界面對象UI objects。用戶界面對象是圖形窗口對象的一個子對象,其用來創(chuàng)建用戶界面的假設(shè)干相關(guān)圖形。l4軸對象Axes。軸對象和用戶界面對象是平行的兄弟關(guān)系。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.1.3
5、MATLAB中對象的屬性lMATLAB中各級對象的屬性控制其各種外觀和顯示特性。對象的屬性包括公共屬性如對象類型、父、子對象、能否可見等和不同類型對象的特有屬性。例如,經(jīng)過任何給定的圖形對象,用戶可以獲取窗口中的最后擊鍵、鼠標指針位置,或是最后選中的菜單句柄。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.2 訪問對象句柄lMATLAB中創(chuàng)建的任何對象都由系統(tǒng)賦予一個句柄,一切構(gòu)造函數(shù)的前往值即為其所創(chuàng)建對象的句柄。l14.1.3節(jié)曾經(jīng)向讀者引見了對于對象屬性的查詢和設(shè)置,讀者已了解到,假設(shè)需求做到對于對象屬性的操作查詢或設(shè)置,那么必需在對象創(chuàng)建之初就將其句柄保管在變量中,作為預(yù)備;假設(shè)
6、用戶覺得這樣比較煩瑣,或者偶爾忘記了保管,那么還可以調(diào)用findobj函數(shù)或羅列其父對象的Children屬性來獲取現(xiàn)有對象的句柄。l讀者應(yīng)該很清楚,根對象的句柄為0,而其子對象,圖形窗口對象的句柄普通有兩種情況:l整數(shù):默許顯示在窗口標題欄中;l浮點數(shù):具有完全的MATLAB內(nèi)部精度。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.2.1 獲取當前對象的句柄lMATLAB中,有關(guān)句柄圖形的一個極為重要的概念是當前性Be Current。例如,當前的窗口即為接受繪制函數(shù)輸出的窗口;當前的坐標軸就是創(chuàng)建坐標軸子對象的命令輸出目的坐標軸;而當前的圖形對象那么為最后創(chuàng)建的圖形對象,或被用戶用鼠
7、標點擊選中的圖形對象。l用戶可以直接把調(diào)用繪圖函數(shù)的前往值存放在一個變量中,那么這個變量就是相應(yīng)圖形的句柄。l另外一種獲取當前對象句柄的常用方法是調(diào)用get函數(shù), get函數(shù)的調(diào)用格式和功能系統(tǒng)地論述如下。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.2.2 調(diào)用findobj函數(shù)經(jīng)過屬性值查詢對象lMATLAB提供應(yīng)用戶findobj函數(shù),用于經(jīng)過對屬性值的搜索來查詢對象句柄。findobj函數(shù)可以快速構(gòu)成一個構(gòu)造層次的截面并獲得具有指定屬性值的對象句柄,假設(shè)用戶沒有指定起始對象,那么系統(tǒng)默許findobj函數(shù)從Root對象開場,搜索與用戶指定屬性名和屬性值相符的一切對象。l用戶希望
8、將字符串sin(t)=.707從當前位置點pi/4,sin(pi/4)挪動到點3*pi/4,sin(3*pi/4),這兩個位置點的函數(shù)值一樣。為了實現(xiàn)挪動操作,用戶首先要獲得字對象的句柄,然后經(jīng)過運用這個獲得的句柄修正字對象的屬性Position。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.2.3 運用句柄操作對象l本節(jié)主要講解如何利用句柄,完成對于對象的復(fù)制和刪除操作。l1調(diào)用copyobj函數(shù)復(fù)制對象。l用戶利用MATLAB中的copyobj函數(shù),可以將對象a1從其父對象中復(fù)制到另一個對象中,生成新的對象a2,那么a1和a2的區(qū)別有2點:l父對象不同;l對象句柄不同。l2調(diào)用de
9、lete函數(shù)刪除對象。MATLAB中,用戶可以運用delete函數(shù),刪除一個對象,其參數(shù)是此對象的句柄。例如,用戶可以需求刪除當前的坐標軸,代碼如下:ldelete(gca)技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.3 設(shè)置和訪問MATLAB對象屬性lMATLAB提供了set和get兩個函數(shù),分別可以運用戶設(shè)置和前往現(xiàn)有圖形對象的屬性值。利用這兩個函數(shù),還可以列出詳細固定設(shè)置的屬性的一切值。兩個函數(shù)的根本調(diào)用格式如下:lset(object_handle,PropertyName,NewPropertyValue);lreturned_value=get(object_handle
10、,PropertyName)。l以上兩函數(shù)調(diào)用格式中,object_handle代表對象句柄,PropertyName代表屬性稱號,NewPropertyValue代表用戶設(shè)置的屬性值。l留意:函數(shù)調(diào)用格式中的屬性稱號為援用的字符串,而屬性值那么根據(jù)與不同的屬性而變換類型。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.3.1 設(shè)置屬性值l調(diào)用set函數(shù),并利用對象的前往句柄,用戶可以設(shè)置現(xiàn)有對象的屬性,例如,下面的代碼將y軸挪動到圖形的當前坐標系的左邊。lset(gca,YAxisLocation,left)l假設(shè)句柄參數(shù)是一個矢量,那么MATLAB將一切標識的對象均進展屬性的設(shè)置。用
11、戶還可以運用構(gòu)架和元胞數(shù)組設(shè)置屬性稱號和屬性值,這在設(shè)置多個對象的一樣屬性時非常奏效。lview1.CameraViewAngleMode = manual;lview1.DataAspectRatio = 1 1 1;lview1.ProjectionType = Perspective;技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.3.2 查詢屬性值lMATLAB中,用戶可以調(diào)用get函數(shù)來查詢對象屬性的當前值。l1單個屬性值的查詢:調(diào)用get函數(shù)獲取對象屬性,用戶可以得到該屬性中的一切數(shù)據(jù) l2前往構(gòu)架:假設(shè)用戶將get函數(shù)的前往值賦給一個變量,那么MATLAB將創(chuàng)建一個構(gòu)架數(shù)組
12、。 l3查詢屬性組:用戶也可以首先定義屬性稱號的元胞數(shù)組,然后便利地獲取相應(yīng)的屬性值。 技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版 14.3.3 默許屬性l以上兩小節(jié),向讀者引見了如何設(shè)置和查詢MATLAB中對象的屬性,實踐上,MATLAB中的一切對象屬性都有系統(tǒng)內(nèi)建的默許值,即出廠設(shè)置值;當然,用戶也可以自行定義任何一個MATLAB對象的默許屬性值。 技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.4 圖形窗口對象lMATLAB圖形窗口對象是用于顯示MATLAB中圖形輸出的窗口,所以圖形窗口對象的屬性可以決議輸出窗口的多種特征。本節(jié)主要引見圖形窗口對象的屬性設(shè)置,這些屬性與窗口的
13、大小、位置、顏色、曲線繪制方式及指正款式有關(guān)。 技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.4.1 設(shè)置圖形窗口的位置屬性l圖形窗口對象的位置Position屬性決議圖形窗口在屏幕上的大小和位置,位置屬性的默許設(shè)置是:圖形大小是屏幕大小的1/4,且位于上半屏幕的中間位置。在MATLAB中,圖形窗口的位置屬性是一個矢量:left bottom width height。其中l(wèi)eft和bottom確定窗口左下角的位置,而width和height分別確定窗口的寬和高,如下圖。 技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.4.2 設(shè)置圖形窗口的顏色屬性l顏色屬性關(guān)系到MATLAB運
14、用系統(tǒng)顏色資源的方式,用戶對顏色屬性的設(shè)置,將影響圖形窗口子對象的繪制上色速度和準確度。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.4.3 圖像窗口的繪制方式lMATLAB允許用戶選擇不同的方式來繪制圖形,方式的選擇主要取決于所繪制圖形的類型。決議MATLAB繪制圖形的方式有下面4種。lBackingStore:當圖形被遮擋部分顯顯露來時,確定能否重繪。lDoubleBuffer:為簡單動畫生成渲染效果。lRenderer和RendererMode:指定不同的渲染方法,或由MATLAB選擇。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.4.4 定制圖形窗口的光標l除了對繪制方
15、式的選擇,MATLAB還提供了多種指針符號,供用戶選擇。在圖形窗口中,圖形符號表示指針位置,用戶可以選擇系統(tǒng)預(yù)定義的15種指針符號,也可以自行設(shè)置指針符號。指針符號的屬性值、標識及詳細功能,技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.5 軸對象l軸對象是圖形窗口對象的子對象,也是眾多重要對象的父對象參看第14.1節(jié),在圖形對象的構(gòu)造中,是非常重要的一環(huán)。軸對象的屬性眾多,功能主要為控制圖像各方面信息的顯示。本節(jié)就其重要的屬性進展引見。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.5.1 設(shè)置軸對象的位置屬性l同圖形窗口對象一樣,軸對象的幾何屬性分別是位置屬性“Position
16、和單位屬性“Units,決議了軸對象在圖形窗口對象中的位置、大小和軸對象的單位。l值得讀者留意的是,這些屬性與圖形窗口對象有不同之處。l在圖形是二維曲線時,軸位框和坐標框兩者完全重合,技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.5.2 設(shè)置軸對象的刻度、刻度標志及坐標軸方向?qū)傩詌本節(jié)以一個實例講解單軸對象控制刻度、刻度標志及坐標軸方向的屬性。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.5.3 軸對象的多軸重疊l本書在第12章中曾引見過的subplot函數(shù)可以完成單圖多軸的繪制,運用subplot函數(shù)可把一個圖形窗口按位置等分成多個“子塊,分別在每一部分繪制獨立的圖形。l在此
17、根底上,本小節(jié)講解軸對象的“多軸重疊屬性,即允許用戶在一個圖形窗口對象中繪制多個重疊軸對象。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.5.4 軸對象的自動方式屬性l自動方式屬性Automatic-Mode Properties又常被稱為“照相機屬性。用戶可以在軸對象屬性的根底上設(shè)置MATLAB照相機屬性,MATLAB照相機屬性如表所示。技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.6 控制圖形輸出l本書在以前的章節(jié)多次提到,MATLAB允許用戶同時翻開多個繪圖窗口,但是,當前窗口只能有一個,也就是說雖然用戶翻開的窗口不止一個,但系統(tǒng)運轉(zhuǎn)的結(jié)果輸出只能顯示在眾多窗口中的一個中
18、,那么如何運用句柄保證輸出的窗口是用戶指定的窗口,而同時保證其他窗口不受輸出結(jié)果的影響,這就是本節(jié)要主要引見的問題。 技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.6.1 定制圖形輸出的窗口l在默許情況下,創(chuàng)建圖形對象的MATLAB函數(shù)把結(jié)果顯示在當前圖形窗口對象和軸對象上圖形對象是以軸對象的子對象為前提,用戶也可以經(jīng)過創(chuàng)建函數(shù)明確地指定其父對象屬性,來使輸出到用戶需求的父對象中,例如以下代碼。lplot(1:10,Parent,axes_handle)l以上代碼中,用戶指定了axes_handle為輸出目的軸對象的句柄。另外,uicontrol和uimenu函數(shù)提供一種更加簡便的調(diào)用
19、格式,即第一個參數(shù)就是指定目的父對象的稱號,例如以下代碼。luicontrol(Figure_handle,.)luimenu(parent_menu_handle,.)技術(shù)凝聚實力技術(shù)凝聚實力專業(yè)創(chuàng)新出版專業(yè)創(chuàng)新出版14.6.2 定制圖形輸出的軸l默許情況下,圖形繪制函數(shù)將輸出的圖形對象直接顯示在當前的圖形窗口中,而并不去除或重設(shè)圖形窗口的屬性。但是,假設(shè)圖形對象是軸對象的子對象,MATLAB在顯示圖形對象之前,會將絕大多數(shù)的軸對象屬性設(shè)置為其默許設(shè)置。用戶可以經(jīng)過改動圖形窗口對象和軸對象的NextPlot屬性來改動MATLAB的此種默許設(shè)置。在MATLAB 7.0中,高級繪圖函數(shù)在繪制圖形之前首先要檢查NextPlot屬性,然后決議是直接添加圖形還是擦除重置圖形窗口對象和軸對象;而低級對象創(chuàng)建函數(shù)那么不檢查NextPlot的屬性,只是進展簡單地添加圖形
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度外墻裝飾材料研發(fā)與銷售承包合同3篇
- 二零二四年教育培訓講師學術(shù)交流與合作合同3篇
- 2025年度整棟購物中心租賃承包與商業(yè)運營合同4篇
- 二零二五年度儲罐安裝與節(jié)能降耗合同3篇
- 二零二五年度雛雞養(yǎng)殖產(chǎn)品溯源體系開發(fā)合同4篇
- 二零二四年甲乙雙方關(guān)于城市商業(yè)綜合體裝修設(shè)計的合同
- 二零二五版充電樁場地租賃及電力接入合同樣本3篇
- 二零二五年度兒童教育玩具設(shè)計開發(fā)合同4篇
- 二零二五年度存量房買賣合同信息查詢與服務(wù)平臺協(xié)議4篇
- 二零二五年度電商會員體系代運營服務(wù)合同2篇
- 二零二五年度無人駕駛車輛測試合同免責協(xié)議書
- 2025年湖北華中科技大學招聘實驗技術(shù)人員52名歷年高頻重點提升(共500題)附帶答案詳解
- 黑龍江省哈爾濱市2024屆中考數(shù)學試卷(含答案)
- 高三日語一輪復(fù)習助詞「と」的用法課件
- 毛渣采購合同范例
- 無子女離婚協(xié)議書范文百度網(wǎng)盤
- 2023中華護理學會團體標準-注射相關(guān)感染預(yù)防與控制
- 一年級數(shù)學個位數(shù)加減法口算練習題大全(連加法-連減法-連加減法直接打印版)
- 五年級上冊小數(shù)遞等式計算200道及答案
- 2024年廣東高考政治真題考點分布匯 總- 高考政治一輪復(fù)習
- 冀教版五年級下冊數(shù)學全冊教學課件
評論
0/150
提交評論