嚴靜 錢克仕



摘? ? 要:針對高等數學空間解析幾何教學中的常見問題,介紹了Matlab在繪制曲面的交線和曲面圍成的幾何體、制作旋轉曲面形成過程動畫等方面的應用,并且給出了相應的Matlab程序代碼。運用Matlab的繪圖和動畫制作功能輔助幾何教學,極大地提高了教學效果。
關鍵詞:Matlab;繪圖;動畫
中圖分類號:TP391.72? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ?文章編號:2095-7394(2020)04-106-05
在學習高等數學課程中的“空間解析幾何與向量代數”內容時,需要繪制大量的空間圖形。如果教師僅僅用板書的教學手段,對于一些復雜的空間圖形的教學相當困難,要畫在黑板上,頗要一定的功力和時間,而且即使畫出來了,圖形也不是很直觀,也不能隨意地變換角度去觀察。而對學生來說,如果不知道這些空間圖形的形狀和相對位置,將會影響多元函數積分的學習。借助計算軟件Matlab,我們就可以輕松解決這些問題。
Matlab是美國Math Works公司出品的商業數學軟件,它是當今最具影響力的科學計算軟件[1]。Matlab具有強大的繪圖功能,高等數學中的各種圖形,包括空間曲面和曲線都可以精準地描繪出來。有了這個工具,可以使得空間解析幾何和多元函數積分學這部分教學內容變得直觀生動,既培養了學生的空間想象力,又提高了學生的學習興趣和教學效果。除了強大的繪圖功能,Matlab還具有精巧的動畫制作功能,在講授旋轉曲面的概念時,教師可以動態地演示旋轉曲面的形成過程,從而加深學生對所學內容的理解。利用Matlab進行高等數學的輔助教學已經做了很多探討[2-4],但是側重點各有不同,文獻[2]側重于曲面位置關系的判定,文獻[3]側重于對曲線在幾何直觀上的體現,而文獻[4]則是利用挖補的方法解決某些特殊的繪圖問題。
高等數學中一元函數和多元函數的微積分、解常微分方程、無窮級數等都可以利用Matlab計算。本文主要探討利用Matlab的繪圖、動畫制作功能進行空間解析幾何教學中常見曲面問題的輔助教學。
1? ? 利用Matlab的繪圖功能進行輔助教學
Mesh grid是Matlab中用于生成網格采樣點的函數,可以是二維網格矩陣,也可以是三維,在使用Matlab進行3D圖形繪制方面有著廣泛的應用。對于空間曲線和曲面,根據其參數方程,先利用mesh grid函數生成繪制3D圖形所需的網格數據,再運用plot3、surf或mesh函數就可以畫出空間曲線、曲面。
Matlab提供了設置視點的函數view,可以獲得最佳的視覺效果,從不同角度觀察空間圖形。如view(0,0)為正視圖,view(90,0)為側視圖,view(0,90)為俯視圖,view([x,y,z])還可以將點(x,y,z)設置為視點。
在畫空間曲面時,為了觀察內部曲面的形狀,可以把外部曲面設置為透明狀態。Matlab中的alpha函數,可以用于設置在當前坐標軸上對象的透明度屬性,使用格式為alpha(v),v可取0~1之間的數值,0為完全透明,1為不透明,0.5為半透明。
在高等數學的教學中,學生在涉及空間幾何計算時經常有如下幾個需要解決的問題。
問題1:利用重積分計算空間立體的體積時,需要搞清楚立體上下左右的曲面分別是哪一張,位置關系如何?例如,計算曲面[z=x2+2y2]和[z=6-2x2-y2]所圍立體的體積。
曲面[z=x2+2y2]和[z=6-2x2-y2]所圍立體見圖1,可以很清楚地看到上下曲面片分別是[z=6-2x2-y2]和[z=x2+2y2],并且也可以看到立體在[xoy]面的投影區域,即兩張曲面的交線在[xoy]面投影所圍成的區域。
問題2:利用重積分計算曲面片的面積時,很難想象兩張曲面相交后出現的是怎樣的一張曲面片,如何去尋找準確的曲面片的邊界及其投影面用以建立二重積分?例如,計算圓錐面[z=x2+y2]被拋物柱面[z2=2x]截得的曲面片面積。
圓錐面和拋物柱面的交線如圖2,可以很清楚看到拋物柱面[z2=2x]是如何截取圓錐面[z=x2+y2]的,而被截得的那一小片曲面在[xoy]面的投影區域也是兩張曲面的交線在[xoy]面投影所圍成的區域,從而可以幫助我們建立正確的積分表達式來計算曲面片的面積。
2? ? 利用Matlab的動畫設計功能進行輔助教學
在Matlab中,旋轉曲面每一條母線對應了矩陣中的一列數據,利用mesh(X(:,i-1:i),Y(:,i-1:i),Z(:,i-1:i))或者surf(X(:,i-1:i),Y(:,i-1:i),Z(:,i-1:i))[5]把旋轉曲面矩陣的一列列的數據依次畫出來,可以形成旋轉曲面的動畫效果。
問題3:在計算旋轉體的體積時,題目往往只給出某條曲線繞哪條直線旋轉而成的旋轉體,需要想象出整個立體圖形。例如,要計算[xoy]面上圓面[(x-2)2+y2≤1]繞[y]軸旋轉一周所成的旋轉體的體積。
圓環面形成動畫的截圖見圖3。通過觀察上述旋轉體形成過程的動畫,我們就能分析出解決問題的方法,可以利用兩個曲邊梯形繞[y]軸旋轉的體積差來計算該輪胎狀立體的體積,這兩個曲邊梯形的頂也就是這個圓周線的左右兩半邊。
此外,在高等數學中很多復雜的曲面形成過程如果能以動畫的形式呈現在學生面前,無疑比枯燥的板書和講解更容易讓學生接受,課堂氛圍也更活潑。
3? ? 討論
用Matlab繪制空間圖形簡單易學,繪出的圖形準確直觀,圖形立體性強,不同的圖形可以渲染不同的顏色,表現力強,可以彌補手工作圖的不足。利用Matlab制作旋轉曲面動畫直觀、生動、準確,能夠動態展示旋轉曲面的形成全過程,彌補了靜態視覺的不足。在高等數學的教學過程中,關于重積分和曲面積分的教學一直是個難點,最大的問題就在于學生的空間想象力不足,對于一些二次曲面的形狀和方程不夠熟悉,利用Matlab進行空間解析幾何的輔助教學,可在很大程度上幫助學生熟悉空間幾何體的結構,從而建立正確的積分表達式。
參考文獻:
[1] 王沫然. MATLAB與科學計算教程[M]. 北京:電子工業出版社,2016.
[2] 趙亞男,牛言濤. MATLAB在解析幾何教學中的應用[J].長春大學學報(自然科學版),2011(4):54-58.
[3] 徐曉華,胡曉飛. MATLAB數據可視化在高等數學中的應用研究[J]. 昭通學院學報(自然科學版),2013 (5):41-44.
[4] 段俊生,安建業,徐立. MATLAB曲面繪制中的挖補方法[J].大學數學,2006, 22(4):36-39.
[5] 向修棟,付云芝. 在matlab中實現旋轉曲面的動畫設計[J].計算機技術與發展,2011, 21(3):52-55.
責任編輯? ? 祁秀春