MATLAB 在第四版引進了「握把式圖形(Handle Graphics)」的概念,之後就一路蓬勃發展,之後的各種工具箱及展示程式(Demos)都大量使用了以握把式圖形為主的圖形使用者介面,大大地增加了使用者操作的便利性。
握把式圖形的概念很簡單,就是將一個圖形的每一個組成元件都視為一個物件(Object),每一個物件都有一個獨一無二的「握把」(Handle),就像每一個人有一個獨一無二的身份證字號一樣。根據這個握把,我們就可以找到這個物件(即圖形元件)的各項性質,並進而更改這些性質以產生不同的圖形呈現效果,或定義滑鼠事件(Mouse Events)的反應指令(Callbacks)以產生各種滑鼠互動效果。
在握把式圖形的世界中,每一個圖形物件都是隸屬於一個階層結構(Hierarchy)下的某一個類別,此階層結構可圖示如下:
下圖即為此種階層結構的一個例子:
在上圖中,最上層的物件是 Root,代表電腦的桌面(Desktop),而每個桌面可以有多個 MATLAB 圖形視窗(Figures),所以我們通常定義 Figure 是 Root 的孩子(Child),而 Root 則是 Figure 的父親(或母親,Parent)。同理,每一個 MATLAB 圖形可以包含 UI(User Interface)控制元件(例如 Radio Button、Checkbox 等)、UI 選單、圖軸等,而每一個圖軸之下又可以包含影像(Images)、線段(Lines)、貼片(Patches)、曲面(Surfaces)、文字(Texts)及光照(Lighting)等。因此,我們只要能取得任一個圖形物件的握把,就可以找到此物件的父親或孩子,並進一步存取任一個物件的各種性質。在下一節中,我們將有更完整的範例介紹。
MATLAB程式設計:入門篇