|
| ||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||
☉作者╱余家銘
在科學思考與運算的世界裡,關心的現象若只牽涉單一因素,則可以用2D(二維)曲線解釋或逼近其時間演化,但在現實上,許多問題牽涉到多個因素變數,就至少必須利用3D(三維)的曲面來加以詮釋。 在過去老師們必須要依靠自身的「美術天份」和幾何思考將這些3D曲面畫在黑板上向同學解釋,現在則可以藉助電腦運算,把這些圖形更精確地描繪出來。 Mathematica即是一套提供這類數位教學能力的軟體。除了曲線以外,Mathematica也可以畫出任意的3D曲面,甚至把這些3D曲面輸出成網頁上的旋轉圖片,而協助學生瞭解多變數函數的特性,甚而引起學生對幾何代數的興趣,以下我們要介紹利用Mathematica輸出包含3D動態函數曲面的網頁的操作程序。 利用視覺上的影像暫留原理,可以製作出動畫的效果,也就是只要將許多張圖片快速地連續顯現,則就會產生好像是圖片內的曲面自己在動作一樣的效果,因此匯出動畫之前,必須先要製作出許多張的動畫「底片」,然後就可以利用Mathematica將這些底片圖片輸出成網頁動畫,在下面我們可以看到,這個輸出3D動畫的程序不要依賴到其他的軟體,就可以在Mathematica裡面單獨完成。 (有關Mathematica這個軟體簡介與相關指令規則操作,讀者可參考資訊時代每週日刊登的「軟體大觀園」專欄,距此最近一篇是十一月四日刊登的《利用Mathematica繪製2D動態曲線》一文) ■Mathematica 3D曲面繪圖與旋轉 點選Mathematica的圖示進入Mathematica之後,可以看見螢幕上方有一排功能表,右方有一個數理符號的浮動面版,使用者則可利用其左方的空白編輯區進行指令及文書編輯,在編輯區中之空白處用滑鼠點一下,就可以開始準備輸入所需的繪圖指令了。 首先,先畫出函數f(x,y)=x*x-y*y的曲面,也就是x變數平方值與y變數平方值的差額的3D繪圖,利用Mathematica內建的指令「Plot3D」可以處理大部分的3D函數曲面繪圖,現在請輸入指令(注意到大小寫要一樣): fig1 = Plot3D[x*x-y*y, {x, -3, 3}, {y, -3, 3}] 其中Plot3D指令的第一個引數x*x-y*y是要曲面繪圖的函數,第二引數{x,-3,3}則是指定圖片座標橫軸自變數x的繪圖範圍是從-3畫到3為止,第三引數{y,-3,3}是指定圖片座標縱軸自變數y的繪圖範圍也是從-3畫到3,然後我們在Plot3D指令的前面加上「fig1=」的文字,代表將要把繪圖產生的圖片命名為「fig1」。 輸入完上述指令後,同時按下Shift和Enter的組合鍵,這等於下令Mathematica馬上執行已經打好的指令,則如圖一所示,Mathematica會繪出一個含有座標軸的3D函數曲面,它是數學函數f(x,y)=x*x-y*y的具體顯示。 然後為了讓這個3D曲面產生不同角度的旋轉效果,我們需要先匯入Mathematica Graphics模組下的Animation套件,一樣輸入下面的指令後同時按下Shift和Enter組合鍵執行之: << Graphics`Animation` Block[{ $DisplayFunction = Display[$Display,#1]&, $RasterFunction = Display[$Display,#1]&, $AnimationFunction = Display[$Display,#1]& }, figlist=SpinShow[fig1]] 上面指令的第一行代表匯入了Animation套件,第六行的「SpinShow」則是將以之前完成的「fig1」圖片為目標逕行水平旋轉,每隔15度產生一張圖片(底片),所以產生共24張圖片,將這24張圖片命名為「figlist」。 因為SpinShow產生的圖片預設只會顯示在螢幕上,為了方便匯出動畫,必須加上第三行到第五行的指令,將結果轉換成一連串的物件,第二行的「Block」指令則是讓轉換物件指令作用可以在SpinShow指令上,也就是將SpinShow預設的只顯示圖片的設定,改變為不但顯示圖片,而且還同時把這些圖片都轉成串列物件(一連串的連續性檔案)。 Mathematica執行指令後會顯示出24張不同觀察點所產生的圖片,每一張圖片相較於前一張圖片,都順時鐘方向旋轉15度,在這24張任一張圖片中用滑鼠左鍵連點兩下,這24張圖片快速播放所產生的動畫效果,就會自動顯現。 為節省篇幅,本文圖例只列出相差60度所產生的六張圖片,分別是圖二到圖七。 ■匯出GIF動畫檔案 在依照上面的步驟製作完成一連串的「底片」後,現在我們可以將這些底片結合輸出成Gif89a格式的動畫檔案,Gif89a是網路上支援最廣泛的動畫圖檔格式,只要不是太舊的版本,不管是Netscape或者Internet Explorer 瀏覽器都可以開啟播放這種格式的檔案。 在Mathematica裡面輸入並執行下面的指令: Export["test.gif", figlist] 如上所示,「Export」指令接收兩個引數,第一個引數是產生的動畫檔名,副檔名必須要設定為.gif。 第二個引數則是輸出動畫所依據的圖片集合,也就是我們之前作的24張圖片物件的集合「figlist」。 執行指令後經過幾分鐘,我們就可以在Mathematica的安裝目錄底下找到一個名為「test.gif」的檔案,用滑鼠左鍵點選該檔案兩下,可以在Internet Explorer等瀏覽器中看到輸出的動畫效果。 如果不是用瀏覽器程式開啟test.gif檔案(例如可能是用影像處理軟體開啟),則可試著先開啟瀏覽器,再按下Ctrl和O的組合鍵,然後找到Mathematica安裝目錄下的test.gif加以開啟即可。 圖八面就是3D旋轉動畫在Internet Explorer之中開啟的情況: ■結論 上面所介紹的製作3D數學曲面的方法,不但有助於老師在教學上提供更清晰、精確且具體的素材,更重要的是,同學在學會Mathematica的這個輸出程序方法後,就可以對3D函數的曲面任意繪製與調整,因此將會透過對3D曲面的控制權的掌握,而在無形中對於多變數的函數問題增加更多的信心與興趣,這類的教學效益將是Mathematica等數位教學模式較傳統教學所能發揮的最大優勢。
(作者目前為某國立大學博士班研究生,電子郵件為yucalf@mail.educities.edu.tw,若有問題請逕予溝通賜教)
☉記者柯力心╱南投報導 歷經九二一大地震、桃芝風災等天災人禍,南投縣信義鄉東埔村的原住民部落遭受重創之際,並不灰心喪志,而在當地居民的同心協力下,逐步邁向復甦重建之路,其中「東埔布農文化促進會」積極籌設「電腦教室」,希望能藉此訓練部落人才,推動原住民教育、布農文化復振等工作。 上述規劃獲得台灣微軟公司的正面回應,延續從去年五月起發起的「學習e樂園」計畫,第一所原住民「學習e樂園」昨日於東埔村正式成立,所捐贈的十二台電腦軟硬體及列印設備,將提供予當地布農族居民使用。 為培養當地的資訊種子教師,實際協助他們運用資訊科技,台灣微軟號召公司員工組成志工團至東埔村服務,期盼能以行動縮小數位落差。 「東埔布農文化促進會」理事長林美秀指出,從今年三月起籌備組織立案事宜,主要是希望能爭取更多資源,推動部落的重建工作,然後在五月間透過電子郵件,對外募集電腦軟、硬體,期盼能建構電腦教室,讓部落的小朋友能與平地小朋友一樣,擁有接觸資訊科技的公平機會。 她表示,電腦教室籌設以來,陸續獲得華邦電子、奇美實業、台北建成扶輪社與台灣微軟的協助,終於落成,一方面提供布農小朋友免費的電腦學習及上網空間;另一方面,也希望協助部落的成人,在就業市場中,提升個人e化的競爭力,甚至扮演文史記錄者的角色,紀錄自己部落的文化。 台灣微軟表示,東埔「學習e樂園」內共架設十二台Pentium4等級的軟體,並安裝Windows 2000 Server、SQL Server 2000、Windows 2000 Professional、Office XP等軟體,同時提供帝王世紀、機甲爭霸戰、夢幻遊樂場、戰鬥模擬飛行、瘋狂程式賽車等遊戲軟體,盼能引發原住民小朋友電腦學習的樂趣。 除協助建置其內的電腦及網路設施外,台灣微軟還號召公司員工組成志工團下鄉服務,預定六位名額,然而當初消息一發出去後,立刻就有十多名微軟員工報名,最後只好用抽籤決定,成員包括技術、MSN網路服務與行銷等部門,志工團分別於昨天的「布農小朋友資訊營」及今天的「布農資訊種子志工訓練課程」中,貢獻自己的專長,協助專業的電腦技能訓練,能深入海拔一千一百公尺的玉山山區。 除電腦教學外,東埔布農族文化促進會也計畫在未來利用「學習e樂園」內的電腦,架設網站來發展農產品直銷及觀光產業。 由於東埔村的特產之一是玉山烏龍茶,促進會希望利用網路行銷的方式,為經濟狀況僅能維持日常開銷的村民,帶來另一項收入,而網站也可宣導東埔其他的觀光特色,促進當地觀光事業能更為繁榮。
| ||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||