摘要從MATLAB強大的作圖功能在解決二次曲面涉及到的圖像成圖的難點方面,以MATLAB二次曲面的概念和性質為理論基礎,以的畫圖功能為依托,以實例討論了MATLAB在二次曲面教學中的重要應用。
關鍵詞 MATLAB 二次曲面 程序 圖像
中圖分類號:G642文獻標志碼:A
Application of MATLAB in Teaching Quadric Surfaces
WANG Xiaowei
(Haidou College of Qingdao Agricultural University, Laiyang, Shandong 265200)
AbstractFrom the difficult side of MATLAB's powerful mapping function in solving mapping of images about quadric surfaces .Taking the concept and quality of quadric surfaces as the theoretic function, basing drawing function of MATLAB, this paper discusses the important application of MATLAB in teaching quadric surfaces.
Key wordsMATLAB; quadric surfaces; procedures; drawing
在學習二次曲面時,無論是老師還是學生都會在同一個問題上遭遇尷尬,那就是二次曲面的作圖。一方面,教師在用傳統教學方法講授時,二次曲面的畫圖不僅耗時費力,而且成圖效果也不是很好;而另一方面,學生在學習二次曲面時,很難對二次曲面的圖像做到很好的掌握。MATLAB作為一種工程軟件,在繪圖方面有很大的優勢。本文借助MATLAB,運用多媒體探討了二次曲面的作圖過程,從而提高學生學習的積極性,使學生能更好地掌握二次曲面的有關內容。
1 二次曲面的傳統教學
1.1 傳統教授二次曲面成圖的方法
二次曲面是指在三維坐標(x, y, z)下三元二次代數方程對應的所有圖形的統稱。最常見的二次曲面是球面和圓柱面及圓錐面,此外,二次曲面還有橢球面。雙曲面(分為單葉雙曲面和雙葉雙曲面)和拋物面(分為橢圓拋物面和雙曲拋物面,后者又稱馬鞍面)。傳統教學中,二次曲面在講圓柱的圖像時,可以用兩支粉筆舉例,在講桌上讓一支豎直平行繞另一支轉動,所成的圖就是圓柱的圖像。而圓錐的圖像則是在講桌上先讓兩支粉筆成“V”字形,再讓其中一支繞另一支轉動。但是在講到二次曲面的拋物曲面時,教師就很難用實物來展示圖像的形成過程,學生也感到很困擾。
1.2 傳統教授二次曲面成圖的局限
教學實踐告訴我們,傳統教授二次曲面成圖是有局限性的,其主要方面有:(1)教師板書不僅耗時費力,成圖效果不佳,而且許多曲面的形成過程與整體的視覺效果只通過傳統的教師講授,靜態圖示很難形象地表示出來。(2)圖像太抽象,不利于學生接受,從而使學生失去了學習二次曲面的興趣與信心。
2 MATLAB在二次曲面教學中的應用價值
2.1 簡介MATLAB的作圖功能與特點
(1)MATLAB強大的圖形表達功能。MATLAB不僅可以繪制一般的二維,三維圖形,還可以動態地表示出一些曲線形成的動態過程。(2)MATLAB作為一門編程語言,簡單易學。只要學過C語言,具有一般語言基礎的同學很快就可以掌握。
2.2 MATLAB在二次曲面教學中的作用
(1) 能提高教學效率和質量。(2)可以逐步培養學生的動手能力和空間想像能力。
3 MATLAB在二次曲面教學中的應用舉例
3.1 用MATLAB繪制二次曲面圖形
MATLAB的繪圖命令有許多,這里只選用三種最為簡單實用的命令舉例說明,并且根據二次曲面的方程特點,可以歸納成傻瓜式的模板模式,便于未接觸過編程語言的同學掌握。
(1)簡介MATLAB的三種繪圖語言。
surf(x, y, z),這里x, y, z是三個數據矩陣,分別表示數據點的橫坐標,縱坐標,函數值,命令surf(x, y, z)將該數據點所表示的曲面畫出。
plot3(x, y, z),這里x, y, z都是m*n矩陣,其對應的每一列表示一條曲線,命令Plot3(x, y, z)是通過空間描點連線畫出的多條曲線組成一曲面。
mesh(x, y, z),這里x, y, z是三個數據矩陣,分別表示數據點的橫坐標,縱坐標,函數值,命令mesh(x, y, z)將該數據點在空間中描出,并連成網格面圖。
(2)繪制二次曲面的編程說明。
任給一個二次曲面的方程,我們都可以將z用x,y的函數表示出來,可記作z = f (x,y),則可通過以下步驟編程:
x = ;y = ;
%創建從x1(y1)開始,加m(n)計數,到x2(y2)結束的行向量。
[X,Y] = meshgrid (x,y);
% 這里 meshgrid (x,y)的作用是產生一個以向量x為行,向量y為列的矩陣,注意的大小寫。
Z = (X,Y);(下轉第55頁)(上接第47頁)
%f(X,Y)要用C語言編輯
如果z =,可用hold on 命令,這時可分別在正負情況下定義z和z’為z = f (x,y)和z’= -f (x,y)。然后先在正號情況下畫一個圖,用hold on保持當前圖形,再在負號情況下繼續畫圖到當前的圖上。
(3)舉例繪圖。
例1 畫出方程為 ++= 1的單葉雙曲面
成圖:(如圖1)
(4)成圖效果分析:
利用MATLAB成圖后,可點擊工具欄中的Rotate 3D,然后上下左右拖動圖象旋轉,我們就可以看到同一圖像在不同角度的視覺效果。下面是同一雙葉雙曲面在不同角度的視覺效果:
圖2
3.2 用MATLAB演示二次曲面成圖的動態過程
用MATLAB可以演示二次曲面成圖的動態過程使MATLAB在二次曲面教學中的應用性更強。這里我們主要以圓球面為例,介紹MATLAB演示二次曲面成圖的動態過程。
舉例演示:
演示將圓繞短軸(z軸)旋轉所得球面的形成過程。
成圖效果分析:
圖3
通過圓球面的動態成圖效果可以看出,借助MATLAB的動態模擬成圖功能,能把曲面的形成過程和變化過程準確形象地模擬出來,從而使學生更好的掌握。
4 結語
MATLAB是二次曲面教學的一個有力的輔助工具。運用MATLAB作二次曲面的空間圖形及其動態成圖過程,不僅可以使抽象的問題形象化,而且可以培養學生創新意識和創新能力,激發學生的學習興趣。
參考文獻
[1]趙靜,但琦主編.數學建模與數學實驗.高等教育出版社,2003.
[2]呂林根,許子道等編.解析幾何.高等教育出版社,2003.
[3]張威.MATLAB基礎與編程入門.西安電子科技大學出版社,2004.
[4]沈陽大學數學與計算機系.張瑩.淺談MATLAB在復變函數論中的應用.